GLOSSARY · TERM INDEX · 用語インデックス

Clash 用語解説:プロキシ用語22項目を分類整理

設定やトラブル対処で最も頻出する22の用語を、プロトコル・内核とクライアント・設定とルール・動作モード・ネットワーク基礎の5つの区分に分けて整理した。各項目には定義と実際の運用上の注意点を記載しており、聞き慣れない項目に出会ったときはこのページで確認できる。用語は完全ドキュメントチュートリアルに登場する際もここでの意味と一致する。

PROTO

プロトコル

4項目・ノード接続方式
PROTO-01Shadowsocks

軽量な暗号化プロキシプロトコルで、2012年以降コミュニティで広く使われている。クライアントとサーバーは事前共有のパスワードと指定した暗号方式で接続を確立し、設定項目が少なくオーバーヘッドも低い。Clash系クライアントは主要な暗号スイートをネイティブでサポートし、サブスクリプションのノード一覧で最も一般的なプロトコルの一つ。

PROTO-02VMess

V2Rayプロジェクトが定義した通信プロトコルで、ユーザーのUUIDによって認証を行い、WebSocketやgRPCなど複数のトランスポート層とTLSを組み合わせられる。設定項目はShadowsocksより多く、server、port、uuid、networkのいずれかを間違えると接続に失敗する。通常のHTTPSトラフィックに偽装する用途でよく使われる。

PROTO-03Trojan

「プロキシ通信を通常のTLS接続に見せる」ことを設計目標としたプロトコル。サーバーは通常443ポートで待ち受け、パスワードで認証を行う。認証に失敗した接続は実在するウェブサイトへ転送され、能動的な検知を受けにくくする仕組みになっている。サーバー側には有効な証明書が必要だが、クライアント側の設定は比較的シンプル。

PROTO-04Hysteria2

QUIC(UDP)をベースにしたプロキシプロトコルで、独自の輻輳制御アルゴリズムを備え、パケットロスが多い長距離の国際回線向けに最適化されている。mihomoカーネルには標準で対応しているが、オリジナルのClashカーネルではこの種のノードを読み込めない。利用前にはローカルネットワークが対象ポートのUDP通信をブロックしていないか確認する必要があり、そうでない場合はノードがタイムアウト表示になる。

CORE

内核とクライアント

4項目・ソフトウェア構成
CORE-01Clashカーネル

Go言語で書かれたルールベースのプロキシカーネルで、ローカルポートの監視、設定ファイルの解析、ルールに基づく各接続の振り分けを担う。各種グラフィカルクライアントは実質的にこのカーネルの外側の皮であり、オン/オフの切り替えやサブスクリプション管理の画面を提供しているにすぎない。オリジナルのリポジトリは2023年に更新が停止し、現在はコミュニティのフォークが引き継いで保守している。

CORE-02mihomo

コミュニティが保守するClashカーネルのフォークで、以前はClash.Metaという名称だった。オリジナルのカーネルに加えてVLESS、Hysteria2、TUICなどのプロトコルをサポートし、DNSとTUNの実装もより完成度が高い。現在主流のクライアント(Clash Verge Rev、FlClashなど)は標準でこのフォークを搭載しており、従来の設定形式にも対応している。

CORE-03Clash Verge Rev

Tauriフレームワークをベースにしたクロスプラットフォームのグラフィカルクライアントで、mihomoカーネルを内蔵し、Windows・macOS・Linuxの3プラットフォームに対応している。サブスクリプション管理、システムプロキシとTUNの切り替え、Merge・Script設定の拡張機能などを備え、Clash for Windowsの開発終了後によく選ばれる代替候補となっている。各プラットフォームのインストーラーはクライアントページを参照。

CORE-04外部コントローラー

設定内のexternal-controllerフィールドを指し、カーネルが公開するRESTful APIのアドレスで、デフォルトでは127.0.0.1:9090で待ち受ける。Webパネル(metacubexdなど)はこれを通じてノードの遅延を取得し、策略グループを切り替え、リアルタイムの接続状況を確認する。待ち受けアドレスを外部からアクセス可能な形に変更する場合は、同時にsecretパスワードを設定し、同一ネットワーク内の他の機器から操作されないようにすべき。

CONF

設定とルール

6項目・設定ファイル構成
CONF-01サブスクリプションリンク

サービス提供者が発行するURLで、アクセスすると完全な設定やノード一覧が返される。クライアントは一定周期または手動操作で再取得し、ノードの増減やアドレスの変更を同期する。リンク自体は認証情報に等しく、流出すると他人がそのまま自分のアカウントの通信量を消費できてしまうため、公開の場に貼らないこと。取り込み手順はチュートリアルページを参照。

CONF-02Profile(プロファイル)設定

クライアントが読み込む一つの完全な設定単位で、ポート、DNS、ノード、策略グループ、ルールなどすべてのセクションを含む。1つのクライアントに複数のProfileを保存でき、同時にアクティブになるのは1つだけ。サブスクリプションから取得した設定もProfileの形でローカルに保存され、サブスクリプションを更新すると対応するファイルが上書きされる。

CONF-03YAML

Clashの設定に使われるテキスト形式で、インデントによって階層関係を表現する。インデントは半角スペースで統一し、Tab文字は使用禁止。インデントのずれとコロンの後にスペースがないことが、設定を読み込めなくなる最も多い2つの原因。手動で設定を編集する前には元ファイルをバックアップしておき、読み込みエラーが出た場合はまずエラー行付近のインデントを確認するとよい。

CONF-04策略グループ

設定内のproxy-groupsセクションを指し、複数のノードを1つの選択可能な出口集合としてまとめる。selectタイプはユーザーが手動で選択し、url-testは測定結果に基づいて最速のノードを自動選択、fallbackは順番にフェールオーバーを行い、load-balanceは複数ノード間で通信を分散させる。ルールの終端が指すのは通常、個別のノードではなく策略グループ。

CONF-05ルール振り分け

設定内のrulesセクションで定義されるマッチングリストで、ドメインのキーワード、ドメインサフィックス、IP範囲、プロセス名などの条件を上から順に照合し、最初に一致した条件が適用されて、その接続をプロキシ経由・直接接続・拒否のいずれにするかを決める。リストの末尾にあるMATCHルールは、どこにも一致しなかった通信をまとめて処理する受け皿で、ルールの順序が振り分け結果に直接影響する。

CONF-06GeoIP / GeoSite

事前にコンパイルされた2種類のルールデータベース。GeoIPはIPの帰属地で照合し(GEOIP,CNなら中国本土のすべてのIPに一致)、GeoSiteは整備されたドメインリストで照合する(GEOSITE,category-adsなど)。いずれも何千何万件というルールを1行の参照にまとめられるもので、データファイルはカーネルとともに配布され、精度を保つために定期的な更新が必要。

MODE

動作モード

4項目・通信の引き受け方式
MODE-01システムプロキシ

クライアントが本機のHTTP/SOCKSプロキシ設定をOSに書き込み、その設定に従うアプリ(ブラウザや大半のネットワークソフト)が自動的にClashの待ち受けポートへ通信を送るようにする仕組み。一部のソフトはシステムプロキシ設定を読み取らず、その通信は引き受けられないため、TUNモードに切り替えるか、ソフト内で個別にプロキシアドレスを入力する必要がある。

MODE-02TUNモード

システム内に仮想ネットワークカードを作成し、本機のIP層のすべての通信をカーネルに引き込んで処理する仕組みで、アプリがプロキシ設定に従っているかどうかに依存しないため、コマンドラインツールやゲームクライアントなどもカバーできる。有効化には管理者またはroot権限が必要で、Fake-IPとDNSハイジャックの設定を併用することが推奨される。そうしないと名前解決の異常が起きやすい。

MODE-03Fake-IP

DNS応答の一種の方式で、カーネルはドメインの問い合わせに対しまず予約されたネットワーク範囲内の仮のIP(デフォルトは198.18.0.0/16)を返し、実際の接続が来た時点でドメイン名によるルールマッチングを行うことで、実際の名前解決を待つ時間を省く。Fake-IPと従来のredir-hostモードを切り替えた後は、システムのDNSキャッシュをクリアしておくことが推奨される。残っているマッピングによるアクセス異常を避けられる。

MODE-04UWPループバック除外

WindowsのUWPアプリ(Microsoft Storeアプリ)は、デフォルトでシステムによって本機のループバックアドレスへの接続が禁止されており、127.0.0.1で待ち受けるローカルプロキシポートを利用できない。CheckNetIsolationコマンドやクライアント内蔵のループバック除外ツールを使って、該当アプリの制限を解除する必要がある。Microsoft StoreやXbox系アプリの通信異常の多くはこれが原因。

NET

ネットワーク基礎

4項目・基本概念
NET-01DNS漏洩

プロキシは有効になっているにもかかわらず、ドメインの名前解決要求が依然として直接ローカルのプロバイダーDNSに送られてしまい、アクセス先がローカルネットワークに露出してしまう状態。DNS要求がカーネルに引き受けられていないことが主な原因で、TUNモードとDNSハイジャックの併用、またはFake-IPモードの利用で回避できる。対処後は漏洩検知サイトで結果を確認するとよい。

NET-02レイテンシ測定

クライアントが指定のテスト用アドレス(よく使われるのはhttp://www.gstatic.com/generate_204)にリクエストを送り、要した時間をミリ秒単位で記録する仕組み。数値は接続の往復時間を反映するもので、ダウンロード帯域幅とは異なり、レイテンシが低いノードが必ずしも高速というわけではない。url-testタイプの策略グループはこの結果に基づいて現在の出口を自動選択する。

NET-03混合ポート

設定内のmixed-portフィールドを指し、同一のローカルポートでHTTPとSOCKS5の両方のプロキシリクエストを受け付ける。よく使われるデフォルト値は7890。アプリ側はどちらのプロトコルでプロキシを設定していても同じポートを指定できるため、HTTP用とSOCKS用のポートを別々に覚える手間がない。

NET-04DoH / DoT

DNS over HTTPSとDNS over TLSの略称で、平文のDNS問い合わせを暗号化されたチャネルに包んで送信する仕組み。Clash設定のnameserverリストはhttps://やtls://というプレフィックス表記でこうしたサーバーを直接指定できるため、解析結果が通信経路上で改ざんされたり傍受されたりする確率を下げられる。