C
ChaoBro

CloakBrowser:用 C++ 源码级修改绕过了 30 个反 bot 检测站

CloakBrowser:用 C++ 源码级修改绕过了 30 个反 bot 检测站

做自动化爬虫的人都知道一个痛点:Playwright 和 Puppeteer 好用,但一碰到 Cloudflare Turnstile、FingerprintJS 这类反 bot 检测,就傻眼了。

市面上的解决方案大致分两类:一种是改配置(user-agent 伪装、注入 JS 隐藏 automation 标记),另一种是付费指纹浏览器(Multilogin、GoLogin、AdsPower)。前者效果越来越差,后者按月收费还不便宜。

CloakBrowser 选了第三条路。

不是补丁,是源码

CloakBrowser 不是一个 patched config,也不是 JS 注入。它是从 Chromium 的 C++ 源码层面改了 49 处指纹相关的代码——canvas、WebGL、audio、fonts、GPU、screen、WebRTC、network timing、automation signals、CDP input behavior,全部从底层处理。

反 bot 系统给它打的是正常浏览器的分数,因为它本质上就是一个正常的浏览器。

实际测试数据:30 个检测站全部通过,包括 Cloudflare Turnstile、FingerprintJS、BrowserScan。reCAPTCHA v3 评分 0.9——人类水平,服务端验证通过。

用法有多简单

如果你在用 Playwright,迁移只需要改三行:

# 之前
from playwright.sync_api import sync_playwright
pw = sync_playwright().start()
browser = pw.chromium.launch()

# 之后
from cloakbrowser import launch
browser = launch()
# 后面的代码完全不用改

Python 用 pip install cloakbrowser,JavaScript 用 npm install cloakbrowser。首次运行自动下载 ~200MB 的 stealth Chromium 二进制文件,零配置。

还支持 humanize=True 一个开关,自动模拟人类鼠标曲线、键盘时序和滚动模式。 behavioural detection(行为检测)也能过。

还有个 Browser Profile Manager

CloakBrowser 附带一个自托管的浏览器配置文件管理器,可以替代 Multilogin、GoLogin、AdsPower。创建带有独立指纹、代理和持久 session 的浏览器配置,通过 noVNC 在浏览器里直接交互。

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

打开 http://localhost:8080,创建配置,点击启动。MIT 协议,免费。

几个需要注意的点

CloakBrowser 的定位很明确:自动化场景下的反检测浏览器。但它不是银弹

  • 反 bot 检测系统在持续进化,今天能过的补丁明天可能失效。项目有自动更新机制(background update checks),但更新频率和覆盖率需要持续关注。
  • humanize=True 模拟的是通用人类行为模式。如果你的目标站点对特定行业用户行为有精细化建模,这个模拟可能不够精准。
  • 172 个 commit、50 个 tag,对于一个做安全对抗的项目来说,维护深度还算可以,但团队规模不明,长期可持续性存疑。

谁该关注

如果你在做数据采集、自动化测试、或者需要大规模浏览器操作,CloakBrowser 是目前开源方案里完成度最高、迁移成本最低的选择。

但如果你在做的是合规敏感的事情——比如抓取受版权保护的内容、绕过明确的服务条款——请先搞清楚法律风险。工具是中性的,用途不是。

最新版本 v0.3.29,基于 Chromium 146.0.7680.177.4。新增原生 SOCKS5 代理支持、异步上下文启动、JS contextOptions 逃生通道。

主要来源: