オープンソースの 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 自身が、ライブラリのソースにパッチを当てる方法は upstream の変更で壊れうるため脆いと述べています。置き換え用パッケージは 2025 年 5 月(Puppeteer 24.8.1、Playwright 1.52.0)から 17 か月間リリースがなく、2026 年 10 月に Puppeteer 25.14 と Playwright 1.64 に追いつきました。現在のリポジトリには、upstream の新しいバージョンごとに移植・テスト・リリースを行うスクリプトがあります。そして、あらゆるドライバーパッチと同様にブラウザは素のままなので、フィンガープリントはホストのものです。
Clearcote vs rebrowser-patches
| 機能 | Clearcote | rebrowser-patches |
|---|---|---|
| アプローチ | エンジンレベルの C++ パッチ | Puppeteer / Playwright のソースへのパッチ |
| Runtime.enable リーク | エンジン内で無害化、起動時に isolated world を使用 | ドライバー内で修正(Puppeteer では 3 つ、Playwright では 2 つのモード) |
| フィンガープリントのアイデンティティ | シードから生成する整合性のあるペルソナ | ホストの実際の値 |
| ライブラリのバージョン | 現行の公式 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)。内容は変わることがあるため、最新情報は各プロジェクトでご確認ください。
実測:同じ 10 サイトで 12 個のツールを比較
オープンソースの 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 |
サイト:検索結果ページ, コミュニティフォーラム, ソフトウェア企業のサイト, 高級品小売店, マーケットプレイスの商品ページ, チケット販売サイト, ファッション小売店, 旅行予約サイト, 航空会社, ソーシャルネットワーク。 これは 1 つのネットワーク、1 週間分のスナップショットです。結果はリリースやプロキシ、サイト自体の変化によって毎回変わり、すべてのサイトを毎回読み込めたツールはありませんでした。生データ(JSON)。
Clearcote が選ばれる理由
パッチ済みライブラリを待つ必要なし
Clearcote は公式の Puppeteer / Playwright パッケージで動くので、パッチセットが最後にリベースされたバージョンに縛られることはありません。
セッションだけでなく、フィンガープリントも
Runtime.enable を修正すれば自動化セッションは隠せます。Clearcote はそれに加えて、ページが読み取る Canvas、WebGL、フォント、画面、ハードウェアも変更します。
ライブラリより下の層で対処
Clearcote の CDP 対策はエンジンと起動時のデフォルト設定にあるので、JavaScript ライブラリのリリースごとにパッチを当てる必要はありません。
TLS まで整合
名乗っている Chrome のバージョンは TLS ClientHello まで反映されます。ライブラリへのパッチでは届かない層です。
rebrowser-patches のほうが向いている場合
- 素の Chrome で十分で、Runtime.enable リークのようなドライバー側の修正だけが必要な場合。
- パッチそのものを学びたい場合。短くてドキュメントも充実しており、このリークを理解するのによい教材です。
- パッチ済み Playwright が欲しいなら、同じカテゴリーのもう 1 つの選択肢として、Playwright のリリースごとにビルドがある Patchright があります。
よくある質問
rebrowser-patches は今もメンテナンスされていますか?
はい。ただし、長い空白期間がありました。パッチ済みパッケージは 2025 年 5 月(Puppeteer 24.8.1、Playwright 1.52.0)から 17 か月間リリースがなく、2026 年 10 月のバージョン 1.1.1 で、Puppeteer 25.14 と Playwright 1.64 向けの置き換え用パッケージと、upstream の新しいバージョンごとにパッチを移植するスクリプトが加わりました。使っているライブラリのバージョンに対応したパッチ済みビルドがあるか確認してください。
Runtime.enable リークとは何ですか?
Puppeteer と Playwright は、実行コンテキストを追跡するために CDP の Runtime ドメインを有効にします。有効な間、ブラウザは console の引数をページの JavaScript から観測できる形でシリアライズするため、自動化クライアントの存在が露見します。rebrowser-patches と Patchright はドライバー側でこれを有効にしないようにし、Clearcote はエンジン側で無害化します。
rebrowser-patches と Clearcote の違いは?
rebrowser-patches が変えるのは、自動化ライブラリが素の Chrome とやり取りする方法です。Clearcote はブラウザ自体を変えるので、CDP の副作用とフィンガープリントの両方に対処でき、その上で公式の Puppeteer や Playwright を使えます。
比較したどのフォークと比べても 2 倍以上のパッチ数。
Chromium にコンパイルされたパッチの数を、アプローチ別に示します。スクリプトベースのツールはエンジンをまったく変更しません。
ステルスプラグイン
例:puppeteer-extra-plugin-stealth
パッチ済みドライバー
例:undetected-chromedriver、nodriver
他の Chromium フォーク
無料ビルドと有料ビルド
Clearcote Pro
r57、Chromium 156
公開されているパッチ数(2026年10月 時点)。範囲は他のフォークの無料ビルドと有料ビルドを含みます。Clearcote の数値は Pro ビルドのものです。
オープンビルドのパッチは公開されています
無料のオープンビルドは BSD-3 で、ソースから再現でき、アカウントも不要です。Pro ビルドは、その上に非公開のパッチを加えています。
GitHub で開くエンジンのリリース 57 回、Chromium メジャーバージョン 7 世代
すべてのパッチを新しい Chromium ごとに移植しています。最新ビルドは新しいメジャーバージョンに公開当日に対応します。
リリースを見る関連記事
オープンソースの Chromium 代替を試す
無料のオープンソース。Playwright & Puppeteer にそのまま組み込め、TLS ハンドシェイクまで整合性を保ちます。
ブラウザ 1 つまで無料:GitHub、カード確認、または会社の Google アカウント。請求は一切ありません。