このプロジェクトについて

Throughlineは、ネットワーク活動の包括的な可視化と、トラフィックルーティングの直感的な制御を提供する、Linux専用のユーティリティです。Rustで構築され、サードパーティの依存関係は一切なく、監査性とセキュリティを重視しています。このツールは、可視化画面とポリシーエディターの2つの主要なインターフェースで構成されています。 最初の画面では、ホスト上のすべてのネットワーク接続をリアルタイムでマップし、それぞれの接続を、それを開いた特定のプロセス、サービス、またはコンテナに帰属させます。ローカルデバイスから、中間的なローカルサービスを経由して、ネットワークインターフェースを通り、最終的にリモートの宛先に至るまでのパスを可視化します。このビューにより、ユーザーは自分のマシンが何と通信しているのか、またどのように通信しているのかを正確に理解でき、ホストによって開始されたアウトバウンド接続と、ネットワークからのインバウンドリクエストを区別できます。 2つ目の画面は、ドラッグアンドドロップのエディターで、トラフィックの行き先を変更できます。プログラムを「直接出力」、「VPN経由」、「Tor経由」などのカテゴリにドラッグすることで、ルーティングポリシーを定義できます。インターフェースは、それぞれの選択肢の意味を明確に説明し、生成される正確なファイアウォールルール(nftables)とコマンドをプレビューします。重要なのは、変更は自動的に適用されないことです。ユーザーはアクションを明示的に確認する必要があり、これによりカウントダウンタイマー(systemdによって管理)がトリガーされ、一定期間内に確認されない場合は自動的に変更が元に戻されます。この「デッドマンスイッチ」メカニズムは、誤ってロックアウトされたり、壊滅的なルーティングエラーが発生したりすることを防ぎます。 Throughlineは、プロセス所有権、サービス名、接続方向を決定するために、`/proc`や`/etc/services`などのシステムファイルを読み取ります。既知のポートやプロキシのハードコードされたリストを保持するのではなく、ホストの現在の状態から動的に事実を導き出します。このアプローチにより、非標準またはカスタムサービスでも正確性が確保されます。また、このツールには、ユーザー自身の管理セッションをブロックしたり、ルーティングループを作成したり、DNSトラフィックをリークしたりするルールを生成しないようにする、強固な安全チェックが含まれています。ループバックインターフェースでのみローカルで実行されるように設計されており、機密性の高いネットワークトポロジーデータがネットワークに漏洩しないようになっています。ルーティングロジックを隔離されたネットワーク名前空間でテストし、UIの動作を実際のブラウザーで検証するための検証スクリプトも提供されています。