CloakHQ // CloakBrowser // Dossier-2026.05
● Active MIT License Chromium 145
隱形操作檔案 // Stealth Operations Brief

CloakBrowser.

通過每一項機器人偵測測試的隱形 Chromium。 Playwright 的無痛替換—— 換掉一行 import, 你的爬蟲就能在 Cloudflare Turnstile 與 reCAPTCHA v3 之下, 以「人類」的身分自由通行。

30/30
偵測測試通過
0.9
reCAPTCHA v3 分數
33+
C++ 原始碼修補
1 行
即可從 Playwright 切換
// 01 — 簡介

它是什麼,又為什麼不一樣

CloakBrowser 是一顆自行編譯的 Chromium binary, 外覆一層輕薄的 Python/JavaScript 包裝,提供與 Playwright 完全相同的 API。差別在於:所有「我是機器人」的指紋 ——navigator.webdriver、Canvas 雜湊、WebGL renderer、 AudioContext、字體列舉、TLS ja3/ja4、HTTP/2 設定—— 都被直接編譯進二進位檔,而非用 JavaScript 注入或啟動參數遮蓋。

這是它真正的價值主張:偵測網站看到的是一個真實的瀏覽器, 因為它就是一個真實的瀏覽器。沒有 JS 補丁可以被識破, 沒有 CDP 洩漏,沒有 HeadlessChrome 字串卡在 UA 裡。

// 設計哲學 Config-level 補丁會壞——playwright-stealthundetected-chromedriverpuppeteer-extra 都靠 JS 注入或調整 flag。 每次 Chrome 更新都會打破它們,而反機器人系統甚至能偵測「補丁本身」。 CloakBrowser 改寫原始碼,從根斷絕這條偵測路線。

最新測試成績

reCAPTCHA v30.9 / 1.0
Cloudflare TurnstilePASS
FingerprintJS BotPASS
BrowserScanNORMAL 4/4
ShieldSquare(yad2)PASS
bot.incolumitas.com1 fail(規格項)
navigator.webdriverfalse
CDP 偵測未被偵測
// 02 — 對照

vs. 其他隱形方案

過去三年最常見的選擇——playwright-stealthundetected-chromedriverCamoufox—— 各自在 2025 前後遇到瓶頸:JS 注入易被識破、Chrome 更新破壞補丁、 或像 Camoufox 被反機器人廠商針對性反編譯。CloakBrowser 填補的正是 Camoufox 留下的空缺,且基於市佔率 70% 的 Chromium, 而非市佔僅 2% 的 Firefox。

項目 Playwright playwright-stealth UC Driver Camoufox CloakBrowser
reCAPTCHA v3 0.1 0.3–0.5 0.3–0.7 0.7–0.9 0.9
Cloudflare Turnstile 失敗 有時 有時 通過 通過
補丁層級 JS 注入 Config 補丁 C++(Firefox) C++(Chromium)
Chrome 更新後 經常壞 經常壞 可用 可用
維護狀態 活躍 停滯 停滯 2025/03 停更 活躍
引擎 Chromium Chromium Chrome Firefox Chromium
Playwright 原生 API 否(Selenium)
// 03 — 快速上手

分鐘跑起來

安裝後第一次執行時,binary(約 200 MB)會自動下載並快取到 ~/.cloakbrowser。完全不需要先跑 playwright install chromium——CloakBrowser 會帶它自己的 Chromium。

// shell · 安裝
# Python
pip install cloakbrowser

# Node.js(Playwright 或 Puppeteer 二選一)
npm install cloakbrowser playwright-core
npm install cloakbrowser puppeteer-core

# Linux 需要的系統函式庫
playwright install-deps chromium
// python · 最小可運作範例
from cloakbrowser import launch

browser = launch()                            # 預設 headless
page = browser.new_page()
page.goto("https://protected-site.com")   # 不再被擋
print(page.title())
browser.close()
// migration · 從 Playwright 遷移(差異一行)
- from playwright.sync_api import sync_playwright
- pw = sync_playwright().start()
- browser = pw.chromium.launch()
+ from cloakbrowser import launch
+ browser = launch()

# 後面的程式完全不動
page = browser.new_page()
page.goto("https://example.com")
// 04 — 核心 API

四個函式就夠了

API 表面刻意保持極小——它的工作只是把對的旗標傳給 Chromium binary, 然後把標準的 Playwright Browser 物件還給你。

// python · 四種啟動模式
from cloakbrowser import launch, launch_async, launch_context, launch_persistent_context

# 1. 同步、headless
browser = launch()

# 2. 帶 proxy(住宅級代理建議)
browser = launch(proxy="http://user:pass@proxy:8080")

# 3. headful(用 Xvfb 在無 GUI 的 Linux 伺服器上跑)
browser = launch(headless=False)

# 4. 非同步
async def main():
    browser = await launch_async()
    page = await browser.new_page()
    await page.goto("https://example.com")
    await browser.close()

# 5. 一次給好 UA/viewport/locale/時區
context = launch_context(
    user_agent="Mozilla/5.0 ...",
    viewport={"width": 1920, "height": 1080},
    locale="zh-TW",
    timezone="Asia/Taipei",
)

# 6. 帶 cookie/localStorage 的持久 profile
context = launch_persistent_context(user_data_dir="./profile-a")
// python · 工具函式
from cloakbrowser import binary_info, clear_cache, ensure_binary

print(binary_info())   # 檢查 binary 版本與安裝狀態
clear_cache()          # 強制重新下載
ensure_binary()        # Docker build 時預先抓 binary,容器啟動即用
// 05 — 進階用法

細節調到剛剛好

以下三件事是「進階使用者」與「真的能繞過偵測的使用者」之間的差距: 指紋種子、人類化、與 session 隔離。

// python · 指紋種子(fingerprint seed)
# 固定種子 → 同一台「裝置」反覆登入
# 隨機種子 → 每次都是新裝置
browser = launch(args=["--fingerprint=12345"])

# 強制平台(Linux 機器偽裝成 Windows)
browser = launch(args=[
    "--fingerprint-platform=windows",
    "--fingerprint-gpu-vendor=NVIDIA Corporation",
])
// 關鍵原則 同一個 IP 反覆訪問同一網站時,千萬不要用隨機 seed—— reCAPTCHA v3 Enterprise 等評分系統會把「指紋天天換、IP 卻一樣」視為強烈異常。 固定 seed + 對應的 cookie/localStorage = 看起來像回頭客。
// python · 人類化操作
# humanize=True 自動加入:滑鼠 bezier 曲線移動、打字節奏、隨機 idle
browser = launch(
    humanize=True,
    human_config={
        "mistype_chance": 0.1,        # 10% 機率打錯然後 backspace
        "typing_delay": 50,           # 平均 50ms / 字
        "idle_between_actions": True,
    },
)
// docker · 多帳號隔離(CloakBrowser Manager)
# 開啟 web UI 來管理 N 個 profile,每個獨立 fingerprint + proxy
docker run -p 8080:8080 -v cloakprofiles:/data cloakhq/cloakbrowser-manager

# 開 http://localhost:8080 → 建立 profile → Launch → 完成
// 06 — AI Agent 整合

當 LLM 需要身體

2026 的 AI agent 幾乎都需要一個能上網、能登入、能點按鈕的瀏覽器。 CloakBrowser 已被直接整合進 browser-useCrawl4AIScraplingStagehandLangChain,甚至作為 Claude Computer Use 的執行載體。

整合有兩種模式:直接讓框架啟動我們的 binary,或用 CDP 連到一個已經跑起來的 CloakBrowser。

// python · 模式 A:框架直接啟動 binary
# 適用 Selenium、Stagehand、undetected-chromedriver
from cloakbrowser.download import ensure_binary
from cloakbrowser.config import get_default_stealth_args

binary_path = ensure_binary()              # 沒下載就自動下載
stealth_args = get_default_stealth_args()  # 所有指紋旗標

# 把上面兩個塞給你框架的 launch options
// python · 模式 B:CDP 連線
# 適用 browser-use、Crawl4AI、Scrapling
from cloakbrowser import launch_async

browser = await launch_async(args=["--remote-debugging-port=9242"])

# 你的 AI agent 框架連到 http://127.0.0.1:9242
# 隱形指紋自動生效;只有 humanize 需要包裝層額外注入
// 07 — 社群實戰建議

Reddit 與爬蟲圈的田野筆記

以下整理自 r/webscraping、爬蟲技術圈、以及 Camoufox 後續討論的共識, 對 CloakBrowser 一類的「原始碼級隱形瀏覽器」尤其受用。

// TIP 01 · 種子策略

同 IP 反覆訪問,請固定 seed

同一個 IP 每次來都是「不同裝置」會被評分系統視為高風險。社群實測:固定 --fingerprint=N + 持久化 cookie,reCAPTCHA v3 分數能再往上推 0.1–0.2。

// TIP 02 · 代理

住宅/行動代理,不要用機房 IP

隱形指紋處理得再好,IP 信譽不行就是擋。Cloudflare 在 2026 已大量參考 IP 信譽,datacenter 池幾乎一進去就被升級到 Turnstile managed challenge。

// TIP 03 · 顯示模式

Linux 伺服器跑 headful:用 Xvfb

真實使用者很少 headless。在無 GUI 機器上用 Xvfb :99 -screen 0 1920x1080x24 &export DISPLAY=:99,再以 headless=False 啟動,能擋掉幾條 headless 偵測。

// TIP 04 · Session 隔離

多帳號用 launch_persistent_context()

某些網站會偵測「乾淨無歷史」的 session(incognito 行為)。每個帳號掛一個獨立 user_data_dir,配上獨立 proxy + 固定 seed,可防止跨帳號連動封禁(shadow ban)。

// TIP 05 · 非同步陷阱

uvicorn 請用 --loop asyncio

若把 CloakBrowser 包進 FastAPI/uvicorn,uvicorn[standard] 預設使用 uvloop,會導致 subprocess pipe hang。改用 uvicorn --loop asyncio 解決。

// TIP 06 · HTTP/2 冷啟動

第一次拜訪可能被擋,不一定是你的錯

某些網站對「無 cookie + HTTP/2」的第一次連線一律 challenge——這在所有 Chromium 都會發生。對策:先用便宜流量「養 cookie」,再切到目標頁面。

// TIP 07 · 行為,不只是指紋

把 humanize=True 開好

2026 的偵測系統會評分「滑鼠軌跡是否自然、打字是否有節奏」。完美的指紋 + 機器般的瞬間 click,仍然會被 DataDome 抓出來。

// TIP 08 · 流量分佈

別把 Camoufox 的死法重演

Camoufox 被反編譯後,反機器人廠商建立了專屬的「Camoufox 流量標記」。社群建議:用 Chromium-based 工具,並隨機化 UA/viewport 範圍,避免你的流量在分佈上太均勻一致。

// TIP 09 · 不要解 CAPTCHA

CloakBrowser 是讓 CAPTCHA 不出現,而不是解它

社群共識:付費 CAPTCHA solver 是「壞掉的隱身術」的補丁。如果你的設定對了,CAPTCHA 根本不該被觸發。看到 Turnstile managed challenge = 重新檢查 IP 與指紋,而不是去付 2captcha。

// TIP 10 · 別跑 playwright install

不需要 playwright install chromium

CloakBrowser 會帶自己的 binary。跑 playwright install chromium 只會多下載一份用不到的官方 Chromium,浪費 200 MB。你只需要 playwright install-deps chromium(系統函式庫)。

// 08 — 使用情境

真的會用它?

CloakBrowser 的甜蜜點是「需要高擬真度、又不想付每月 $49–$299 訂閱費」的場景。

01
高頻資料抓取
電商價格、SERP、地圖/旅遊、財經資訊。Cloudflare Turnstile(managed 或 non-interactive)通常會擋掉一般 Playwright;CloakBrowser 在 source-level 直接過。
02
多帳號自動化維運
社群、廣告平台、客服系統。用 cloakbrowser-manager 為每個帳號分配獨立 fingerprint + proxy,避免被識別為「同一個操作者」。
03
AI Agent 的瀏覽器身體
browser-use、Crawl4AI、Stagehand、LangChain、Claude Computer Use 已支援直接接 CloakBrowser。讓 LLM 上網時,不再因「我是機器人」而被擋。
04
反機器人系統測試
安全研究人員與防禦方可以用 CloakBrowser 驗證自家偵測系統的有效性。如果它能擋下 CloakBrowser,它應該也能擋下 95% 的真實攻擊者。
05
E2E 測試的真實環境模擬
某些 SaaS 在 staging 階段需要驗證「真實使用者體驗」——而你的 Playwright 測試一直被自家防火牆擋。CloakBrowser 提供更貼近真實 Chrome 的 TLS 與 HTTP/2 行為。
// 09 — 常見問題

陷阱、邊界與律

它合法嗎?

CloakBrowser 本身只是一個瀏覽器。安裝與使用它合法,就像安裝 Chrome 或 Firefox 一樣。但你拿它做什麼,責任在你——違反目標網站 ToS、繞過 DRM、未授權存取,這些問題與工具本身無關。專案 README 明確不背書任何違反 ToS 的行為。

跟 Camoufox 有什麼差別?

Camoufox 修補 Firefox,CloakBrowser 修補 Chromium。差異有三:(1) Chromium 市佔約 70%,Firefox 只有 2%,後者大量流量本身就突兀;(2) Chromium 的 TLS ja3/ja4/Akamai 指紋與真實 Chrome 一致,更難辨識;(3) Camoufox 於 2025/03 停止維護,且開源被反機器人廠商針對性反編譯;CloakBrowser 持續更新。

偵測網站總有一天會抓到它嗎?

可能。這是場軍備競賽。Source-level 補丁比 config-level 難偵測,但不是不可能。專案會持續監控與更新。對使用者來說的對策:固定 seed + 良好的 cookie 管理 + 住宅代理 + 適度的人類化行為,整體機率會比任何單一工具都低。

支援哪些平台?

目前 Linux x86_64 已正式發布,macOS arm64(Apple Silicon)與 macOS Intel 為「即將推出」,Windows 列為計畫中。如果是生產環境,建議優先以 Linux 容器化部署。

能用我自己的 proxy 嗎?

可以。直接 launch(proxy="http://user:pass@host:port"),也支援 SOCKS5(包含 QUIC/HTTP3 over UDP ASSOCIATE)。建議使用住宅代理或行動代理;機房 IP 在 2026 已幾乎不可用。

為什麼第一次連線會被擋?

某些網站對「無 cookie 的 HTTP/2 第一次連線」一律出 challenge——這在所有 Chromium 都會發生,與 CloakBrowser 無關。解法:先用低流量頁面「養」cookie,再進主要目標頁。

能在 Docker / CI 跑嗎?

專案內附 Dockerfile,且建議在 build 階段呼叫 ensure_binary() 預先下載 binary(約 200 MB),讓容器啟動時間最短。注意:用 uvloop 的 web framework(如 uvicorn[standard])需改成 --loop asyncio

// 倫理提醒

本工具的目的是讓「合法的自動化」不被誤判為攻擊。它不適合也不該用於:未授權的個資抓取、繞過付費內容、騷擾、廣告詐騙、規避法律調查。請務必先閱讀目標網站的 ToS 與 robots.txt,並評估你所在司法管轄的爬蟲相關判例(台灣以民法侵權與營業秘密法為主要參考)。