本文へスキップ

オープンソースの Patchright 代替

Patchright は、パッチ済み Playwright の中で最もよくメンテナンスされているもので、ドライバーからの自動化のリークを取り除くドロップイン置き換えです。ブラウザ自体は変えないため、サイトが読み取るフィンガープリントは手元のマシンのままです。Clearcote はその 1 つ下のレイヤー、つまりエンジンで動作し、両者は組み合わせて使えます。

Patchright とは?

Patchright(Vinyzu と Kaliiiiiiiiii による)は、Python・Node.js・.NET 向け Playwright のパッチ済みビルドです。ライセンスは Apache-2.0 で、Playwright のリリースに密接に追従しており(執筆時点で upstream と同じ 1.63)、PyPI で月間約 3.5M、npm で週約 285,000 ダウンロードと広く使われています。対応するのは Chromium ベースのブラウザのみです。

パッチの対象は自動化ドライバーです。分離された実行コンテキストでコードを実行することで Runtime.enable のリークを防ぎ、Console API を無効化し(そのため console イベントは使えません)、--enable-automation を外して --disable-blink-features=AutomationControlled を追加します。closed な shadow root の中にもアクセスできます。初期化スクリプトはリクエストのルーティング経由で渡されますが、これはタイミングから検知されうると README に注記されています。

Patchright があえて手を付けないのがブラウザです。本物の Chrome を使うよう推奨しており、起動した Chrome は実際のハードウェア、GPU、フォント、画面をそのまま報告します。デスクトップならそれが理想的な場合もあります。しかしサーバーや Docker では、実際の値は VM のもの、つまりソフトウェア GPU、Linux のフォントセット、ヘッドレスの画面になります。さらに、そのマシン上のすべてのセッションが 1 つのアイデンティティを共有します。

Clearcote vs Patchright

機能ClearcotePatchright
対象レイヤー ブラウザエンジン(C++ / Blink) Playwright ドライバー
ドライバー / CDP のリーク エンジンが Runtime.enable を無害化、起動時に isolated world を使用 パッチ済みドライバーが Runtime.enable を使わない、Console API は無効
フィンガープリントのアイデンティティ シードから生成する整合性のあるペルソナ(Canvas、WebGL、フォント、navigator、画面) ホストの実際の値
マシンあたりのアイデンティティ数 シードごとに 1 つ、必要なだけ 1 つ:マシンそのもの
サーバーや Docker 上 ペルソナが VM のソフトウェア GPU とフォントを隠す VM の実際のハードウェアを報告
TLS / ネットワーク ClientHello がペルソナの Chrome バージョンに従う 起動した Chrome が送るまま
Playwright リリースへの追従 どのバージョンの素の Playwright でも動作 Playwright のリリースごとにパッチ済みビルド
言語 Python、Node、.NET Python、Node、.NET
料金 オープンビルドは無料、最新ビルドは GitHub で無料、Pro は月額 $49 無料・オープン(Apache-2.0)

比較は 2026年9月 時点のものです。Patchright のライセンス:オープンソース(Apache-2.0)。内容は変わることがあるため、最新情報は各プロジェクトでご確認ください。

Clearcote が選ばれる理由

競合ではなく、別のレイヤー

検知が見る場所は 3 つあります。ドライバー、CDP セッション、そしてフィンガープリントです。Patchright が扱うのは最初の 2 つです。Clearcote はフィンガープリントをエンジン内で扱い、起動時のデフォルト設定で CDP 側にも対処します。

選べるアイデンティティ

素の Chrome 上で Patchright を使う場合、フィンガープリントは実行しているマシンそのものです。Clearcote はシードごとに一貫したマシンを割り当てます。これが最も効いてくるのは、実機が VM に見えてしまうサーバー上です。

ドライバーの追従が不要

Clearcote は公式の Playwright / Puppeteer パッケージで動くので、パッチ済みビルドを待たずに、それぞれのリリーススケジュールでアップグレードできます。

TLS まで整合

ペルソナが名乗る Chrome のバージョンが TLS ClientHello まで反映されるので、ネットワーク層と JavaScript の内容が一致します。

Patchright のほうが向いている場合

  • 実機のデスクトップで本物の Chrome と普通のプロファイルを使っていて、消す必要がある痕跡がドライバー由来のものだけの場合。
  • Playwright をそのまま置き換えられて、ほかに何もインストールしなくて済むものが欲しい場合。
  • あるいは両方使う手もあります。Patchright は任意の Chromium バイナリを受け付けるので、executable_path=clearcote.download() で Clearcote を下に敷けば、ドライバーのパッチはそのまま活かせます。

よくある質問

Patchright と Clearcote、必要なのはどちらですか?

両者が解決するのは別々のレイヤーです。Patchright は Playwright ドライバーにパッチを当て、自動化セッションを見えにくくします。Clearcote はブラウザにパッチを当て、フィンガープリント(Canvas、WebGL、フォント、navigator、TLS)をホストのものではなく、整合性のあるペルソナにします。フィンガープリントが問題なら、Patchright だけではそれは変わりません。

Patchright と Clearcote は併用できますか?

はい。Patchright は任意の Chromium バイナリを起動できます。SDK の download() で Clearcote のパスを取得し、--fingerprint 引数と一緒に executable_path として渡してください。

Patchright はブラウザフィンガープリントを変えますか?

いいえ。変更するのは起動フラグと、ドライバーがブラウザとやり取りする方法です。Canvas、WebGL、フォント、画面、ハードウェアは、実行している Chrome と、それが動くマシンに由来します。

Patchright で console.log が動かないのはなぜですか?

Patchright は、CDP の Runtime ドメインと Console ドメインが持つ、検知につながる副作用を避けるために Console API を無効化しています。コンソール出力が必要なら JavaScript のロガーを使うよう、README で勧めています。

関連記事

Q&AWhat 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.ドキュメントボット検知の仕組みと JS 偽装の限界ボット検知の 3 つの層、JS の偽装が自ら正体を明かす理由(toString、ディスクリプタ、レルム)、C++ エンジンで JS と TLS の整合性を保つ方法。比較Clearcote vs rebrowser-patchesrebrowser-patches は Puppeteer と Playwright の Runtime.enable リークについて重要な成果を残し、その bot-detector ページは今も有用なテストです。ただしパッチ済みパッケージの最終リリースは 2025 年 5 月で、対象もドライバーだけです。Clearcote は CDP 側に起動時とエンジン内で対処し、フィンガープリントも変更します。比較Clearcote vs CamoufoxCamoufox は Firefox ベースの、よくできたオープンソースのアンチディテクトブラウザです。Clearcote は同じエンジンレベルのアプローチを Chromium で実現しているため、自動化で見せるブラウザが、利用者約 3% のものではなく、Web の約 69% が実際に使っているものになります。比較Clearcote vs CloakBrowserCloakBrowser は多くのユーザーを抱える、実力のあるエンジンレベルのステルス Chromium ですが、パッチ済みのバイナリはクローズドソースです。Clearcote も同じくエンジンレベルで、より新しい Chromium を使い、すべてのパッチを読んで再ビルドできるオープンビルドを提供しています。比較Clearcote vs undetected-chromedriverundetected-chromedriver は今も月間ダウンロード数が約 2M ありますが、最終リリースは 2024 年 2 月です。素の Chrome 上で Selenium/ChromeDriver の継ぎ目を隠すもので、フィンガープリントやネットワーク層には一切手を付けません。Clearcote はその両方をエンジン内で変えます。

オープンソースの Chromium 代替を試す

無料のオープンソース。Playwright & Puppeteer にそのまま組み込め、TLS ハンドシェイクまで整合性を保ちます。

GitHub があればブラウザ 1 つまで無料。カード登録は不要です。