プロキシを、アイデンティティに合わせて
Europe/Amsterdam に設定されたブラウザが米国の住宅用 IP から接続していれば、1 行のチェックで見つかります。しかも、うっかりやってしまいがちな不一致です。geoip を有効にしてプロキシを渡せば、Clearcote が最初のページを読み込む前に出口 IP を調べ、タイムゾーン、言語、WebRTC のアドレスをそれに合わせて設定します。
プロキシ対応と geoip は、すべてのプランで使えます。
オプション 1 つですべてを揃える
import { launch } from "clearcote";
const browser = await launch({
fingerprint: "account-42",
proxy: { server: "http://gateway:8080", username: "u", password: "p" },
geoip: true, // timezone + languages + WebRTC follow the exit IP
});主なポイント
オプション 1 つで geoip
出口 IP をオフラインの geoip-all-in-one データベースで調べ、タイムゾーン、主要言語、Accept-Language、WebRTC のアドレスをその地域に合わせて設定します。
どこでもひとつのロケール
Accept-Language、navigator.language、Intl.DateTimeFormat、toLocaleString は、ページでも worker でも同じ言語に従います。
認証情報付きの SOCKS5
標準の Chromium は SOCKS5 プロキシの認証を行えません。ライセンスビルドはユーザー名・パスワードによるハンドシェイク(RFC 1929)をエンジン内に実装しているため、ローカルのリレーは不要です。認証情報は個別のフィールドで渡すか、SDK 0.31.1 以降ならプロキシのアドレスの中に書くこともできます。
リークしない WebRTC
デフォルトでは、WebRTC がプロキシを迂回して通信することはできないため、あなた自身のアドレスは外に出ません。geoip(または webrtcIp)を有効にすると、実際にプロキシの背後にいるブラウザと同じように、代わりにプロキシのアドレスを報告します。ライセンスビルドはその場合でも WebRTC の通信を自分の回線に流しませんが、オープンビルドは流すため、ページが選んだリレーからは依然としてあなたのアドレスが見えてしまいます。
位置情報も一致
--fingerprint-location はタイムゾーンに見合った座標に固定するので、Geolocation API と時計が一致します。
プロキシを買わずに済ませる選択肢も
ホスト型ブラウザには、国・州・都市単位のターゲティングとスティッキーセッションに対応した住宅用プロキシが含まれています。
位置情報を揃えなければならない理由
位置は、互いに独立した複数の場所に現れます。IP アドレス、タイムゾーン、言語ヘッダー、数値や日付の書式、WebRTC、そして許可されていれば位置情報です。検知する側は、あなたがどこにいるかを知る必要はありません。そのうちの 2 つが食い違っていれば十分なのです。
geoip は出口 IP を唯一の基準にします。起動時に SDK がプロキシの出口アドレスを解決し、オフラインのデータベースで調べて残りをそれに合わせて設定するので、最初のページからすでに一貫したロケールが見えます。
セッションを信頼する前に、必ず出口を確認してください。黙ってフェイルオープンするプロキシは自分の IP から通信を送ってしまい、ほかのあらゆる対策が意味を失います。起動時に、アクセス元アドレスを返すサービスへリクエストを 1 回送るだけで十分です。
主な用途
地域ごとの結果
その国の訪問者が見るとおりの価格、検索結果、在庫状況。
地域に紐づいたアカウント
アカウントの IP、タイムゾーン、言語を、セッションごとに同じに保ちます。
広告とコンテンツの確認
特定の都市の訪問者に表示される広告、ページ、オファーを確認します。
ローカライズの QA
日付、通貨、翻訳を、現地の訪問者が目にするとおりに確認します。
Clearcote は、プライバシー保護、テスト、研究、合法的な自動化のために作られています。どう使うか、そしてアクセスするサイトの規約を守ることは、利用者ご自身の責任です。
対象プラン
プロキシ対応、タイムゾーンと言語の自動マッチング、プロキシのアドレスを報告する WebRTC は、すべてのプランで使えます。その際に WebRTC の通信を自分の回線に流さないようにする機能と、認証情報付きの SOCKS5 には、ライセンスビルド(GitHub で無料)が必要です。
プランを比較よくある質問
geoip は具体的に何をするのですか?
プロキシの出口 IP を解決し、オフラインの geoip-all-in-one データベースで調べて、その地域に合ったタイムゾーン、言語リスト(Accept-Language、navigator.languages)、位置情報、WebRTC の IP を設定します。地域を特定できない場合は、自分のマシンの時計と言語のまま起動するのではなく、エラーで起動を中止します。
Clearcote は認証付きの SOCKS5 プロキシに対応していますか?
はい、ライセンスビルドで対応しています。ユーザー名とパスワードをプロキシの個別のフィールドで渡すか、SDK 0.31.1 以降ならアドレスの中(socks5://user:pass@host:port)に書くこともできます。それより古い SDK では、アドレスに書いた認証情報がブラウザに届く前に失われていました。Clearcote は、標準の Chromium にはない SOCKS5 のユーザー名・パスワード認証をエンジン内に実装しているため、ローカルのリレーは必要ありません。
WebRTC で実際の IP が漏れませんか?
デフォルトでは漏れません。SDK は WebRTC がプロキシの外に UDP を送れないように設定するため、あなた自身のアドレスは外に出ません。geoip(または webrtcIp)を有効にすると、その IP の背後にいるブラウザと同じように、代わりにプロキシのアドレスを報告します。ライセンスビルドはその場合でも自分の回線に WebRTC の通信を流しませんが、オープンビルドは geoip を有効にすると流すため、ページが選んだリレーからあなたの実際のアドレスが読み取られる可能性があります。WebRTC リークとはもご覧ください。
どの種類のプロキシが使えますか?
認証情報の有無を問わず、HTTP プロキシと SOCKS5 プロキシが使えます(SOCKS5 の認証情報にはライセンスビルドが必要です)。一般ユーザーのブラウザに最もよく合うのは住宅用またはモバイルの出口で、ホスト型ブラウザには住宅用の出口が含まれています。
タイムゾーンは自分で設定する必要がありますか?
geoip を使うなら不要です。手動で設定したい場合は timezone と acceptLanguage(Python では accept_language)を渡してください。Intl と toLocaleString もその言語に従います。
ドキュメントで詳しく
関連する機能
API 呼び出し 1 回でクラウド上に Clearcote ブラウザを起動し、CDP 経由で Playwright や Puppeteer を接続できます。住宅用 IP 込みで、通信量 1 GB 単位の課金です。
アカウントごとに 1 つのシード。セッションのたびに同じデバイス、次のアカウントには別のデバイス。Cookie とストレージは実行をまたいで保持されます。
TLS ハンドシェイクと HTTP/2 フレームは Chromium 自身のネットワークスタックから送られ、バージョン依存のフィールドはペルソナが名乗る Chrome バージョンに従います。
canvas、WebGL、WebGPU、オーディオ、フォント、画面、ハードウェアを C++ のエンジン内で 1 つのシードから導出し、ロケールとタイムゾーンもそれに合わせます。すべての項目が互いに整合します。
関連記事
Clearcote を試す
Playwright & Puppeteer にそのまま組み込め、TLS ハンドシェイクまで整合性を保ちます。まずはオープンソースのビルドから始められます。
GitHub があればブラウザ 1 つまで無料。カード登録は不要です。