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 安装:
|
|
JavaScript / Node.js 安装:
|
|
README 给出的 Python 示例很接近 Playwright:
|
|
JavaScript 示例:
|
|
第一次运行时,项目会自动下载对应平台的 Chromium 二进制文件,README 提到体积约 200MB,并会缓存到本地。
Browser Profile Manager
CloakBrowser 还提供一个 Browser Profile Manager,可以自托管浏览器 profile,管理不同指纹、代理和持久会话。README 中的 Docker 启动方式如下:
|
|
启动后打开:
|
|
这个方向更像开源的浏览器 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 浏览器被某些检测服务标记。