返回部落格

防關聯瀏覽器的四種技術路線與選型

防關聯瀏覽器的功能列表看起來都差不多,真正的差別在於隔離如何實作。本文依四類技術路線比較隔離強度、參數可控度、資源開銷與維護成本,並說明各自適合的使用情境。

挑選防關聯瀏覽器時,各家宣傳頁上的功能表幾乎像同一個模子:多環境、獨立指紋、代理整合、自動化介面、團隊協作。看多了會發現,光靠這些項目其實很難比出高下。

真正的差別在於隔離是怎麼做出來的。這決定了環境有多容易被看穿、你會被這套工具綁得多深,以及長期維護需要投入多少心力。把主流做法整理一下,大致可以分成四類。

防关联浏览器的四种技术路线与选型的关键步骤与判断维度示意图

直接修改 Chromium 核心

做法是在 Chromium 原始碼上二次開發,指紋修改落在 C++ 層。瀏覽器啟動時,Canvas、WebGL、AudioContext、TLS 等項目在渲染或握手階段就會依設定輸出,不需要靠頁面腳本去覆寫回傳值。

隔離強度高,每個環境都有獨立的設定檔目錄,Cookie、本機儲存、快取彼此不會混用。參數可控度也高,可以碰到底層取值,而不是只改 UA 這類表面欄位。代價是本機要跑完整的瀏覽器程序,記憶體占用和同時開啟多個真實瀏覽器差不多。

維護是這條路線的分水嶺。瀏覽器核心一直往前發展,跟進速度以及版本切換機制是否順手,會直接決定兩三年後它還能不能實用。自動化接入通常不難,一般會保留本機 API 或偵錯連接埠,讓自動化框架直接接管。

適合帳號數量多、對隔離穩定性要求高、長期執行營運工作的團隊。

用擴充功能疊加參數

透過瀏覽器擴充功能往頁面注入腳本,覆寫 navigator、Canvas 回傳值之類的屬性。裝好就能使用,改動小,很適合快速驗證想法。

但注入痕跡本身就是可偵測點,頁面可以反查屬性是否被覆寫,因此隔離強度只能算中低。可控範圍也限於腳本能碰到的欄位,硬體相關資訊基本上動不了。資源開銷很小,大致等同一般瀏覽器加上一個擴充功能;維護上則要跟著瀏覽器版本走,版本一升級常需要重寫擴充功能,自動化腳本與擴充功能也容易互相干擾。

適合臨時測試、帳號量很少,而且不追求長期穩定的情境。

虛擬機器與容器

每個帳號配置一套系統或容器,可以是完整虛擬機器,也可以是輕量容器或沙箱。

隔離強度是四類裡最高的,作業系統層就把環境和儲存空間分開,天然不共享。參數可控度反而普通:顯示卡型號、硬體參數這類資訊不容易偽造,同一個映像檔建立出的環境,硬體資訊往往會重複。資源開銷最大,一套系統就是一份成本;容器雖然輕一些,但瀏覽器需要的元件不少,磁碟占用也會很快增加。

維護要自己承擔:映像檔更新、快照管理、備份策略都需要有人負責。自動化接入比較有彈性,可以把自動化框架裝進映像檔裡執行,只是任務排程和分發仍要自己搭建。

適合帳號數量不多但要求極高,或業務本身就需要完整獨立作業系統環境的團隊。

遠端工作階段(雲端環境)

瀏覽器跑在雲端主機上,本機只接收畫面並傳送操作指令。

環境本來就不落在本機裝置上,因此隔離強度高;映像檔統一設定後,批次環境的一致性也很好。本機資源開銷幾乎可以忽略,成本轉移到雲端運算與頻寬,代價是對網路延遲更敏感。升級與維護由服務方統一處理,自己比較省事,但也會受到對方節奏約束。

介面化程度通常最高,適合批次排程,同時要處理好工作階段時長、並行上限等限制。適合團隊異地協作、需要隨需擴充,而且不想在人員與本機裝置管理上投入太多的情境。

對照自己的情況

  • 帳號不多、想完全掌控環境:核心改造或本機虛擬機器更合適。
  • 多人同時在線、成員分散各地:遠端工作階段比較省事。
  • 只是想驗證一段自動化腳本的想法:擴充功能夠用,但不要把它當成長期方案。

長期來看,有三個問題值得反覆確認:核心多久跟進一次升級;參數改了之後是否真的生效;網路出口是由它管理還是由你管理。最後一點尤其容易被忽略,環境隔離只解決裝置端,出口需要另外設定。

帳號規模上來之後,環境、出口和成員權限都要一起管理。PurpleMark 這類工具提供的,就是把多帳號環境隔離與團隊協作放在同一個地方,省下每天重複切換與交接的時間。

收束

沒有哪一條路線全面占優。核心改造是用維護投入換隔離強度與可控度;虛擬機器和容器是用資源與人力換最強隔離;擴充功能是用安全邊際換輕量;遠端工作階段則是用本機省事換對網路品質與服務方節奏的依賴。想清楚自己最不能妥協的是哪一項,選型就不難了。