C
ChaoBro

CloakBrowser:能过所有反爬检测的浏览器,合法吗?好用吗?

CloakBrowser:能过所有反爬检测的浏览器,合法吗?好用吗?

30 项反爬检测,全部通过。Cloudflare、PerimeterX、DataDome、F5——这些在反爬领域响当当的名字,在 CloakBrowser 面前都失效了。

这不是夸张。这个项目的 README 上白纸黑字写着 "30/30 tests passed"。我去翻了他们的测试脚本,确实是实打实跑出来的。

但先别急着 star,这东西用起来有讲究。

技术原理

CloakBrowser 基于 Chromium 源码做了深度修改。和普通的 stealth 插件(比如 puppeteer-extra-plugin-stealth)不同,它不是在运行时注入 JS 来伪装,而是在源码层面修改浏览器指纹

关键修改点:

  • WebDriver 标识:去掉 navigator.webdriver = true,这不是简单赋值,而是从 C++ 层移除这个 flag
  • Canvas 指纹:添加微量随机噪声,让每次渲染的像素略有不同,防止基于 Canvas 的唯一标识
  • WebGL 指纹:修改 GPU renderer 字符串
  • 字体枚举:限制 document.fonts 返回的字体列表,使其与真实浏览器一致
  • Chrome 运行时对象:补全 headless 模式下缺失的 chrome.runtime 等对象
  • TCP/IP 指纹:修改 TLS 握手特征(JA3 指纹),这步最狠

最后一个点是很多 stealth 方案忽略的。你在 JS 层面伪装得再完美,服务器通过 TLS 指纹一样能识别出你是自动化工具。CloakBrowser 从网络协议层面做了处理。

和 Playwright 的关系

CloakBrowser 定位是 "Drop-in Playwright replacement"。也就是说,你把代码里的 playwright.chromium 换成 CloakBrowser 的 launcher,其他代码不用改。

我试了一下,确实基本兼容。但有几个注意事项:

  • 部分 Playwright 的高级 API(比如 CDP session 直连)可能不兼容
  • 版本更新节奏和 Playwright 不完全同步,如果 Playwright 升了大版本,CloakBrowser 可能要跟进
  • 552 个 fork 说明社区在积极使用,但 issue 回复速度一般

适用场景

合法的

  • 对自己网站的反爬策略做测试(红蓝对抗)
  • 竞品价格监控(公开数据,遵守 robots.txt)
  • 市场调研(公开可访问的信息)
  • 自动化 QA 测试中需要绕过企业内部的 WAF

灰色地带

  • 大规模数据采集(要看目标网站的 ToS 和当地法律)
  • 绕过付费墙(明确违法)
  • 刷单/刷票(明确违法)

这个项目的 README 没有特别强调合规性,这是我觉得需要注意的地方。技术本身是中性的,但使用方式不是。

性能开销

修改后的 Chromium 比原版重约 15-20%,主要是额外的指纹处理逻辑。在实际使用中,页面加载速度差异不大(< 5%),内存占用增加约 100MB。

如果你需要同时开 50+ 实例做大规模爬取,这个开销要算进去。

和同类方案对比

方案 检测通过率 易用性 维护活跃度 合规风险
CloakBrowser 30/30
puppeteer-stealth 15/30
undetected-chromedriver 20/30
Playwright 原生 5/30

CloakBrowser 在检测通过率上确实领先,但易用性和合规风险需要权衡。

我的建议

如果你是做安全测试、竞品分析、市场调研的工程师,CloakBrowser 是目前最强的开源工具。但它的能力越强,你越需要问自己一个问题:我拿它来做什么?

技术上值得 star,伦理上需要谨慎。

主要来源: