CloakBrowser 完全指南:Stealth Chromium 源码级绕过所有机器人检测

Web Scraping 阅读时间 8 分钟

2026 年 5 月 8 日,一个叫 CloakBrowser 的开源项目冲上 GitHub Trending 当日榜,24 小时内斩获 482+ Stars,累计 2.4K+ Stars

它解决的问题很直接:为什么用 Playwright/Puppeteer 爬网站老是触发反爬

市面上常见的所谓"隐身浏览器"要么是 JavaScript 注入(playwright-stealth),要么是配置层的小把戏(修改 User-Agent 和 WebDriver 标志)。Cloudflare Turnstile、FingerprintJS、reCAPTCHA v3 这些现代反检测系统早就把这些手法全部标记为机器人了

CloakBrowser 的做法完全不同——直接在 Chromium C++ 源码层修改指纹。不是在外面裹一层伪装,而是让浏览器二进制本身就是一个"正常浏览器"

核心原理:源码级指纹补丁

CloakBrowser 在 Chromium 146 的 C++ 源码上打了 49 个指纹补丁,覆盖这些检测维度:

  • Canvas 指纹 — 修正 toDataURL 生成的不一致
  • WebGL 渲染 — 统一 GPU 厂商和渲染器字符串
  • AudioContext — 修复音频指纹的唯一性
  • 字体枚举 — 系统已安装字体列表
  • 屏幕参数 — colorDepth、pixelRatio、availWidth 等
  • WebRTC — ICE 候选 IP 隔离,支持代理出口 IP 伪造
  • 网络时序 — DNS 解析时间、Connect 时间归零,移除代理信号
  • 自动化信号 — navigator.webdriver 为 false,CDP 输入行为正常化

关键是这些修改是在 编译阶段完成 的,运行时没有任何 JavaScript 注入或 flag 修改。反检测系统看到的是一套完全正常的浏览器行为链

实测成绩:30/30 全过

项目方在 README 里贴出了详细的测试对比数据,这里列几个关键项:

检测服务原版 PlaywrightCloakBrowser
reCAPTCHA v30.1(确定机器人)0.9(正常用户)
Cloudflare Turnstile(非交互)失败通过
Cloudflare Turnstile(托管)失败单点通过
FingerprintJS检测到机器人通过
BrowserScan(4 项评分)检测到全部正常
bot.incolumitas.com13 项失败仅 1 项(WEBDRIVER 规范)
deviceandbrowserinfo.com isBottruefalse
ShieldSquare拦截通过

这里特别强调:reCAPTCHA v3 的 0.9 分是服务端验证的,不是只看前端返回的分数。这个成绩意味着大多数网站的机器人检测在第一关就会放行,根本不会触发 CAPTCHA

安装与配置:只要 3 行代码

Python 版本

pip install cloakbrowser
from cloakbrowser import launch
browser = launch()
page = browser.new_page()
page.goto("https://your-target-site.com")
# 你的爬虫代码在这里
browser.close()

从 Playwright 迁移过来改一行 import 就行了:

# 原来的
# from playwright.sync_api import sync_playwright
# pw = sync_playwright().start()
# browser = pw.chromium.launch()
# 换成
from cloakbrowser import launch
browser = launch()

JavaScript / Node.js 版本

npm install cloakbrowser playwright-core
import { launch } from 'cloakbrowser';
const browser = await launch();
const page = await browser.newPage();
await page.goto('https://your-target-site.com');
await browser.close();

也支持 Puppeteer:import { launch } from 'cloakbrowser/puppeteer'

Docker 一键试用

docker run --rm cloakhq/cloakbrowser cloaktest

第一次运行会自动下载 stealth Chromium 二进制(约 200MB),会缓存到本地,后续使用不需要重复下载

进阶功能

Humanize 模式:人类行为模拟

开启 humanize=True 后,CloakBrowser 会自动模拟:

  • 鼠标移动 — Bézier 曲线路径,不是直线跳转
  • 键盘输入 — 逐字符输入,带真实的时间间隔
  • 滚动模式 — 模拟人类阅读节奏的滚动

这些行为用 CDP 隔离世界 + trusted dispatch 实现,不会被行为分析系统标记

代理 IP 自适应时区和语言

pip install cloakbrowser[geoip]
launch(proxy="socks5://user:pass@host:port", geoip=True)

自动检测代理出口 IP 的地理位置,设置对应时区和语言。WebRTC ICE 候选 IP 也会同步伪造,防止 real IP 泄露

持久化 Profile

launch_persistent_context()

保持 Cookie 和 localStorage 跨会话持久化,绕过 incognito 模式检测。适合需要登录态的爬虫场景

指纹种子随机化

每次启动自动生成随机指纹种子(不需要任何参数)。Canvas、WebGL、Audio 等指纹会在合理范围内变化,不会所有实例用同一套指纹

与同类工具的对比

工具原理检测难度价格
playwright-stealthJS 注入极易检测免费
undetected-chromedriver配置 + JS 注入中等免费
Multilogin / GoLogin / AdsPower商业 Chromium 修改中等$30-100/月
CloakBrowserC++ 源码级补丁极难检测免费开源

商业方案中 Multilogin 等功能类似但价格不低,而且闭源。CloakBrowser 是 MIT 协议完全开源,没有用量限制,没有订阅费

值得注意的限制

  • CloakBrowser 不解决 CAPTCHA — 它的目标是让 CAPTCHA 不出现。如果目标网站已经弹了 CAPTCHA,它不会自动识别填写
  • 不自带代理轮询 — 需要自己配置代理池,CloakBrowser 只负责让每个代理出来的流量看起来像正常用户
  • 需要关注 Chromium 版本更新 — 每次 Chrome 大版本更新可能引入新的检测维度,项目维护者会跟着更新二进制,使用内置的自动更新功能即可

适用于哪些场景

  • Web scraping / 数据采集 — 采集被 Cloudflare 保护的网站数据
  • AI Agent 浏览器自动化 — 配合 browser-use、Crawl4AI、Scrapling、Stagehand 等框架
  • SEO 监测 — 查看竞争对手网站的搜索引擎排名和内容更新
  • 广告验证 — 检查广告在目标市场的实际展示情况
  • 价格监测 — 采集受 bot 保护的电商网站价格
  • 测试自动化 — 需要对复杂反检测流程做测试的场景

总结

CloakBrowser 走了一条和其他隐身浏览器完全不同的路——不是在 JS 层或配置层修补,而是直接改 Chromium 的 C++ 源码。49 个指纹补丁 + 自动更新二进制 + humanize 行为模拟,让它在现代反检测体系中拿到了非常罕见的通过率

相比商业方案 Multilogin 每月几十美元的费用,CloakBrowser 完全免费开源。如果你正在做 Web scraping 或者需要浏览器自动化并且频繁遭遇反爬,这可能是 2026 年最值得关注的开源项目之一

项目地址:github.com/CloakHQ/CloakBrowser

安装命令:pip install cloakbrowsernpm install cloakbrowser