Skip to content
 
 

Repository files navigation

PttChrome(增強版)

Deploy to GitHub Pages CodeQL Dependabot Updates

在瀏覽器上直接連 PTT 的網頁版終端機,fork 自 robertabcd/PttChrome,並加上一系列閱讀與使用體驗的增強功能。


✨ 功能特色

以下是本版本相較原版新增的功能,多數可在「偏好設定」中開關。

  • 📖 好讀模式 — 文章自動翻頁、整篇連續捲動閱讀,像看網頁一樣順。(重構並修復了許多顯示問題;可自訂「跳到文末並切回原生模式」的熱鍵,預設為 F8;按 h 說明、o 選項、/ 搜尋、; 指定頁數等 pmore 功能鍵在好讀模式下也能正常使用,會直接顯示原生選單。)
  • 📜 文章列表好讀模式(實驗性) — 外觀近似原生列表(24 行畫面、行首 ● 游標),黑名單命中的文章整列被隱藏、由前後文章補滿畫面;翻頁/移動游標純本地零延遲,背景自動預讀前後頁;按 Enter 直接開啟選取的文章(含置底文);滾輪比照原生(滾動=上下移動、按住右鍵滾=翻頁);數字跳號用網頁式輸入框收參(畫面不閃原生);其餘按鍵(/ 搜尋、v 標已讀、[ ] = 同標題跳文、Ctrl-P 發文等)單按即自動同步游標並切回原生模式執行;之後停留在原生模式操作(避免畫面來回切換閃動),開啟文章或離開看板再回列表時自動恢復好讀。已知限制:僅支援 24 列標準終端機大小。
  • 🖼️ 自動開圖/影片預覽 — 文章裡的圖片、影片連結自動顯示預覽,支援各大圖床直連、imgur 相簿、Twitter、YouTube、Twitch 等。圖片載入失敗時會自動重試,全部失敗才顯示可點重試的提示(不再靜默變空白,方便分辨「載入失敗」與「還在讀取」)。點任一張自動開圖的圖,整篇圖片就一起放大到視窗寬度(高度等比拉長)方便看細節,再點一下縮回小圖;換文章或退出再進會回到預設小圖。
  • 📑 翻譯漫畫圖文並排 — 好讀模式偵測到「圖片連結+下方翻譯文字」重複結構的文章(常見於翻譯漫畫文)時,右下角出現「圖文並排」浮動按鈕;點一下把每張圖與其翻譯合併成左圖右文兩欄,翻譯欄會跟著捲動固定在視野內,看長條漫畫不用再上下滾動對照。翻譯欄寬度會依最寬的翻譯行自動調整(文字不換行)。「上圖下文」與「上文下圖」兩種排版都支援:按鈕三段循環——第一下用「上圖下文」配對、再點改「上文下圖」配對、第三下還原;跟點圖放大一樣,退出文章或換文章就自動恢復預設。
  • 🤖 圖文並排的裝置端 AI 校正(實驗性,需 Chrome) — 翻譯常被空行切成好幾段,純規則只會把「緊貼圖片的那一段」搬進右欄,剩下的翻譯還是留在下面。開啟後右下角多一顆「AI 校正配對」按鈕,用 Chrome 內建的裝置端 AI(Gemini Nano,完全在本機跑、不會把文章傳到任何伺服器)判斷「圖片後面(前面)的哪幾段還在講這張圖」,把整段翻譯一起搬進右欄。規則結果會先畫出來,AI 算完再逐張補正,不會卡畫面;AI 答不出來就維持原本的規則結果,內容零遺失、再按一次即還原。需在「設定 → AI」先開啟「啟用裝置端 AI」(會開始下載模型,數 GB、只下載一次),再勾選這項功能;其他瀏覽器或裝置不符需求時整頁選項都會反灰、按鈕不會出現,行為與沒有這個功能時完全相同。
  • 🔢 推文樓層編號 — 好讀模式下幫推文標上樓層號,跨頁也連續準確。
  • 🧵 連續同作者推文自動合併 — 好讀模式下,同一人連續發的多則推文合併成一塊,去掉一再重複的帳號與時間,讀起來像一則完整留言:一則一行,第 2 則起自動對齊第一則的內容起點;作者只顯示在第一則、時間只顯示在最後一則(位置與配色比照原生,可以正常選取複製);樓層徽章只標該段第一則。推文裡的圖片一樣自動開圖,且跟在該則連結的下面(跟文章內文一致)。只合併「連續」同作者,跨作者各自分開;可在「設定 → 增強功能」關閉。
  • 🌟 高亮原PO推文/點選推文者 — 自動高亮原PO本人的推文;點任一推文列,會高亮該推文者在本篇的所有推文(再點一次取消)。
  • 🚫 黑名單 — 隱藏指定帳號的推文。看板列表中該帳號的發文:原生模式顯示為「(本文已被黑名單)」(比照被刪除文的樣式,不再反黑);文章列表好讀模式則整列隱藏。
  • 🏷️ 標題黑名單 — 在看板文章列表中,過濾標題含有指定關鍵字的文章(一行一個關鍵字,不分大小寫):原生模式顯示為「(本文已被黑名單)」,好讀模式整列隱藏。
  • 🖱️ 黑名單右鍵快速新增 — 在看板列表對作者欄右鍵可直接把該作者加入黑名單(已在黑名單則反灰提示);對標題欄右鍵會跳出輸入框、自動帶入該篇完整標題供編輯後加入標題黑名單;在文章內對推文者 id 右鍵也可直接加入。不用再開設定手動輸入。
  • 🔗 自動修復斷掉的連結 — 作者貼錯、或中間被空白截斷的網址,會在原文下方補上一行可點的修復版連結(好讀模式)。有網址路徑的(example.com /badpath.jpg)一律修;至於「只靠一個空白才看得出是網址、又沒有路徑」的候選(www . a .com),因為和英文句子的句號長得一模一樣(Call of Duty. It does not. 會被誤看成 Duty.It.it 是義大利網域),預設不修,需要時可在「設定 → AI」開啟下一項的裝置端複核,由 AI 判斷後放行。
  • 🌐 沒寫 https:// 的網址也自動連結 — 作者只打 indiegametw.comeaigc.filtergame.com 這種裸網域時,原位直接變成可點連結(不另外加行,好讀與原生模式都有)。內建判斷會跳過「只是在文中被提到」的網域(※ 發信站 那類系統行、被括號包住的 (ptt.cc)、電子郵件的網域部分)。另可在「設定 → AI」開啟裝置端 AI 複核(Chrome 內建 AI,需先用同一頁的「啟用裝置端 AI」下載模型),它同時管上面那項修復功能:判斷句子裡的網域是「作者要你去看的網站」還是「單純提到的名字」(減少誤判的連結),以及被空白打斷的那串到底是不是網址(放行真的斷掉的網址)。關閉或不支援時,兩邊都退回不需要 AI 的保守結果。
  • 🌏 自動連結支援中文網址 — 像 https://zh.wikipedia.org/wiki/戈黛娃夫人 這種路徑帶中文的網址,整段(含中文)都會做成可點連結,不再斷在中文字前面;遇到全形標點(。,、等)自動判定為句子結束、不會把後面的中文內文誤吃進連結。
  • 𝕏 @帳號自動連結 X/Twitter — 文章內文與推文裡的 @帳號,自動做成連到 x.com 的橘色連結。
  • 🔖 文章代碼(AID)一鍵跳文 — 好讀模式中,內文與推文裡的 #文章代碼(如 #1gIeu-3A (Android))自動做成連結;點一下自動切換到該看板並開啟該篇文章(沒寫看板就用目前文章所在的看板)。過程中顯示原生畫面並暫時鎖住輸入,失敗會提示並停在原生畫面。
  • 🎁 Steamgifts 抽獎代碼自動連結 — Steam 板 [抽獎] 文裡獨立成列的 5 碼 giveaway 代碼(如 jQtf0),自動做成連到 steamgifts.com/giveaway/代碼/ 的可點連結(網站會自動導向完整網址);只在文章有提到 Steamgifts 時才啟用,避免誤判一般文字。
  • 🔐 記憶帳密/自動登入 — 開啟網頁時自動登入;密碼存在瀏覽器的密碼管理員,不會上傳雲端(詳見下方說明)。
  • 🔑 兩階段驗證 (2FA) 自動填入 — 帳號有開 PTT 兩階段驗證時,可存入 TOTP 密鑰,登入時自動算出 6 位驗證碼填入;也可以留空,只自動填帳密、驗證碼自己輸入。
  • ☁️ 偏好設定雲端同步 — 用 Google 登入後,設定會同步到雲端,換瀏覽器或裝置都不會遺失(PTT 密碼絕不上傳)。
  • ⚡ 透過 Proxy 連線 — 內建 Proxy 連線開關,免裝任何擴充即可繞過連線限制(詳見下方)。
  • 🖼️ imgur 圖片載入代理(預設開啟) — imgur 的 CDN 把台灣流量導到美國,同一張圖偶爾會卡住 9~24 秒。開啟後 imgur 圖片改由本專案的 Cloudflare Worker 轉發並快取,可消除這種卡住的情況(一般情況下的載入速度不會變快)。該服務會看到你的 IP 與所讀取的圖片位址,但不留存任何紀錄;代理失效時會自動退回直連 imgur,影片(mp4)一律直連不經過代理。可在「偏好設定 → 連線」關閉,或改填自己架的位址(留空即用內建的,刪空就回到預設;自架見 proxy/imgur-worker)。
  • 🌓 暗色/淺色主題 — 設定、選單等介面全面採用現代化元件,預設為暗色主題;可在「偏好設定 → 介面 → 主題」切換淺色/暗色/跟隨系統。
  • 🕶️ 上班模式 — 在「偏好設定 → 本機設定」開啟後,畫面上 BBS 的高彩度顏色(黃推文、藍標題、反白色塊等)全部換成低調的暗灰色系,遠看就像一般的暗色網頁。僅影響顯示、不影響任何功能;此設定只存在本機、不會被雲端同步(每台裝置可各自開關)。
  • 🐞 Debug 錄製模式 — 在「設定 → 關於」開啟後,主畫面出現錄製按鈕;可把連線收發資料與程式狀態錄成檔案下載,回報難重現的 bug 用。此開關不會被儲存,重新整理後自動關閉;下載前會自動遮蔽已知帳密與 IP。

🛠️ PTT 三方網頁版連線修復指南

為什麼會這樣? 因為 PTT 系統會檢查你是從哪裡連線過來的。如果你的連線來源不是官方網站,就會被擋在門外。

我們要怎麼解決? 原理很簡單!我們只需要透過一些小工具,讓瀏覽器「假裝」我們是從 PTT 官方網站 (https://term.ptt.cc) 連線過去的,就可以順利進入 PTT 囉!

這裡提供兩種最簡單的解決方法,請擇一使用即可:


🌟 方法一:安裝擴充套件(強烈推薦,最穩定!)

這個方法是透過安裝一個安全的瀏覽器擴充功能(以 Requestly 為例),來幫我們自動「假裝」成官方連線。只要設定一次,以後就可以像平常一樣順暢上 PTT 了。

步驟說明:

  1. 安裝 Requestly 擴充功能 請先在你的瀏覽器(如 Chrome, Edge 等)安裝 Requestly 套件 並登入。
  2. 匯入自動設定檔 安裝登入完成後,點擊下方我們準備好的「一鍵設定連結」: 👉 點我匯入 PTT 連線設定
  3. 儲存並啟用 點擊連結後,畫面會跳轉到 Requestly 的頁面,請按下右上角的 「Import to my rules」(匯入)。
  4. 完成! 現在你可以重新打開你的第三方 PTT 網站,應該就能順利登入了!

💡 技術細節(給想知道原理的人): 其實這個套件只是在每次連線到 PTT (wss://ws.ptt.cc/bbs) 時,自動幫你把身分標籤(Origin)改成官方的 https://term.ptt.cc 而已,非常安全。


⚡ 方法二:使用內建 Proxy(免安裝擴充)

如果你不想安裝任何擴充套件,本站已內建 Proxy 連線功能,透過代理伺服器幫你轉發連線,不必安裝、不必另外架站。

如何使用:

  1. 在畫面上按右鍵 → 選擇「偏好設定」。
  2. 切換到「連線」分頁。
  3. 勾選「透過 proxy 連線 (重新整理後生效)」。
  4. 下方的「Proxy 位址留空就會使用內建的公開代理伺服器(欄位裡淡色顯示的那個位址),直接重新整理網頁就會生效。
    • 如果你有自己的 proxy,也可以填自己的:可以是網址(例如 your-proxy.example.workers.dev),或完整的 wsstelnet://主機/路徑
    • 填了之後想改回預設,把欄位整段刪空即可。

⚠️ 注意事項:

  • 連線是在開啟網頁的當下建立的,所以修改設定後一定要重新整理網頁才會生效。
  • 透過代理伺服器連線時,連線速度會受到代理伺服器影響,比直連稍微慢一點點是正常的!

🔐 自動登入/記憶帳密

在「偏好設定 → 自動登入」分頁勾選「開啟網頁時自動登入」,並在同一頁下方填入帳號、密碼(以及 2FA 密鑰,若有),之後開啟網頁就會自動幫你登入。

密碼是怎麼儲存的?

為了安全,密碼不會長期以明文存在你的電腦裡,而是交給瀏覽器內建的密碼管理員保管:

  • 第一次儲存時,瀏覽器會跳出「是否儲存密碼?」的提示,請務必按「儲存」,自動登入之後才讀得到密碼。
  • 你填入的內容會先暫存在本機,等到下次自動登入時真的從密碼管理員讀回來,才會自動清掉本機那份。所以設定頁的欄位空白代表「已交給密碼管理員保管」,不是沒存成功(欄位的提示文字也會說明目前狀態)。
  • 要更新帳密時,直接重新填入即可;關閉設定頁時瀏覽器會跳出「更新密碼」提示。
  • Chrome:使用 Google 密碼管理員,支援最完整。
  • Edge:目前有個 bug,密碼可以存、但讀不回來(自動登入可能會失效)。
  • 其他不支援密碼管理員的瀏覽器(例如部分 Firefox/Safari):會退而以明文存在本機且不會自動清除,請只在自己的個人裝置上使用(設定頁有「清除本機暫存的登入資訊」按鈕)。

兩階段驗證 (2FA)

如果你的 PTT 帳號開了兩階段驗證,可以把 TOTP 密鑰填進「兩階段驗證密鑰」欄位(16 碼的 A-Z 2-7,或直接貼 PTT 給你的整段 otpauth:// 網址),登入時就會自動算出當下的 6 位驗證碼填入。

  • 留空也完全可用:自動登入會填完帳號密碼、停在驗證碼畫面,讓你自己輸入 6 碼,不會亂送按鍵。
  • 安全取捨:密鑰會和密碼存在同一個密碼管理員,等於放棄第二道關卡對「密碼管理員被攻破」的保護(對 PTT 端密碼外洩仍然有保護)。密鑰屬於長期憑證,一旦外洩必須重設 2FA 才能作廢。在意的話就留空手動輸入,或在 PTT 端把 2FA 設成「只有新 IP 才驗證」。
  • 8 位數的「救援碼」是一次性的,不會自動填。
  • 驗證碼連續兩次被拒(密鑰填錯或電腦時間不準)就會停手,把鍵盤交還給你——PTT 給 5 次機會,剩下的留給你手動輸入。

注意事項:

  • 需要在安全環境下使用(網址是 localhosthttps:// 的網站)。
  • PTT 密碼與 2FA 密鑰絕對不會上傳雲端,即使你開啟了「偏好設定雲端同步」也一樣。
  • 另外可以設定:偵測到「重複登入」時要不要踢掉其他連線、以及是否自動跳過歡迎畫面(這兩項會雲端同步)。

About

A GNU/GPL telnet client for connecting to BBS site ptt.cc (forked from iamchucky/PttChrome).

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages