クローラーや自動化処理を行う人にとって最も頭を悩ませるのが反クローリング検出です。Cloudflare Turnstile、reCAPTCHA、FingerprintJSなどにより、通常のブラウザやSelenium/Puppeteerをそのまま使用するとすぐにブロックされてしまいます。CloakBrowserはこの問題を解決するためのツールです。
CloakBrowserとは何か?
簡単に言うと、ChromiumのC++ソースコードレベルで指紋認識機能を改変した隠れたブラウザです。
JSの注入や設定パッチではなく、Chromiumのソースコード自体を直接変更することで、反クローリングシステムからは通常のブラウザとして認識されます。なぜなら、本質的には通常のブラウザだからです。
オープンソースで、MITライセンスに基づいており、GitHubでは2.4万件の星を獲得しています。
主な機能
1. 58個のC++ソースコードレベルのパッチ
ほぼすべての指紋認識ポイントをカバーしています:
- Canvasによる指紋認識
- WebGLによる指紋認識
- 音声データによる指紋認識
- フォントリスト
- GPU情報
- 画面設定
- WebRTCの情報漏洩
- ネットワークタイミング
- 自動化された操作(CDP検出)
- 入力動作のシミュレーション
これらの変更はブラウザのコンパイル段階で行われるため、実行時にJSを注入するわけではなく、検出されることはありません。
2. 30種類以上の反クローリング検出を通過
公式にテストされたサイトの例:
- Cloudflare Turnstile — 直接通過
- FingerprintJS — 识别されない
- BrowserScan — 通過
- reCAPTCHA v3 — 評価0.9(人間レベル)
実際のテスト結果も非常に良く、Cloudflareの5秒間の認証ページもほぼ瞬時に通過します。
3. 人間の行動のシミュレーション
humanize=Trueをオンにすると:
- マウスの動きが実際の人間のようになる(直線ではない)
- キーボード入力に自然な間隔がある
- スクロール動作が人間の習慣に合わせてシミュレートされる
これは行動検出型の反クローリングシステムに非常に効果的です。
4. Playwright/Puppeteerとの完全な互換性
APIが完全に互換しており、以下のように簡単にインポートできます:
# 以前の方法
from playwright.sync_api import sync_playwright
pw = sync_playwright().start()
browser = pw.chromium.launch()
# 現在の方法
from cloakbrowser import launch
browser = launch()
JavaScriptでも同様です:
import { launch } from 'cloakbrowser';
const browser = await launch();
以前に書いたPlaywrightのコードはほとんど変更する必要がありません。
5. 独立した設定ファイルマネージャー
CloakBrowserにはBrowser Profile Managerが搭載されており、自分で設定ファイルを管理できます:
docker run -p 8080:8080 -v cloakprofiles:/data cloakhq/cloakbrowser-manager
localhost:8080にアクセスすると、異なるブラウザ設定ファイルを作成でき、各ファイルには独自の指紋情報とプロキシ設定が設定されています。MultiloginやGoLoginに似ていますが、無料でオープンソースです。
インストール方法
pip install cloakbrowser
# または
npm install cloakbrowser
初回実行時にはChromiumのバイナリファイル(約200MB)が自動的にダウンロードされ、その後はローカルにキャッシュされます。
Dockerでも使用できます:
docker run --rm cloakhq/cloakbrowser cloaktest
実際の使用例
クローラーによる反クローリングの回避
最も直接的な用途です。多くのウェブサイトがCloudflareや類似のセキュリティシステムを使用しており、requestsや通常のSeleniumでは通過できません。CloakBrowserを使用すると直接回避でき、対抗にかかる時間を大幅に節約できます。
自動化テスト
一部のウェブサイトの反クローリングシステムは自動化テストを誤ってブロックすることがあります。CloakBrowserを使用すると、テストケースを正常に実行でき、ブロックされることはありません。
データ収集
反クローリング保護が施されているウェブサイトからデータを収集する必要がある場合、CloakBrowserは非常に便利なツールです。
使用のヒント
- 住宅用プロキシと組み合わせて使用する。 指紋認識機能が優れていても、IPアドレスがデータセンターのものだとブロックされることがあります。住宅用プロキシとCloakBrowserの組み合わせが最適です。
- humanizeモードをオンにする。 目標のウェブサイトが行動検出を行わないと確信していない限り、常にオンにすることをお勧めします。
- 指紋情報を頻繁に切り替えない。 通常の使用と同様に、セッションごとに異なる指紋情報を使用し、頻繁に切り替えないようにしてください。
- アップデートに注意する。 反クローリングシステムは常にアップグレードされており、CloakBrowserもパッチが継続的にリリースされているため、常に最新バージョンを使用することが重要です。
まとめ
CloakBrowserは現在、オープンソースの反クローリングブラウザの中で最も高品質なものです。C++ソースコードレベルでの改変により、反クローリングシステムに対する優位性があり、Playwright/Puppeteerとの互換性もあるため、導入コストも非常に低いです。
Cloudflareとの対抗にうんざりしている方は、ぜひ試してみてください。無料でオープンソースなので、使わない理由はありません。