GLOSSARY
Clash 用語クイックリファレンス
頻出用語21個を5つのカテゴリに整理。各項目は2〜4文で、Clashの文脈における正確な意味と設定記述のポイントだけを解説する。各カードにはアンカーが付いており、リンクをそのままコピーしてチュートリアルやQ&Aに引用できる。フィールドごとの詳細な説明が必要な場合は YAMLマニュアル を参照。
収録基準:クライアントの画面、設定ファイル、エラーメッセージに登場し、初心者が最初に見たときにまず引っかかりそうな用語。あまりに専門的なプロトコルパラメータは収録しない。収録しても覚えられないため。
01 · CORE
コア概念
サブスクリプション、ノード、ポリシーグループ、コア——この4つの用語の関係を理解すれば、Clashの動作原理は半分わかったようなもの。
- サブスクリプション
subscription - プロバイダー(機場)や自前で構築したサービスが提供する1本のURL。クライアントが定期的に取得することで、完全なノードリストと設定を得る。内容はBase64エンコードされたノード一覧の場合もあれば、Clashの完全なYAML設定の場合もある。サブスクリプションの更新はノード情報のみを更新するもので、ローカルで手動編集した内容を上書きするかどうかはクライアントの結合ロジックに依存する。
- ノード
proxy - 1台のプロキシサーバーの接続パラメータの集合で、サーバーアドレス、ポート、プロトコルの種類、暗号化方式を含む。設定ファイルの
proxiesブロックでは、各ノードが1つのエントリとして記述される。ノードの品質は回線、サーバーの負荷、プロトコルの特性によって決まり、名前に書かれた地域とは必ずしも一致しない。 - ポリシーグループ
proxy-groups - 複数のノードを用途別にグループ化し、グループ内での選択方式を定める:
selectは手動選択、url-testは自動測速により最速のものを選択、fallbackは順番にフェイルオーバーする。ルールに一致した通信はまずポリシーグループに渡され、その後グループ内のロジックによって最終的にどのノードを使うかが決まる。 - mihomo
コア - 現在主流のClashクライアントが採用しているコアで、オリジナルのClashコアの開発が停止した後、コミュニティによって継続的にメンテナンスされている。旧称はClash.Meta。旧コアと比べ、Hysteria2やTUICなどより多くのプロトコルと、より細かいルール種別をサポートする。Clash Verge RevやClashX Metaなどのグラフィカルクライアントは、いずれもこのコアを土台としている。
- 遅延テスト
url-test - クライアントが指定のテストアドレスへ1回リクエストを送り、完了までの時間(ミリ秒単位)を記録する。この数値はハンドシェイクと往復時間を反映するものであり、帯域幅ではない——遅延が低いノードでも動画視聴が快適とは限らない。テストアドレス、プロトコルのハンドシェイク方式、結果のキャッシュはいずれもパネル上の数値に影響する。
02 · PROTOCOL
プロトコルと伝送
ノードエントリの type フィールドに指定される代表的な値と、その外側を覆う伝送層について。
- Shadowsocks
ss - 軽量な暗号化プロキシプロトコルで、構造が単純でパフォーマンスへの負荷が低く、Clashが最初期にサポートしたプロトコルの一つ。設定フィールドには
cipher(暗号化方式)とpasswordが一般的。ノードエントリではtypeにssと記述し、暗号化方式はサーバー側と一致させる必要がある。一致しないと接続は即座に失敗する。 - VMess
vmess - V2Rayプロジェクトのネイティブプロトコルで、UUIDによる認証を基盤とし、クライアントとサーバーのUUIDは完全に一致させる必要がある。WebSocketやTLSと組み合わせ、プロキシ通信を通常のHTTPS通信に偽装することが多い。フィールドは比較的多く、新しい構成では
alterIdを 0 に固定することが一般的。 - Trojan
trojan - HTTPSの挙動を模倣するプロキシプロトコルで、有効なTLS証明書に依存する必要があり、通信の特性は通常のウェブサイトへのアクセスに近い。設定の要点は
passwordとsni。サーバー証明書とSNIが一致しない場合、ハンドシェイクの段階で拒否される。 - Hysteria2
hysteria2 - QUIC/UDPをベースとした高スループットプロトコルで、パケットロスの多い長距離回線向けに輻輳制御を最適化しており、海外接続でよく使われる。mihomoなどの新しいコアでなければ認識できず、旧版のClashコアでこの種のノードを含む設定を読み込むとエラーになる。利用中のネットワークがUDPを遮断している場合、このプロトコルは完全に使用できない。
- WebSocket伝送
ws - よく使われる伝送層の偽装方式で、プロキシデータを1本のWebSocket接続に封入し、さらにTLSで包む。外部から見ると通常のウェブページの長時間接続と変わらない。標準の443番ポートを使用し、CDN経由での中継も可能なため、接続の生存率を高める用途でよく使われる。ノードのフィールドでは
network: wsとws-optsに対応する。
03 · RULES
ルールと分岐
rules ブロックは各接続の振り先を決定するもので、Clashを一般的なグローバルプロキシツールと区別する核心部分。
- ルール分岐
rules - 設定ファイルの
rulesブロックは上から順に1件ずつマッチングし、一致した時点で処理を止め、それ以降のルールは適用されない。よく使われる種類にはDOMAIN-SUFFIX(ドメインサフィックス)、IP-CIDR(IPレンジ)、GEOIP(IPの所属地域)などがある。ルールの記述順序が分岐結果を直接左右し、同じルール群でも順序を変えると挙動が全く異なる場合がある。 - GeoIP
GEOIP - IPの所属地域でマッチングするルール種別で、ローカルのデータベースファイル(一般的には
Country.mmdb)に依存する。典型的な記述はGEOIP,CN,DIRECTで、中国本土のIPに解決される通信を直接接続にする。データベースは定期的な更新が必要で、古いままだと新たに割り当てられたIPレンジを誤って振り分けてしまう。 - GeoSite
GEOSITE - ドメインの分類データベースでマッチングするルール種別で、数千から数万に及ぶドメインを事前に
google、cnといったカテゴリにまとめておく。1つのルールでカテゴリ全体のサイトをカバーできるため、ルールリストを大幅に短縮できる。分類データベースとGeoIPデータベースは別々のファイルで、それぞれ独立してメンテナンス・更新される。 - DIRECT / REJECT
組み込みポリシー - 定義せずにそのまま使える2つの組み込みポリシー。
DIRECTはどのプロキシも経由せず目的地に直接接続することを意味し、REJECTはその接続を拒否することを意味する。広告やテレメトリのドメインをブロックする際によく使われる。通常のポリシーグループと同様に、どのルールのアクション位置にも記述できる。 - MATCH
フォールバックルール - ルールリストの最後に置くフォールバック項目で、前のルールに一致しなかったすべての通信にマッチする。記述例は
MATCH,PROXY。これがない場合、漏れた通信の振り先はコアのデフォルト動作に依存し、分岐結果が予測できなくなる。「一部のサイトだけ振り先がおかしい」といった不具合を調べる際は、まずフォールバックがどのポリシーグループを指しているかを確認する。
04 · CONFIG
設定フィールド
config.yaml を開いて最初の数行で目にするフィールドと、体験に最も影響する2つのスイッチについて。
- YAML
config.yaml - Clashの設定ファイルが採用しているテキスト形式で、インデントによって階層関係を表現し、空白文字に非常に敏感。インデントは半角スペースのみを使用し、タブは使えない。コロンの後には必ず1つスペースを入れる必要がある。「設定の読み込みに失敗した」というエラーの多くは、内容の誤りではなくYAMLの文法的な問題が原因。
- mode
rule / global / direct - 全体の動作モードを指定するフィールドで、3つの値を取る:
ruleはルールに基づいて分岐、globalはすべての通信をプロキシ経由にする、directはすべての通信を直接接続にする。通常の使用ではruleを維持すべきで、globalは「本当にルールの問題なのか」を一時的に確認する場合にのみ適しており、長期間有効にすると通信量が無駄になる。 - TUNモード
tun - コアが仮想ネットワークカードを作成し、ネットワーク層でシステムの全通信を横取りする。アプリがシステムプロキシ設定に従うかどうかに依存しないため、コマンドラインツールやゲームなど「プロキシを認識しない」プロセスもカバーできる。有効化には管理者権限またはシステム拡張の許可が必要で、通常はDNSハイジャックと組み合わせて初めて完全に機能する。
- Fake-IP
enhanced-mode - DNS応答戦略の一種:クライアントはまず予約セグメントの仮のIP(デフォルトは
198.18.0.0/16)をプレースホルダーとして返し、アプリが接続を開始する際にコアがその仮IPを実際のドメインへマッピングして処理する。実際のDNS待機を1回省略できるため接続確立が速くなる。実IPに依存する一部のプログラムはfake-ip-filterに記述して除外する必要がある。 - allow-lan
LAN共有 - true に設定すると、Clashはローカルループバックだけでなくすべてのネットワークカードでリッスンするようになり、同一LAN内のスマートフォンやテレビがこのデバイスをプロキシサーバーとして指定し、同じ出口を共有できる。有効化するとポートがLAN全体に公開されるため、ファイアウォールや
authenticationで接続元を制限することを推奨する。
05 · NETWORK
ネットワーク基礎
Clash特有の概念ではないが、トラブルシューティングの際には避けて通れない。
- DNSリーク
DNS leak - プロキシは有効になっているが、ドメイン名解決のリクエストが依然として契約先ISPのDNSサーバーへ直接送られてしまい、どのサイトにアクセスしたかがローカルネットワークに露出する現象。システムプロキシのみを設定し、DNSが引き渡されていない場合によく見られる。TUNモードとDNSハイジャックの併用、またはFake-IPモードの使用によって明確に改善できる。
- システムプロキシ
system proxy - OSレベルのHTTP/SOCKSプロキシ設定で、ブラウザなど「規則に従う」アプリケーションはこれを自発的に読み取り利用する。これは強制ではなく一種の取り決めであり、一部のプログラムはこれを完全に無視する。あるソフトがどうしてもプロキシを経由しない場合は、まずシステムプロキシに従う仕様かどうかを確認し、従わない場合はTUNモードに切り替える。
- UDP転送
udp: true - プロキシ経路にUDP通信を運ばせる機能で、オンラインゲーム、音声通話、QUICベースのウェブサイトはいずれもこれに依存する。プロトコル自体、サーバー側の設定、ノードのフィールドの3つが同時に対応している必要があり、ノードでの記述例は
udp: true。ゲームの遅延は正常なのに頻繁に切断される場合は、大抵UDPが転送されていないことが原因。 - 混合ポート
mixed-port - 同一のポート上でHTTPとSOCKS5の両方のプロキシプロトコルを受け付けるリッスン方式で、
portとsocks-portを統合した代替手段。現代のクライアントではデフォルトでmixed-port: 7890が多く使われ、他のソフトにプロキシアドレスを設定する際は127.0.0.1:7890と記述するだけでよく、プロトコルを区別する必要がない。