跳到正文

开源的 rebrowser-patches 替代方案

rebrowser-patches 在 Puppeteer 和 Playwright 的 Runtime.enable 泄露问题上做了重要工作,它的 bot-detector 页面至今仍是一个有用的测试。但补丁版包最后一次发布是在 2025 年 5 月,而且只涉及驱动层。Clearcote 在启动时和引擎中处理 CDP 这一侧,同时还会修改指纹。

rebrowser-patches 是什么?

rebrowser-patches 是一组针对 Puppeteer 和 Playwright 的源码补丁,并提供现成的、可直接替换的包(rebrowser-puppeteer、rebrowser-playwright)。核心补丁修复了 Runtime.enable 泄露,提供三种可切换的策略:main world 绑定、始终使用 isolated world,或先启用再禁用。其他较小的补丁会重命名 Puppeteer 的 pptr: sourceURL 及其 utility world。该团队关于这一泄露的技术文章以及开放的 bot-detector 页面,是这个主题下最好的公开资料之一。

它的局限在于覆盖范围和时效性。它自己的 README 也说,给库源码打补丁很脆弱,上游一变就可能失效。可直接替换的包最后一次发布是在 2025 年 5 月,对应 Puppeteer 24.8.1 和 Playwright 1.52.0;此后上游已经发展到 Puppeteer 25.11 和 Playwright 1.63。而且和所有驱动补丁一样,它不改动浏览器:指纹仍是主机的。

Clearcote 与 rebrowser-patches 对比

功能Clearcoterebrowser-patches
实现方式 引擎层面的 C++ 补丁 修改 Puppeteer / Playwright 源码的补丁
Runtime.enable 泄露 在引擎中消除;启动时即使用 isolated world 在驱动中修复(三种模式)
指纹身份 由种子生成的一致身份画像 主机的真实值
库版本 适配当前官方的 Puppeteer 与 Playwright 锁定在 Puppeteer 24.8.1 / Playwright 1.52.0
最近一次发布 活跃 2025 年 5 月
TLS / 网络层 ClientHello 跟随身份画像的 Chrome 版本 由本地 Chrome 决定
语言 Python、Node、.NET Node(Puppeteer、Playwright),Python(Playwright)
费用 开源版构建免费;最新构建凭 GitHub 免费使用;Pro $49/月 免费开源

对比整理于 2026年9月。rebrowser-patches 的许可方式:开源(补丁 MIT;构建 Apache-2.0);细节可能会变化,请以其项目的最新信息为准。

团队为什么选择 Clearcote

无需等待补丁版库

Clearcote 使用官方的 Puppeteer 和 Playwright 包,你不会被锁定在补丁集最后一次 rebase 所基于的那个版本上。

处理指纹,而不只是会话

修复 Runtime.enable 可以隐藏自动化会话。Clearcote 还会修改页面读取到的 canvas、WebGL、字体、屏幕和硬件信息。

在库的下层处理

Clearcote 对 CDP 的处理位于引擎和默认启动设置中,因此不依赖于给 JavaScript 库的每个版本打补丁。

一致性直达 TLS

所声明的 Chrome 版本会一直贯彻到 TLS ClientHello,这是库补丁触及不到的一层。

什么情况下 rebrowser-patches 可能更合适

  • 你本来就锁定在 Puppeteer 24 或 Playwright 1.52,并且只需要 Runtime.enable 的修复。
  • 你想研究这些补丁:它们篇幅短、文档完善,是理解这一泄露的好途径。
  • 如果需要持续维护的 Playwright 补丁版,Patchright 是同类中积极更新的选择。

常见问题

rebrowser-patches 还在维护吗?

补丁版包最后一次发布是在 2025 年 5 月,基于 Puppeteer 24.8.1 和 Playwright 1.52.0。如果要搭配更新的库版本使用,请先查看仓库的当前状态。

什么是 Runtime.enable 泄露?

Puppeteer 和 Playwright 会启用 CDP 的 Runtime 域来跟踪执行上下文。启用期间,浏览器会以页面 JavaScript 可观察到的方式序列化 console 参数,从而暴露自动化客户端的存在。rebrowser-patches 和 Patchright 在驱动中避免启用它;Clearcote 则在引擎中消除这一泄露。

rebrowser-patches vs Clearcote:有什么区别?

rebrowser-patches 改变的是自动化库与原版 Chrome 的通信方式。Clearcote 改变的是浏览器本身,CDP 副作用和指纹都能得到处理,上层照常使用官方的 Puppeteer 和 Playwright。

相关阅读

问答What is CDP detection?The Chrome DevTools Protocol drives automation but leaves side-effects — Runtime.enable, injected init scripts, main-world execution — that a page can observe. Spotting those is CDP detection.对比Clearcote 与 Patchright 对比Patchright 是目前维护得最好的 Playwright 补丁版:可直接替换原版,消除驱动层的自动化泄露。它不改变浏览器本身,所以网站读到的指纹仍然是你这台机器的。Clearcote 则往下深入一层,在引擎中工作,两者可以组合使用。研究How automation gets caught, layer by layerFrom the WebDriver flag to the TLS handshake — the distinct layers a detector reads, and why fixing one rarely helps.对比Clearcote 与 Camoufox 对比Camoufox 是一款做得很好的开源指纹浏览器,基于 Firefox。Clearcote 把同样的引擎层面思路用在 Chromium 上,让你的自动化呈现的是约 69% 的网民实际在用的浏览器,而不是只有约 3% 的人在用的那一款。对比Clearcote 与 CloakBrowser 对比CloakBrowser 是一款能力扎实的引擎层面 stealth Chromium,用户众多,但其打过补丁的二进制文件是闭源的。Clearcote 同样工作在引擎层面,运行更新的 Chromium,并提供开源版构建,其中每个补丁你都能阅读并重新构建。对比Clearcote 与 undetected-chromedriver 对比undetected-chromedriver 每月下载量仍有约 2M 次,但它的最后一个版本发布于 2024 年 2 月。它在原版 Chrome 上隐藏 Selenium/ChromeDriver 的痕迹,却完全不涉及指纹或网络层。Clearcote 在引擎中同时修改这两者。

试试这款开源 Chromium 替代方案

免费开源,可直接接入 Playwright 与 Puppeteer,一直到 TLS 握手都保持一致。

通过 GitHub 可免费使用一个浏览器。无需信用卡。