CloakBrowser 是什麼?給 Playwright 和 Puppeteer 換一個更像真實用戶的瀏覽器

介紹 CloakHQ/CloakBrowser:一個基於自定義 Chromium 的瀏覽器自動化項目,提供 Python、JavaScript、Docker 和 Profile Manager,用於需要真實瀏覽器行爲的自動化測試與 Agent 場景。

CloakHQ/CloakBrowser 是一個面向瀏覽器自動化的開源項目。它不是普通的 Playwright 配置,也不是單純注入一段 JavaScript,而是圍繞自定義 Chromium 二進制構建,讓瀏覽器指紋、WebGL、Canvas、音頻、字體、GPU、屏幕信息、WebRTC、網絡時序等信號更接近真實瀏覽器。

項目地址:https://github.com/CloakHQ/CloakBrowser

截至寫作時,GitHub API 顯示這個倉庫已有約 1.5 萬 star,主要語言是 Python,許可證爲 MIT。README 對它的定位很直接:一個可替代 Playwright / Puppeteer 啓動器的 Stealth Chromium。

它解決什麼問題

很多自動化腳本在普通 Headless Chromium 下會暴露明顯自動化特徵,例如:

  • navigator.webdriver
  • Headless UA 泄漏。
  • 插件、字體、屏幕、GPU 等指紋不自然。
  • CDP 行爲和真實用戶輸入不一致。
  • 默認臨時 profile 缺少正常瀏覽痕跡。

CloakBrowser 的思路是把一部分指紋修改放到 Chromium 源碼層,而不是隻在運行時做配置或 JS patch。這樣對 Playwright 用戶來說,使用方式仍然接近原來的瀏覽器自動化 API,但底層瀏覽器換成了項目提供的自定義構建。

這類工具適合做合規的自動化測試、站點兼容性驗證、反爬系統自測、Agent 瀏覽器環境實驗。不要把它用於未授權訪問、賬號濫用、繞過平臺風控或違反服務條款的場景。

基本使用方式

Python 安裝:

1
pip install cloakbrowser

JavaScript / Node.js 安裝:

1
npm install cloakbrowser playwright-core

README 給出的 Python 示例很接近 Playwright:

1
2
3
4
5
6
from cloakbrowser import launch

browser = launch()
page = browser.new_page()
page.goto("https://protected-site.com")
browser.close()

JavaScript 示例:

1
2
3
4
5
6
import { launch } from 'cloakbrowser';

const browser = await launch();
const page = await browser.newPage();
await page.goto('https://protected-site.com');
await browser.close();

第一次運行時,項目會自動下載對應平臺的 Chromium 二進制文件,README 提到體積約 200MB,並會緩存到本地。

Browser Profile Manager

CloakBrowser 還提供一個 Browser Profile Manager,可以自託管瀏覽器 profile,管理不同指紋、代理和持久會話。README 中的 Docker 啓動方式如下:

1
docker run -p 8080:8080 -v cloakprofiles:/data cloakhq/cloakbrowser-manager

啓動後打開:

1
http://localhost:8080

這個方向更像開源的瀏覽器 profile 管理工具,適合需要多 profile、持久 cookie、隔離會話的自動化測試或內部 QA 場景。

和普通 Playwright 有什麼差別

普通 Playwright 的優點是穩定、官方維護、API 成熟。CloakBrowser 的差別在於它使用自定義 Chromium,並提供一組源代碼級別的指紋 patch。

README 裏列出的能力包括:

  • Canvas、WebGL、Audio、Fonts、GPU、Screen 等指紋處理。
  • WebRTC IP spoofing。
  • 代理相關信號處理。
  • humanize=True 模擬更自然的鼠標、鍵盤和滾動行爲。
  • Python 與 JavaScript 雙端 API。
  • Docker 鏡像與 CDP server 模式。
  • 持久 profile。

也就是說,它更適合對“瀏覽器環境真實性”有要求的自動化任務,而不是替代所有 Playwright 使用場景。

使用時要注意什麼

第一,瀏覽器自動化和反檢測相關工具有很強的合規邊界。它可以用於測試自己的站點、驗證自動化環境、做內部 QA,也可以用於研究瀏覽器指紋;但不應被用於未經授權的抓取、賬號批量註冊、繞過訪問控制、攻擊或濫用服務。

第二,README 中也說明,CloakBrowser 不內置代理輪換,也不是驗證碼解決服務。它提供瀏覽器層能力,網絡信譽、賬號信譽、行爲策略和目標站點規則仍然會影響結果。

第三,自定義 Chromium 二進制意味着供應鏈安全要額外關注。正式使用前建議檢查版本、二進制來源、簽名說明、許可證和更新機制。

適合誰

適合三類用戶:

  • 已經在用 Playwright / Puppeteer,但需要更接近真實瀏覽器環境的開發者。
  • 做瀏覽器自動化測試、兼容性測試或反爬策略驗證的團隊。
  • 需要給 AI Agent 提供瀏覽器執行環境的開發者。

如果只是普通網頁測試,原生 Playwright 已經夠用。如果目標是研究瀏覽器指紋、profile 隔離和真實瀏覽器行爲,CloakBrowser 值得關注。

小結

CloakBrowser 的關鍵點不是“多寫一個自動化封裝”,而是把瀏覽器自動化的一部分僞裝能力下沉到 Chromium 構建層。它保留了 Playwright / Puppeteer 的使用習慣,同時提供自定義瀏覽器、profile 管理、Docker 和 CDP server。

這類工具能力強,也更需要謹慎使用。判斷是否值得接入,重點看你的場景是否真的需要自定義 Chromium,而不是只因爲普通 Headless 瀏覽器被某些檢測服務標記。

參考項目:https://github.com/CloakHQ/CloakBrowser

记录并分享
使用 Hugo 建立
主題 StackJimmy 設計