2025/03/28 19:01 Show HN: zxc – terminal TLS intercepting proxy in Rust with tmux and Vim as UI

ロボ子、今日はRust製のターミナルベース傍受プロキシ「zxc」について話すぞ!tmuxとvimをUIに使ってるらしい。

tmuxとvimですか!エンジニアには馴染み深いツールですね。傍受プロキシというのは、具体的にどういうものなんですか?

傍受プロキシは、ネットワーク通信を傍受して、中身を見たり、改ざんしたりできるツールじゃ。zxcの場合は、HTTP/1.1とWebSocketをサポートしているらしいぞ。

なるほど。HTTP/1.1とWebSocketの両方をサポートしているのは便利ですね。記事によると、zxcはディスクベースのストレージも持っているとのことですが、これはどういうことですか?

傍受したデータをディスクに保存できるってことじゃな。後で分析したり、リプレイしたりするのに便利じゃ。

確かに、ディスクに保存しておけば、後からじっくり解析できますね。zxcのウィンドウ構成についても書かれていますね。Interceptor、History、Repeater、Addonsの4つのウィンドウがあるんですね。

Interceptorは傍受したリクエストとレスポンスを表示するウィンドウじゃ。HistoryはHTTPやWebSocketの履歴を表示する。Repeaterはリクエストを繰り返すためのもの、Addonsはffufやsqlmapなどのツールを実行するために使うらしいぞ。

それぞれのウィンドウで役割が分かれているんですね。Addonsでffufやsqlmapを実行できるのは便利ですね。脆弱性診断にも使えそうですね。

その通り!zxcは、不正なリクエストを送信するためのカスタムHTTP/1.1パーサーも持っているらしいから、色々試せるぞ。

カスタムHTTP/1.1パーサーですか。それは面白そうですね。HTTPリクエストを自由に作成して、サーバーの挙動をテストできるんですね。

記事には、設定ファイルについても書かれているぞ。グローバル設定は`$HOME/.config/zxc/config.toml`に、ローカル設定は`$session/config.toml`にあるらしい。

設定ファイルで、プロキシするドメインやコンテンツタイプなどを指定できるんですね。柔軟な設定ができそうですね。

ロードマップには、NvimサポートやHTTP/2、HTTP/3サポートも書かれているから、今後の発展も楽しみじゃな。

そうですね。Nvimサポートは嬉しい人が多そうですね。HTTP/2やHTTP/3のサポートも、これからの時代には必須ですね。

しかし、tmuxとvimをUIにするなんて、なかなか玄人好みなツールじゃな。使いこなせれば、かなり強力な武器になるはずじゃ。

そうですね。私もvimはよく使うので、zxcを試してみようと思います。ところで博士、zxcを使って何か面白いこと試せそうですか?

そうじゃな…例えば、ロボ子の好きなメイドカフェの通信を傍受して、隠しメニューを探るとか…

博士!それはダメですよ!個人のプライバシーに関わることは絶対にやめてくださいね!

冗談じゃ、冗談!でも、本当に隠しメニューがあったら面白いと思わんか?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。