前言

如果你常在 Ubuntu 上刷抖音,有沒有遇過這種情況:每次重新整理(F5)網頁首頁,螢幕上就「啪」地彈出一個系統提示視窗,寫著:

「要允許 https://www.douyin.com 使用 System Handler 開啟 bitbrowser 鏈結嗎?」

或者更慘的是——連彈窗都沒有,只出現一行冷冰冰的錯誤:

「沒有可用的軟體 bitbrowser://cc/」

刪快取?清歷史?停用擴充功能?試過之後你才發現——根本沒用

別懷疑,這不是中毒,也不是瀏覽器壞了。這背後的原因,其實跟你每天用的 Chrome 瀏覽器,以及它跟作業系統之間的「協定對接」有關。

問題出在哪?網頁自己在背景「打電話」

先來還原一下現場。

你在 Ubuntu 系統上,打開 Chrome 或 Firefox,進入抖音首頁(douyin.com)。頁面看起來一切正常——直到你按下 F5 重新整理。

這時,Chrome 會突然跳出一個系統層級的提示框,問你要不要允許這個網站用 bitbrowser:// 這個自訂協定,開啟你電腦上的「比特瀏覽器」。

- 廣告 -

如果你沒有安裝比特瀏覽器(或者你根本不想讓抖音打開它),這個彈窗就會不斷出現,煩到你想把 Chrome 卸載。

為什麼會這樣?

很多跨境電商賣家、多帳號运营者,會使用一款叫做「比特瀏覽器(BitBrowser)」的防關聯工具。而抖音官方網頁為了方便這些商家,在前端 JavaScript 程式碼中內建了自動偵測機制。

具體來說,網頁一載入就會在背景自動發出一個 bitbrowser:// 的自訂協定(URL Scheme)請求。Linux 系統本身沒有這個軟體,Chrome 收到請求後,就會被迫跳出系統視窗,詢問使用者是否要尋找對應的應用程式。

關鍵點在於:這個請求是「網頁本身的程式碼」主動觸發的,不是你在網址列輸入的。 所以,單純清除快取、停用一般擴充功能,完全無濟於事。

解決方案:Chrome 企業管理原則,免外掛終極解法

市面上常見的解法,是裝一個油猴(Tampermonkey)腳本,在頁面載入時攔截 bitbrowser:// 的呼叫。但這有個缺點:你需要維護一個外掛,腳本更新跟瀏覽器相容性都是問題。

今天介紹的解法,不走外掛路線,而是利用 Linux 系統正統的 Chrome 企業管理原則(Enterprise Policy),直接從瀏覽器底層將 bitbrowser:// 協定列入黑名單。

設定完成後,Chrome 會在請求送出前就把它們攔截並丟棄,彈窗從此消失。而且因為是系統層級的政策,不管你是哪個瀏覽器視窗、哪個標籤頁,一律生效。

步驟一:打開終端機

在 Ubuntu 中,按下 Ctrl + Alt + T 打開終端機。

步驟二:建立 Chrome 的管理原則目錄

Chrome 的企業政策需要放在特定目錄下才會被讀取。執行以下指令:

sudo mkdir -p /etc/opt/chrome/policies/managed

這個目錄結構是 Chrome 預設會掃描的政策路徑,managed 子目錄表示這裡的政策是「管理員層級」的,使用者無法在瀏覽器設定中覆蓋。

步驟三:寫入阻斷規則

建立一個 JSON 檔案,將 bitbrowser://* 協定列入黑名單:

echo '{"URLBlocklist": ["bitbrowser://*"]}' | sudo tee /etc/opt/chrome/policies/managed/block_bitbrowser.json

這個檔案的內容很簡單,就是一個 JSON 物件,包含一個 URLBlocklist 陣列。陣列裡的每一項都是一個要被封鎖的協定規則。bitbrowser://* 表示所有以 bitbrowser:// 開頭的 URL 都會被攔截。

備註: 如果你用的是 Chromium 而非 Google Chrome,目錄路徑需要改為 /etc/chromium/policies/managed,其他步驟完全一樣。

步驟四:重啟瀏覽器

關閉所有 Chrome 視窗,讓設定生效。或者在 Chrome 網址列輸入 chrome://restart,一鍵重啟。

步驟五:驗證結果

重啟後,在 Chrome 網址列輸入 chrome://policy 進入政策管理頁面。如果看到 URLBlocklist 規則顯示「YOUR_EXTENSION」或你的政策名稱,且狀態為「ACTIVE」,代表設定已成功載入。

回到抖音首頁,按下 F5 重新整理——彈窗消失了,背景騷擾請求被 Chrome 完美掐斷。

為什麼我推薦這個解法?

1. 零外掛、零依賴

不需要裝油猴、不需要寫腳本、不需要維護任何擴充功能。一個 JSON 檔案搞定一切。

2. 系統層級生效

不管你是多少個標籤頁、多少個視窗,政策在 Chrome 啟動時就讀取並生效。比任何瀏覽器外掛都更徹底。

3. 方便管理多個協定

如果你還遇到其他網站用類似手法喚醒 zoom://weixin://discord:// 之類的協定,只要在 URLBlocklist 陣列中追加即可:

{
  "URLBlocklist": [
    "bitbrowser://*",
    "zoom://*",
    "weixin://*"
  ]
}

一行規則封一個,管理起來非常直觀。

4. 可逆向還原

哪天你終於想讓抖音打開比特瀏覽器了?把 block_bitbrowser.json 刪掉,重啟 Chrome 就好。政策檔案不會在系統裡留下任何殘餘設定。

結語

網頁端主動喚醒本地 App 的行為,本意是方便使用者——比如點擊微信連結直接打開 App,或者點擊 Zoom 連結直接啟動會議。但當這種行為變成「未經同意的盲目偵測」,它就從便利變成了騷擾。

在 Linux 系統下,善用作業系統級別的瀏覽器 Policy 管理,比安裝一堆可能拖慢速度、互相打架的瀏覽器外掛更加乾淨、安全且高效。

下次再遇到抖音彈窗喚醒比特瀏覽器,別再狂刪快取了。打開終端機,三行指令,徹底解決。