impersonate-proxy - Local MITM proxy for TLS fingerprint control
Show HN: A local MitM proxy to control TLS fingerprints

impersonate-proxyは、TLSフィンガープリント(JA3/JA4)、HTTP/2フィンガープリント、HTTPヘッダー順序、User-Agentを単一のYAML設定ファイルから制御できるローカルMITMプロキシです。Chrome拡張機能が付属しており、ブラウザのツールバーからプロキシの切り替えやフィンガープリントプロファイルの変更が可能で、プロキシの再起動は不要です。WAFのボット検出システムの認可されたセキュリティテストを目的としており、curl、ブラウザ、Playwrightをプロキシ経由でルーティングすることで、さまざまなフィンガープリントの組み合わせがどのように分類されるかを観察できます。uTLSによるカスタムTLS ClientHello、HTTP/2フレーマーによるSETTINGSや疑似ヘッダー順序の制御、ヘッダーリライターによるIPスプーフィングなど、多層にわたる詳細な制御を提供します。
TLSフィンガープリントからHTTP/2の微細な設定まで、単一のYAMLファイルで完全に制御できるローカルMITMプロキシ。WAFのボット検出を検証するための強力なツールです。
- Retr0id
私は https://github.com/LyleMi/ja3proxy を使うのが好きです。これはまったく同じことを行い、vibe以前の時代に最初に書かれました。
- peter_d_sherman
確かに興味深い!
観察:これ、またはこれのような任意のツール(SSLやTLS接続をネゴシエートできる任意のプロキシ)は、SSLやTLSをネイティブに実装していない単純なブラウザに、SSLやTLSの機能を与えるために使用できるでしょう...
(言い換えれば、もし私が可能な限り単純なWebブラウザ、教育目的のみのWebブラウザを書くとしたら、意図的にそのソースコードをSSL/TLS/暗号化コードから分離するでしょう。なぜか? そうすれば、ブラウザのコード行数が大幅に減り、ソースコードの可読性と理解が大いに向上するからです。SSL/TLS/暗号化は上記のような別のローカルプロキシサーバーに実装でき、単純なブラウザはそれを介してSSL/TLS/暗号化接続を行う能力を得る一方、その追加コードはすべて分離されたままにできます...また、その点で、JavaScript処理(JavaScriptを実行するために必要なすべてのブラウザコード)も独自のローカルサーバーに分離できるでしょう...)
だから、繰り返しますが、非常に興味深い!
- psanford
これらのツールはたくさんあります。私はcurl-impersonate[0]が好きで、curlをChromeやFirefoxとしてフィンガープリントする簡単な方法です。よりプログラム的なアプローチにはCylceTLS[1]もあります。