オープンソースの undetected-chromedriver 代替
undetected-chromedriver は今も月間ダウンロード数が約 2M ありますが、最終リリースは 2024 年 2 月です。素の Chrome 上で Selenium/ChromeDriver の継ぎ目を隠すもので、フィンガープリントやネットワーク層には一切手を付けません。Clearcote はその両方をエンジン内で変えます。
undetected-chromedriver とは?
undetected-chromedriver(ultrafunkamsterdam 作)は、Selenium の ChromeDriver にパッチを当てて、わかりやすい自動化の痕跡を取り除く Python ライブラリです。注入される cdc_ 変数を無害化し、--enable-automation などのフラグを外したうえで、改変されていない本物の Chrome を操作します。ライセンスは GPL-3.0 で、GitHub スターは約 12,800、PyPI の月間ダウンロード数は今も約 2M あります。
開発は停滞気味です。PyPI の最終リリース(3.5.5)は 2024 年 2 月で、作者の力は後継の nodriver に移っています。そもそもの限界は、隠せるのがドライバーだけという点にありました。Chrome エンジンは素のままなので、Canvas、WebGL、フォント、そして navigator の値はすべてマシンが報告するとおりで、TLS と HTTP/2 のフィンガープリントもその Chrome が送るとおりです。Selenium ユーザーにとって、活発にメンテナンスされている後継は SeleniumBase の UC Mode です。
Clearcote vs undetected-chromedriver
| 機能 | Clearcote | undetected-chromedriver |
|---|---|---|
| アプローチ | エンジンレベルの C++ パッチ:ネイティブな値 | 素の Chrome 上のパッチ済み chromedriver |
| フィンガープリントの制御 | 整合性のあるペルソナ(Canvas、WebGL、フォント、navigator) | ホストの実際の値 |
| TLS / ネットワークの整合性 | 名乗る Chrome に一致(JA3/JA4 + HTTP/2) | ローカルの Chrome が送るまま |
| フレームワーク | Playwright と Puppeteer(Python、Node、.NET)、CDP | Selenium(Python) |
| メンテナンス状況 | 活発 | 最終リリースは 2024 年 2 月 |
| ライセンス | オープンビルドは BSD-3 | GPL-3.0(コピーレフト) |
| 料金 | オープンビルドは無料、最新ビルドは GitHub で無料 | 無料・オープン |
比較は 2026年9月 時点のものです。undetected-chromedriver のライセンス:オープンソース(GPL-3.0)。内容は変わることがあるため、最新情報は各プロジェクトでご確認ください。
Clearcote が選ばれる理由
隠すべき継ぎ目がない
undetected-chromedriver がするのは、ドライバーの痕跡の名前を変えることで、ブラウザ自体は素のままです。エンジンレベルのパッチはネイティブの値そのものを変えるので、検知されるような注入物がそもそもありません。
ネットワーク層も
TLS と HTTP/2 は、実行する Chrome 任せです。Clearcote はハンドシェイクを、名乗っている Chrome のバージョンに一致させます。ドライバーへのパッチでは届かない層です。
レルムをまたいで整合
ネイティブの値は、メインフレームでも Web Worker でもクロスオリジン iframe でも一致します。ドライバーや JavaScript の小細工は、こうした場所で食い違うことがよくあります。
現行の Chromium でメンテナンス
Chrome も検知も数週間ごとに変わっていきます。Clearcote は現行の Chromium で提供されていますが、undetected-chromedriver は 2024 年初頭からリリースがありません。
undetected-chromedriver のほうが向いている場合
- すでに undetected-chromedriver を使っている既存の Selenium スクリプトがあり、ChromeDriver の痕跡さえ消せればよい場合。
- 対象サイトの判定が緩く、管理するバイナリを一切増やしたくない場合。
- 長期的に Selenium を使い続けるなら、メンテナンスされている選択肢は SeleniumBase です。
よくある質問
undetected-chromedriver は今もメンテナンスされていますか?
PyPI の最終リリースは 2024 年 2 月の 3.5.5 で、リポジトリも 2025 年半ば以降ほとんど動きがありません。今もインストールでき広く使われていますが、作者の新しい開発は nodriver に移っています。
undetected-chromedriver だけで検知を避けられますか?
判定の緩い検知や古い検知に対しては、多くの場合は十分です。厳しいシステムに対しては構造的な限界があります。ChromeDriver の継ぎ目は隠しますが、動かすのは素の Chrome なので、エンジンのフィンガープリントと TLS/HTTP-2 層は変わりません。
Clearcote は何が違うのですか?
undetected-chromedriver は、普段使いの Chrome の上で動く Selenium ドライバーにパッチを当てます。Clearcote は改造 Chromium で、フィンガープリントはエンジン内で変更され(ネイティブで、ワーカーや iframe をまたいでも整合)、TLS/HTTP-2 スタックも名乗っている Chrome のバージョンに従います。
関連記事
オープンソースの Chromium 代替を試す
無料のオープンソース。Playwright & Puppeteer にそのまま組み込め、TLS ハンドシェイクまで整合性を保ちます。
GitHub があればブラウザ 1 つまで無料。カード登録は不要です。