被反爬蟲系統搞到崩潰?你並不孤單
做爬蟲的開發者,大概都遇過這種情況——
程式碼寫好,一跑起來,結果網頁直接跳出一個驗證框:
「抱歉,偵測到異常訪問行為…」
或者更狠的,直接回傳 403 Forbidden,連驗證的機會都不給你。
Cloudflare、reCAPTCHA、FingerprintJS……這些反爬蟲系統越來越聰明,傳統的 Selenium、Playwright 在它們面前就像「透明人」——一眼就被認出來。
今天要介紹的這個開源專案,可能是目前最接近「完美偽裝」的解決方案。
它叫做 CloakBrowser,在 GitHub 上已經獲得了 4,300+ 顆星。
01 問題的根源:瀏覽器指紋
為什麼 Selenium、Playwright 這些工具會被偵測出來?
答案在於瀏覽器指紋。
當你用一般瀏覽器訪問網站時,網站會收集大量的瀏覽器特徵:
- Canvas 畫布渲染結果
- WebGL 渲染資訊
- 字型列表
- 螢幕解析度
- WebRTC IP 位址
- navigator.webdriver 是否為 true
- 外掛程式列表
- TLS 指紋
這些特徵組合起來,就是一個瀏覽器的「指紋」。而 Selenium、Playwright 這些自動化工具,由於它們的特徵是固定的——比如 navigator.webdriver 永遠是 true——所以網站可以輕鬆識別。
傳統的解決方案是打補丁:在程式碼裡注入 JavaScript,修改這些特徵值。
但這有個問題——每次瀏覽器更新,補丁就可能失效。而且打補丁本身就是一種特徵,專業的偵測系統能識別出「被修改過的痕跡」。
02 核心原理:C++ 原始碼級修改
CloakBrowser 的思路完全不同。
它不是在執行階段打補丁,而是直接修改 Chromium 的 C++ 原始碼,重新編譯成新的二進位檔案。
這意味著什麼?
偵測網站看到的是一個真正的瀏覽器——因為它本身就是一個真正的瀏覽器。
來看測試數據(2026年4月實測,Chromium 146):
| 偵測服務 | 一般 Playwright | CloakBrowser |
|---|---|---|
| reCAPTCHA v3 | 0.1(機器人) | 0.9(人類) |
| Cloudflare Turnstile | 失敗 | 通過 |
| FingerprintJS | 已偵測 | 通過 |
| BrowserScan | 已偵測 | 正常 (4/4) |
30+ 個偵測站點測試,30+ 個全數通過。
03 核心功能:它能做什麼?
3.1 49 個原始碼級補丁
CloakBrowser 對 Chromium 進行了 49 個 C++ 級別的原始碼補丁:
- Canvas 指紋
- WebGL 指紋
- Audio 指紋
- 字型指紋
- GPU 指紋
- 螢幕指紋
- WebRTC IP
- 網路計時
- 自動化信號
- CDP 輸入行為
每一個指紋都在原始碼層面被修改,偵測系統看到的不是「被修改的特徵」,而是「真實的瀏覽器特徵」。
3.2 humanize=True:人性化行為
除了硬體指紋,還有行為偵測。
真人操作瀏覽器時,滑鼠移動不是直線,而是有弧度的曲線;打字時每個字元之間有微小的停頓;滾動頁面時速度不均勻。
CloakBrowser 的 humanize=True 參數可以一鍵開啟這些人性化行為:
- 貝茲曲線滑鼠移動
- 逐字元真實打字
- 模擬真人滾動模式
3.3 WebRTC IP 欺騙
使用代理時,真人瀏覽器會暴露本地 IP,而不是代理 IP。
CloakBrowser 的 --fingerprint-webrtc-ip=auto 可以自動從代理 IP 獲取並欺騙 WebRTC,讓偵測系統看到的是代理 IP,而不是本地 IP。
3.4 瀏覽器配置管理器
CloakBrowser 還提供了自託管的瀏覽器配置管理器,可以替代 Multilogin、GoLogin、AdsPower 等商業工具:
- 建立唯一指紋的瀏覽器配置
- 代理支援
- 持久會話
- 透過 noVNC 在瀏覽器中啟動和互動
04 快速開始:3 行程式碼,30 秒搞定
CloakBrowser 最大的優點是對現有程式碼的零侵入。
如果你已經在用 Playwright,只需要修改 3 行程式碼:
- from playwright.sync_api import sync_playwright
- pw = sync_playwright().start()
- browser = pw.chromium.launch()
+ from cloakbrowser import launch
+ browser = launch()剩下的程式碼完全不用改。
安裝方式:
# Python
pip install cloakbrowser
# JavaScript
npm install cloakbrowser playwright-core第一次執行時,CloakBrowser 會自動下載約 200MB 的 stealth Chromium 二進位檔案,之後會快取在本地。
05 支援的框架
CloakBrowser 可以與多種框架整合:
- browser-use:AI 代理瀏覽器互動
- Crawl4AI:AI 友善的爬蟲
- Scrapling:高效能爬蟲
- Stagehand:AI 驅動的瀏覽器互動
- LangChain:LLM 應用框架
- Selenium:傳統自動化測試
基本上,只要是基於 Playwright 或 Puppeteer 的框架,CloakBrowser 都可以無縫替換。
06 注意事項
這個工具能解決 CAPTCHA 嗎?
不能。 它是預防,不是解決。
CloakBrowser 的目標是防止驗證碼出現,而不是在出現驗證碼後自動破解。如果目標網站堅持要你輸入 CAPTCHA,那還是需要額外的 CAPTCHA 解決服務。
需要自己準備代理
CloakBrowser 沒有內建代理輪換功能。你需要自己準備代理伺服器,在啟動時透過 proxy 參數傳入。
瀏覽器會自動更新
CloakBrowser 有自動更新機制,會在背景檢查新版本並下載。對於需要固定版本的場景,可以在啟動時指定特定版本。
寫在最後
用 CloakBrowser 跑了一週的爬蟲專案,感觸最深的一點是:
好的工具應該是透明的。
你不需要去研究每個網站的偵測機制,不需要去寫一堆變通方法,不需要每次瀏覽器更新就提心吊膽。CloakBrowser 把這些複雜的事情在底層處理掉了,對上層程式碼來說,就是換一個 import。
如果你正在被反爬蟲困擾,或者你的 AI 代理需要穩定的瀏覽器環境,CloakBrowser 值得一試。
畢竟,3 行程式碼、30 秒的遷移成本,試試也不吃虧。
專案位址