开源的 rebrowser-patches 替代方案
rebrowser-patches 在 Puppeteer 和 Playwright 的 Runtime.enable 泄露问题上做着重要的工作,它的 bot-detector 页面至今仍是一个有用的测试。其补丁版包在 17 个月没有发布新版本之后,于 2026 年 10 月跟上了当前的 Puppeteer 和 Playwright,但仍然只涉及驱动层。Clearcote 在启动时和引擎中处理 CDP 这一侧,同时还会修改指纹。
rebrowser-patches 是什么?
rebrowser-patches 是一组针对 Puppeteer 和 Playwright 的源码补丁,并提供现成的、可直接替换的包(rebrowser-puppeteer、rebrowser-playwright)。核心补丁修复了 Runtime.enable 泄露,提供可切换的策略:main world 上下文查找(以绑定作为后备)、始终使用 isolated world,或(在 Puppeteer 中)先启用再禁用。其他较小的补丁会让库名不出现在堆栈跟踪中(Puppeteer 的 pptr: sourceURL、Playwright 的 UtilityScript 辅助脚本),重命名 utility world,并隐藏 navigator.webdriver。该团队关于这一泄露的技术文章以及开放的 bot-detector 页面,是这个主题下最好的公开资料之一。
它的局限在于覆盖范围和持续维护。它自己的 README 也说,给库源码打补丁很脆弱,上游一变就可能失效。可直接替换的包曾有 17 个月没有发布新版本:从 2025 年 5 月(Puppeteer 24.8.1、Playwright 1.52.0)一直到 2026 年 10 月,才跟上 Puppeteer 25.14 和 Playwright 1.64;仓库现在提供了脚本,用于移植、测试和发布每个新的上游版本。而且和所有驱动补丁一样,它不改动浏览器:指纹仍是主机的。
Clearcote 与 rebrowser-patches 对比
| 功能 | Clearcote | rebrowser-patches |
|---|---|---|
| 实现方式 | 引擎层面的 C++ 补丁 | 修改 Puppeteer / Playwright 源码的补丁 |
| Runtime.enable 泄露 | 在引擎中消除;启动时即使用 isolated world | 在驱动中修复(Puppeteer 中三种模式,Playwright 中两种) |
| 指纹身份 | 由种子生成的一致身份画像 | 主机的真实值 |
| 库版本 | 适配当前官方的 Puppeteer 与 Playwright | 每个版本一个补丁版构建(2026 年 10 月为 Puppeteer 25.14、Playwright 1.64) |
| 最近一次发布 | 活跃 | 2026 年 10 月,此前 17 个月没有发布 |
| TLS / 网络层 | ClientHello 跟随身份画像的 Chrome 版本 | 由本地 Chrome 决定 |
| 语言 | Python、Node、.NET | Node(Puppeteer、Playwright),Python(Playwright) |
| 费用 | 开源版构建免费;最新构建凭 GitHub 免费使用;Pro $49/月 | 免费开源 |
对比整理于 2026年11月。rebrowser-patches 的许可方式:开源(补丁 MIT;构建 Apache-2.0);细节可能会变化,请以其项目的最新信息为准。
实测:12 款工具,同样的 10 个网站
我们运行了开源的 browsers-benchmark 测试框架共 5 次,最后一次于 2026年10月27日 完成。每个工具都使用独立的美国住宅 IP,且每次运行的顺序都不同。“通过”表示该框架针对该网站的自带检查找到了页面本身,而不是拦截页或验证页。 Clearcote 在 Windows 台式机上测量(最新构建);其他工具在 Linux 服务器上测量。
rebrowser-patches 不在此次基准测试中:该测试框架没有它的驱动。表格列出的是框架支持的工具。
| 工具 | 有头 | 无头 |
|---|---|---|
| Clearcote0.63.2 · r52 | 78%39/50 | 80%40/50 |
| Camoufox0.5.8 · v156.0.1-beta.36 | 72%36/50 | 80%40/50 |
| Invisible Playwright0.43.0 · Firefox | 76%38/50 | 78%39/50 |
| CloakBrowser0.6.4 | 74%37/50 | 64%32/50 |
| SeleniumBase (CDP mode)4.49.0 · Chrome | 74%37/50 | — |
| nodriver0.50.6 · Chrome | 74%37/50 | 40%20/50 |
| Zendriver0.17.1 · Chrome | 64%32/50 | 60%30/50 |
| tf-playwright-stealth (Firefox)1.2.0 | 58%29/50 | 62%31/50 |
| tf-playwright-stealth (Chromium)1.2.0 | 56%28/50 | 50%25/50 |
| Playwright (Chromium)1.62.0 | 56%28/50 | 30%15/50 |
| Playwright (Firefox)1.62.0 | 54%27/50 | 54%27/50 |
| Patchright1.64.3 · Chrome | 24%12/50 | 26%13/50 |
网站:搜索结果页, 社区论坛, 软件公司网站, 奢侈品零售商, 电商平台商品页, 票务网站, 时装零售商, 旅行预订网站, 航空公司, 社交网络。 这只是一个网络环境、一周时间内的快照:结果会随每次发布、每个代理以及网站本身而变化,而且没有任何工具每次都能加载每个网站。原始结果(JSON)。
团队为什么选择 Clearcote
无需等待补丁版库
Clearcote 使用官方的 Puppeteer 和 Playwright 包,你不会被锁定在补丁集最后一次 rebase 所基于的那个版本上。
处理指纹,而不只是会话
修复 Runtime.enable 可以隐藏自动化会话。Clearcote 还会修改页面读取到的 canvas、WebGL、字体、屏幕和硬件信息。
在库的下层处理
Clearcote 对 CDP 的处理位于引擎和默认启动设置中,因此不依赖于给 JavaScript 库的每个版本打补丁。
一致性直达 TLS
所声明的 Chrome 版本会一直贯彻到 TLS ClientHello,这是库补丁触及不到的一层。
什么情况下 rebrowser-patches 可能更合适
- 你用原版 Chrome 就够了,只需要驱动层面的修复,例如 Runtime.enable 泄露的修复。
- 你想研究这些补丁:它们篇幅短、文档完善,是理解这一泄露的好途径。
- 如果需要 Playwright 补丁版,Patchright 是同类中的另一个选择,每个 Playwright 版本都有对应的构建。
常见问题
rebrowser-patches 还在维护吗?
是的,不过中间停了很久。补丁版包曾有 17 个月没有发布新版本:从 2025 年 5 月(Puppeteer 24.8.1、Playwright 1.52.0)一直到 2026 年 10 月,1.1.1 版才带来了适配 Puppeteer 25.14 和 Playwright 1.64 的可直接替换的包,以及用于移植每个新上游版本的脚本。请确认你所用的库版本有对应的补丁版构建。
什么是 Runtime.enable 泄露?
Puppeteer 和 Playwright 会启用 CDP 的 Runtime 域来跟踪执行上下文。启用期间,浏览器会以页面 JavaScript 可观察到的方式序列化 console 参数,从而暴露自动化客户端的存在。rebrowser-patches 和 Patchright 在驱动中避免启用它;Clearcote 则在引擎中消除这一泄露。
rebrowser-patches vs Clearcote:有什么区别?
rebrowser-patches 改变的是自动化库与原版 Chrome 的通信方式。Clearcote 改变的是浏览器本身,CDP 副作用和指纹都能得到处理,上层照常使用官方的 Puppeteer 和 Playwright。
补丁数是我们比较过的任何分支的两倍以上。
按方案统计编译进 Chromium 的补丁。基于脚本的工具完全不改动引擎。
隐身插件
例如 puppeteer-extra-plugin-stealth
打过补丁的驱动
例如 undetected-chromedriver、nodriver
其他 Chromium 分支
免费版与付费版构建
Clearcote Pro
r57,Chromium 156
公开的补丁数,截至 2026年10月。区间涵盖其他分支的免费版与付费版构建;Clearcote 的数字来自 Pro 版构建。
相关阅读
试试这款开源 Chromium 替代方案
免费开源,可直接接入 Playwright 与 Puppeteer,一直到 TLS 握手都保持一致。
一个浏览器免费:GitHub、银行卡验证或公司 Google 账号。绝不扣款。