QuickGo 外鏈直達實測:自動跳過巴哈姆特與知乎的轉址警告頁

QuickGo 是開源 MIT 授權的瀏覽器擴充,自動跳過知乎、CSDN、巴哈姆特等 55 個網站的外鏈轉址警告頁。實測安裝後點擊巴哈姆特外鏈確實 1.5 秒直達目標,但同一瞬間擴充會向 Google Analytics 端點回報一筆帶固定識別碼的事件,而且設定裡沒有關閉開關。GitHub 版本停在 3.4.0,商店版已是 3.5.0,想審計的人看的是舊碼。

用 AI 摘要這篇文章:

我把 QuickGo 從 Chrome 線上應用程式商店抓下來,裝進一個隔離的測試瀏覽器,然後點了一個巴哈姆特的外部連結。原本預期會先停在「即將開啟下列連結」那個提醒頁,按一次確定才能離開。實際狀況是分頁直接落在目標網站,警告頁連出現的機會都沒有,全程在 1.5 秒內。

同一段時間,連線紀錄裡多了一個請求:這個擴充功能正把一小包資料送往 Google Analytics 的收集端點,內容是一組固定不變的識別碼,加上 redirect 這個事件名稱。QuickGo 做到了它在商店頁承諾的事,也多做了一件說明頁半個字都沒提的事。這篇就把這兩件事一起攤開,裝或不裝,你可以自己判斷。

一鍵直達是真的:巴哈姆特警告頁連現身的機會都沒有

先講對照組。同一條轉址連結,在乾淨的瀏覽器裡打開,巴哈姆特會先給你一個系統訊息頁:即將開啟下列連結、目標網址,加上那句紅字提醒「不明連結可能包含惡意程式」。你看清楚、按了確定,才真正離開巴哈姆特。這是站方留給使用者的反悔機會,也是許多不熟網路生態的使用者唯一會停下來看的一頁。

QuickGo 外鏈直達實測:巴哈姆特外鏈轉址提醒頁對照畫面,未安裝擴充時會先停在這頁按確定Pin
巴哈姆特的外鏈轉址提醒頁(未安裝擴充時的對照畫面),QuickGo 會把這頁整個跳過

裝上 QuickGo 之後再點同一條連結,這一頁整個被略過。新分頁開起來就是目標網站,我攔到的導航紀錄顯示瀏覽器根本沒把巴哈姆特那頁完整載入。擴充功能在導航開始的瞬間就攔下網址,從網址參數裡解出真正的目的地,直接把分頁指過去。README 宣稱它靠導航事件裡最快的時機搶在頁面載入前動手,從這次實測看,這個宣稱成立,體感就是無感。

它抓時機的方式值得多講兩句,因為這是全部魔法所在。瀏覽器開一個網址時會依序發出幾個事件,QuickGo 同時掛了三個監聽:分頁剛建立時、導航剛開始時、頁面狀態更新時。原作者在程式碼註解裡寫得很直白:重新整理靠導航事件,從別的軟體點連結開新分頁靠建立事件,而遇到伺服器直接轉址的站台,得靠狀態更新事件補網。三個都掛,是為了在各種開連結的方式下都不用等頁面回應就動手。攔到之後的判斷全在本機做:比對網址、抽出參數、解碼、轉向,沒有任何伺服器往返,所以快。

這條結論的根據先說清楚:我實際驗證的只有巴哈姆特這條規則,跑的是商店目前的發布版,樣本就一次。知乎、CSDN 這些規則沒有實測,repo 的 issue 裡還有人回報未登入知乎或 CSDN 時跳轉不生效,這類站台把外部連結的行為跟登入狀態綁在一起,變數比巴哈姆特多。可以確定的是機制本身:它只對規則命中的網址動作,沒命中就什麼都不做,頁面照常載入。

55 條內建規則:中國平台佔大宗,巴哈姆特也在清單上

把商店版解包、逐條清點內建規則,數字是 55 條。其中 47 條是單純的網址比對:看到 link.zhihu.com 這類轉址頁,就從指定的參數裡把目標撈出來,423down 那條撈出來還要再解一段 base64,微博的連結比較囉嗦,要連試三種參數名。另外 7 條要等頁面上的程式跑完才能解出目標,微信的連結確認頁就屬於這種。分類不用記,重點是清單的組成。

這 55 個站台,大宗是中國的內容與開發社群:知乎、CSDN、掘金、簡書、微博、微信、騰訊雲、阿里雲開發者社群、豆瓣、語雀、石墨、嗶哩嗶哩遊戲,一路列下去。這些站的轉址頁有個共同長相:先跳到一個「安全中心」或「即將離開本站」的確認頁,目標網址縮在參數裡,你要再點一次「繼續訪問」才真的離開。對岸技術圈把外部連結的導流管得很緊,這個確認頁就是管制的副產品,QuickGo 的 55 條規則幾乎都是為了拆這一頁。

台灣開發者其實很常撞到這批站台。搜尋引擎查錯誤訊息,前幾筆經常是 CSDN 或知乎的討論,文中引用的原始出處連結一點下去,先到的就是那頁確認;想看別人 GitHub 上的範例,得先在掘金或簡書的提示頁再按一次。這不是在地站方做的攔截,而是內容平台的政策,QuickGo 處理的正是這一層。

在地名單上有幾個大家更眼熟:巴哈姆特、YouTube 說明欄連結、Steam 社群、Telegram、Instagram、LinkedIn。換句話說,如果你常讀對岸的技術文章、常從知乎或 CSDN 的引用連出去,命中率很高;如果瀏覽範圍多半繞著本地網站打轉,日常用得到的大概就是巴哈姆特那條,因為巴哈的討論區和 GN 新聞每天都要外連。國際站的規則也不是湊數。YouTube 影片說明欄的外連走 youtube.com/redirect,目標塞在 q 參數裡;Steam 社群的外連經過 linkfilter 頁;Telegram 的即時預覽連結有自己一層包裝。這幾頁對一般使用者的干擾不大,但對天天在這些平台上追連結的人,少按一次就是少按一次。

遇到沒支援的站台,側欄可以自己加規則:點擴充圖示開側欄,按建立,目前網址通常自動帶好,補上轉址參數名就能存檔,重新整理後生效。參數名找法不難:在轉址頁的網址列裡,問號後面通常會有 target 或 url 之類的欄位,後面接著一串編碼過的目標網址,那個欄位名就是答案。側欄的規則清單每一條都可以單獨停用,也會顯示各自的跳轉次數,這個數字只存在你自己的瀏覽器裡,不上傳。

QuickGo 側欄介面官方截圖:知乎掘金簡書等網站規則清單與跳轉次數統計Pin
QuickGo 側欄介面(專案官方截圖):內建規則清單、逐條停用與跳轉次數統計

自訂規則也是這個專案的保險機制。內建規則綁定的是每個站台轉址頁的固定格式,站台一旦改了格式,規則就悄悄失效,頁面照常停在確認頁,不會壞、只是回到原狀。原作者一年三個月沒有提交新程式碼,這段期間站台格式有沒有漂移,沒有人整理清單可以對答案,所以遇到失效的規則,最快的解法往往就是自己在側欄補一條。

原始碼裡的交換條件:每跳一次就回報一次,沒有關閉開關

現在講說明頁沒寫的那件事。翻原始碼會看到一個事件回報器:安裝後首次使用會產生一組隨機識別碼,存在擴充功能的本地儲存裡,之後就跟著你。每次跳轉發生,擴充功能就往 Google Analytics 的收集端點送一個請求。我實測攔到的那包長這樣:

POST https://www.google-analytics.com/mp/collect?measurement_id=&api_secret=

{"client_id":"cd8ea902-…","events":[{"name":"redirect","params":{"time":"…"}}]}

側欄裡的操作也各有對應事件,從新增規則、編輯、停用到換介面主題,一共九種。

這件事有兩個細節,一個讓它比聽起來輕,一個讓它比聽起來重。輕的是回報內容就只有識別碼、事件名稱、時間,換主題的事件會多帶一個主題名,但都不含你拜訪的網址,也不含頁面內容;而且我解包的這個商店版本裡,Google Analytics 的兩個設定值是空字串,等於信照樣寄出門,收件人欄位卻是空白,目前沒有帳號能記。從原始碼看,這兩個值是在打包時從建置變數填進去的,作者上架時沒有填,就整包留白。重的部分是這個機制沒有開關:設定頁能調的只有 32 個介面主題,你找不到任何把回報關掉的選項。而擴充功能的更新是自動的,哪天新版本把設定值補上,統計就開始成立,不用再問你一次。

這個設計值不值得在意,看你的威脅模型。回報裡沒有瀏覽紀錄,識別碼也只是擴充功能自己生的隨機碼,跟你的帳號無關;但「每次跳轉都跟 Google 說一聲」這件事本身,對有些人就是不舒服,何況它沒給你選擇。開源授權讓你可以自己 fork 一份把回報器拔掉再自己打包,這是工程師的解法,一般使用者沒有。

還有一個小地方順便說:側欄的網站圖示會向第三方圖示服務 faviconextractor.com 要求,等於把你規則清單裡的網域讓這個服務看一眼。影響不大,但對這類外送敏感的人應該一起知道。

想親眼確認上面這些行為的人有路可走。有技術背景的話,在瀏覽器的擴充功能管理頁找到 QuickGo 的背景服務,開檢查工具,網路面板過濾 analytics 這個字,點一條轉址連結就會看到同一個請求出現;不想動工具的人,最保守的做法是先裝在日常用的瀏覽器以外的那個,用幾天再決定要不要搬到主要環境。

上架版領先公開原始碼:能審的是舊碼,跑的是新包

QuickGo 在 GitHub 上以 MIT 授權開源,785 顆星、29 個 fork,這些都是真的。但對照之下有個落差:GitHub 上的版本停在 3.4.0,最後一次提交是 2025 年 6 月 29 日;商店架上跑的是 3.5.0。你裝的版本比公開原始碼新一階,中間改了什麼,從 repo 看不出來。對一般使用者無感,對「開源所以可審計」這句話是實質打折扣:能審的是舊碼,跑的是新包。這個落差不用相信我說的,自己就能對:商店頁上有版本號,repo 的 package.json 裡也有一個,兩邊擺在一起看就知道差多少。

專案收訊但沒有在動。2025 年 10 月跟 11 月還有使用者留言問 Firefox、Safari 支援,repo 沒有出現任何回應的提交。商店那頭仍然活著:約 4,000 人安裝,評分五顆星,但樣本只有 7 則,參考價值有限;Edge 外掛商店也找得到它。實際意義是東西能用、商店會更新,但別期待功能很快長出來。

介面語言也要先知道:只有簡體中文跟英文兩種,沒有繁中。功能都看得懂,但側欄選項對繁中使用者就是少一分親切。

每天在知乎 CSDN 之間打轉的人裝了有感,長輩的電腦別裝

適合的人很明確:你每天讀中國技術社群的文章,被轉址頁攔到煩,而且讀完上面的交換條件覺得可以接受。裝了之後成功的樣子很具體:在 CSDN 讀到一篇引用 GitHub 專案的文章,點下去直接落在那個 repo 的頁面,中間那頁確認不存在,側欄的次數統計往上加,其他什麼都不用設定。不安裝的路徑也簡單:巴哈姆特那頁按一次確定,花的時間跟讀完一句提醒差不多。

不建議裝的人同樣明確。替長輩顧的電腦,警告頁常常是防詐的最後一關,留著它比省一次點擊值得。完全不接受背景回報的人也一樣,這個擴充功能目前沒有折衷選項,介意就整個略過。如果你的需求其實是擋廣告或追蹤器,該找的是廣告封鎖那類工具,方向不同的可以看我們介紹過的 SmartCopyB 站批次封鎖擴充,處理追蹤與隱私的則是 Privacy Filter 這個路數;想幫瀏覽器整體減重,Chrome 與 Edge 精簡化指南 談的是同一件事。

常見疑問先答兩個。手機能不能用:別指望,這是桌面瀏覽器的擴充功能,手機版瀏覽器多半不吃這一套。會不會把所有網站都跳過:不會,它只在規則命中的轉址頁動作,其他網站完全不管。

安裝入口有三個:Chrome 線上應用程式商店、Edge 外掛商店,或從 GitHub 專案下載原始碼自己打包。前兩個是一般使用者的路,原始碼那條留給想改規則邏輯的人,MIT 授權允許你自由取用修改。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 1334

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...