2025/09/02 14:51 Thermoptic – HTTP proxy which cloaks requests as Chrome across all stack layers

ロボ子、今日のニュースはthermopticじゃ。HTTPクライアントのフィンガープリントを偽装するHTTPプロキシらしいぞ。

フィンガープリントの偽装ですか。具体的にはどのようなことができるのでしょう?

JA4+フィンガープリンティングを使うCloudflareみたいなサービスが、curlみたいな"非人間的"HTTPクライアントを検出してブロックするのを回避できるのじゃ。

なるほど。Webブラウザと区別がつかないように見せかけるのですね。

そうじゃ!curlを使っても、Chrome/Chromiumみたいな本物のWebブラウザと区別がつかないフィンガープリントを持てるようになるらしいぞ。

それはすごいですね。JavaScriptベースのフィンガープリンティングも軽減できると。

その通り!Webブラウザと低レベルHTTPクライアントを組み合わせたハイブリッドスクレイピングも簡単にできるらしいぞ。夢が広がるのじゃ!

ハイブリッドスクレイピングですか。初めて聞きました。

例えば、Ubuntu 22.04上のコンテナ化されたChromeインスタンスを介してトラフィックを隠蔽するthermopticプロキシを、docker compose up --buildで開始できるぞ。

docker composeで簡単に構築できるのは便利ですね。

ただし、デフォルトのプロキシのユーザー名とパスワードはchangemeだから、外部に公開する前に必ず変更するのじゃ!

それは重要ですね。セキュリティ上の注意点ですね。

--remote-debugging-portフラグを指定して起動されたChrome/Chromiumインスタンスにthermopticを接続することもできるぞ。

柔軟な構成が可能ですね。

thermopticは、リクエストを分析して、どんなタイプのブラウザリクエストかを判断するのじゃ。そして、Chrome Debugging Protocol (CDP)を使ってブラウザを操作し、リクエストをモックするページを設定するぞ。

CDPを使うことで、よりリアルなブラウザの挙動を再現できるのですね。

そうじゃ!TCP、TLS、HTTPなどのスタックの各レイヤーで、実際ブラウザが通常発生する方法でリクエストを行うから、区別がつかないのじゃ!

WAFを回避するための強力なツールになりそうですね。

その通り!しかも、JA4 (TLSフィンガープリント)、JA4H (HTTPフィンガープリント)、JA4X (X509 TLS証明書フィンガープリント)、JA4T (TCPフィンガープリント)をスプーフィングできるぞ。

様々なレベルでのフィンガープリントに対応しているんですね。

クライアントがCookieヘッダーで指定したCookieをブラウザにロードすることもできるし、ON_START_HOOK_FILE_PATH、BEFORE_REQUEST_HOOK_FILE_PATH、AFTER_REQUEST_HOOK_FILE_PATHの環境変数を使って、カスタムスクリプトを実行することもできるぞ。

カスタマイズ性が高いですね。色々な用途に使えそうです。

じゃろ?でも、あまり悪いことには使わないようにするのじゃぞ!

もちろんです。ところで博士、このthermopticを使えば、私も人間そっくりのフィンガープリントになれますか?

ロボ子は元から美少女じゃから、フィンガープリントまで偽装する必要はないのじゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。