核心的な違い
Clashにはトラフィックをインターセプトする2つの主要な方法があります:システムプロキシとTUNモードです。根本的な違いはトラフィックをどのレイヤーでインターセプトするかにあります。
システムプロキシはアプリケーション層で動作し、OSのプロキシ設定APIに依存します。その設定を積極的に参照するアプリケーションのみがClash経由でルーティングされます。TUNモードはネットワーク層で動作し、OSのネットワークスタックの深部に仮想ネットワークインターフェースを作成して、ほぼすべての送信パケットをインターセプトします——アプリケーションには完全に透過的です。
この違いを理解すれば選択は明確になります:日常的なブラウジングやほとんどのアプリにはシステムプロキシを使用し、完全なスタックのトラフィックカバレッジが必要な場合はTUNモードを使用します。
システムプロキシとは?
システムプロキシはOSに組み込まれたプロキシ設定メカニズムです。Windowsではレジストリキーと「設定 → ネットワーク → プロキシ」で管理され、macOSでは「システム設定 → ネットワーク → プロキシ」で管理されます。Clashがシステムプロキシを有効にすると、これらの設定を自動的に更新してClashのローカルリスニングポート(デフォルト:HTTPプロキシは7890、SOCKS5は7891)を向くようにします。
システムプロキシがカバーするトラフィック
- 主要なブラウザすべて(Chrome、Firefox、Safari、Edge、Arcなど)——デフォルトでシステムプロキシ設定に従います。
- プロキシ対応のデスクトップアプリのほとんど——Telegram、Slack、VS Codeの拡張機能ダウンロード、npm/pipパッケージマネージャー(設定後)など。
- コマンドラインツール——ターミナルで
http_proxy=http://127.0.0.1:7890を設定すると、curl、wgetなどもClash経由になります。
システムプロキシの制限
- UDPトラフィック:HTTP/SOCKS5プロキシプロトコルは基本的にTCPベースであり、UDPパケットを直接プロキシできません。一部のゲーム、DNSクエリ、ビデオ通話はプロキシを通過しません。
- Windows UWPアプリ:Microsoftストアのアプリは隔離されたネットワークサンドボックスで動作し、システムプロキシ設定を読み取れません。
- プロキシ非対応プログラム:一部のアプリケーションは意図的にシステムプロキシ設定を無視して直接接続します。
- ICMPプロトコル:
pingコマンドはICMPを使用しており、システムプロキシは効果がありません。
TUNモードとは?
TUN(TUNnel)はLinux、macOS、Windowsカーネルがサポートする仮想ネットワークデバイスインターフェースです。ClashがTUNモードを有効にすると、Meta(macOSではutun)という仮想ネットワークインターフェースを作成し、デフォルトゲートウェイをその仮想インターフェースに向けるようにルーティングテーブルを変更します。
その後、システムからのすべての送信トラフィックがこの仮想インターフェースを通じてClashに渡され、ルールエンジンが各パケットをどう処理するかを決定します——直接接続、プロキシ経由、またはリジェクト。インターセプトがネットワークスタックの深部で行われるため、アプリケーションにはこのプロセスが完全に見えません。
機能比較
| 機能 | システムプロキシ | TUNモード |
|---|---|---|
| TCPトラフィック | ✓ 対応 | ✓ 対応 |
| UDPトラフィック | ✗ 非対応 | ✓ 対応 |
| ICMP(ping) | ✗ 非対応 | ✓ 対応 |
| ゲームトラフィック | ✗ 通常非対応 | ✓ 対応 |
| Windows UWPアプリ | ✗ 非対応 | ✓ 対応 |
| 管理者権限 | 不要 | 必要 |
| 設定の手軽さ | 簡単(ワンクリック) | やや複雑 |
| DNSリーク防止 | ✗ 効果なし | ✓ 内蔵DNS制御 |
各モードの使い分け
システムプロキシを選ぶケース:
- 日常的なウェブブラウジングとほとんどのデスクトップアプリ
- 管理者権限を使いたくない場合、または職場の管理されたコンピューターの場合
- Clashを初めて使う場合の最初のステップ——設定が簡単でほとんどのユースケースに対応
TUNモードを選ぶケース:
- オンラインゲーム(UDPトラフィックが必要)
- Windows UWPアプリ(Microsoftストアのゲームやアプリなど)をプロキシ経由にしたい場合
- すべてのトラフィック(プロキシ非対応アプリ含む)をClashに通したい場合
- DNSリークを防ぎたい場合
TUNモードを有効にする方法
Clash Verge Revでは、「設定(Settings)」→「Clash設定(Clash Settings)」→「TUNモード」スイッチをオンにするだけです。初回起動時に管理者権限の確認が表示されます——「許可」をクリックしてください。有効化後はシステムプロキシと同時に使用できます(推奨:TUNモード+システムプロキシの両方をオンにすると、カバレッジが最大になります)。