コアとクライアント
プログラム構造上の構成要素:誰が通信を処理し、誰がインターフェースを提供するか
コア CORE
実際のネットワーク処理を担うコマンドラインプログラム。設定ファイルを読み込み、ローカルポートを監視し、プロキシ転送とルールマッチングを実行する。GUIクライアントはその見た目にすぎず、中核機能はコアのバージョンによって決まる。
mihomo
現在主流のClashコア系分岐。Clash.Metaプロジェクトから改称された。VMess、Trojan、Hysteria2などの拡張プロトコルに対応し、活発に開発が続いている。本サイトで紹介する多くのクライアントがこのコアを内蔵している。
Clash Meta
mihomoの旧称。オリジナルのClashコアが更新停止した後、コミュニティがプロトコルや機能を拡張して生まれた分岐で、2023年以降mihomoに統一改称された。旧文書ではどちらの名称も同一プロジェクトを指す。
GUIクライアント GUI CLIENT
コアにグラフィカルインターフェースを提供するデスクトップ/モバイルアプリ。Clash Plus、Clash Verge Rev、FlClashなど。サブスクリプション管理、ノード切替、システムプロキシのオン/オフを担うが、実際の通信処理は内蔵コアが行う。クライアント一覧ページでプラットフォームごとに選べる。
TUNモード TUN MODE
仮想ネットワークアダプタを作成してシステム全体の通信を引き受ける動作方式。システムプロキシ設定に従わないプログラムもカバーでき、コマンドラインツールやゲームクライアントでよく使われる。有効化には管理者権限やシステム拡張の許可が必要。
プロトコルと通信方式
ノード設定に登場するプロトコル種別と伝送層の用語
Shadowsocks
暗号化トンネルをベースとした軽量プロキシプロトコルで、設定項目が簡単で歴史も長い。Clash系の各コアがネイティブ対応しており、サブスクリプションのノードリストによく見られる。タイプ表記はss。
VMess
V2Rayプロジェクトが定義した通信プロトコル。複数の暗号化方式と伝送層の組み合わせに対応する。mihomoコアが完全サポートし、ノード設定ではvmessタイプとして表記され、通常WebSocketやgRPC伝送と組み合わせる。
Trojan
プロキシ通信を標準的なTLS通信に見せかけるプロトコル。有効な証明書と443ポートに依存し、通信の特徴が少ない。設定項目も簡潔。mihomoがネイティブ対応し、オリジナルコアの後期バージョンでも解析可能。
Hysteria2
QUICをベースとした通信プロトコルで、パケットロスの多い回線向けに最適化されている。低品質な回線環境でもスループットが良好。mihomoなど新世代コアのみ対応し、オリジナルのClashコアはこの種のノードを解析できないため、導入時にエラーが出たらまずコアのバージョンを確認する。
WebSocket通信 WS TRANSPORT
プロキシ通信をWebSocket接続に包む伝送層方式。VMessやTrojanと組み合わせて使われることが多く、CDN経由の中継に適する。ノード設定ではnetwork: wsフィールドに対応する。
ルールと振り分け
各接続の行き先を決めるマッチングの仕組み
ルール振り分け RULE
ドメイン、IP、ポートなどの条件に基づいて各接続を異なる出口へ振り分ける仕組み。ルールは上から順に一つずつマッチングされ、一致すると停止し、末尾には通常MATCHという兜底ルールを置く。全通信を一括転送するツールとClashを区別する中核機能。
プロキシグループ PROXY GROUP
複数のノードを一つの選択可能な単位にまとめたもの。ルールの出口は単一のノードではなくプロキシグループを指す。手動選択のselect、自動速度テストのurl-test、フェイルオーバーのfallbackなどのタイプがよく使われる。
GeoIP
IPの所属地域によって通信の行き先を判断するルールタイプで、内蔵のIP地理データベースに依存する。典型的な記述はGEOIP,CN,DIRECTで、対象IPが中国大陸にある場合に直接接続することを意味する。データベースはコアの更新に伴い更新される。
GeoSite
ドメイン分類データベースに基づくマッチングルールタイプで、大量のドメインを用途別に事前グループ化している。一つのGEOSITEルールで数百から数千のドメインをカバーでき、設定ファイルの容量を大幅に削減できる。mihomoコアが対応。
ルールセット RULE PROVIDER
外部URLから読み込んで定期的に更新されるルールの断片。設定ファイルには参照アドレスのみ記述し、ルールの内容はメンテナーがリモートで更新する。サードパーティが管理する振り分けリストに追従するのに適している。更新間隔はintervalフィールドで制御する。
設定とサブスクリプション
サービス提供者からクライアントまでのデータ形態
サブスクリプションリンク SUBSCRIPTION URL
サービス提供者が発行するURLで、ノードリストや完全な設定を返す。クライアントに導入すると定期的に更新を取得でき、ノードが変わっても設定ファイルを手動で編集する必要がない。認証情報を含むため公開共有すべきではない。導入手順はチュートリアルを参照。
ノード PROXY
利用可能なリモートプロキシサーバーの記録で、サーバーアドレス、ポート、プロトコル種別、暗号化パラメータを含む。サブスクリプションが返すリストは複数のノードで構成され、プロキシグループがその中から実際の出口を選択する。
設定ファイル config.yaml
コアの動作を完全に記述したファイルで、ポート、DNS、ノード、プロキシグループ、ルールの5要素を含む。多くのGUIクライアントはサブスクリプションから自動生成するが、手動で編集する前に元のファイルをバックアップしておくとよい。
YAML
Clashの設定に使われるテキスト形式で、インデントで階層を表す。空白に敏感で、インデントは半角スペースを使い階層を揃える必要がある。設定エラー時はまずインデントとコロン後にスペースがあるかを確認する。
サブスクリプション変換 SUB CONVERTER
あるクライアントのサブスクリプション形式を別の形式に変換するツールやサービス。サービス提供者がClash以外の形式のサブスクリプションしか提供していない場合に使用する。サードパーティの変換サービスを経由するとサブスクリプションアドレスが露出するため、自前で構築する方が安全。
ネットワーク診断
接続状態の確認や異常特定の際に出てくる用語
レイテンシテスト LATENCY TEST
クライアントが固定のテストアドレスにリクエストを送り所要時間を計測する仕組みで、ノードの利用可能性を評価するために使われる。数値はテストエンドポイントまでの往復時間を反映しており、実際に目的のサイトへアクセスする体験とは完全に一致しない。タイムアウト時はtimeoutと表示されることが多い。
Fake-IP
DNS処理方式の一つ。コアはドメイン名解決に対して即座に予約セグメントの仮想IPを返し、実際の解決は接続確立時まで遅延させる。これによりDNS解決待ちを解消できるが、実IPに依存する一部のプログラムはfake-ip-filterへの例外追加が必要になる。
DNSリーク DNS LEAK
プロキシを有効にしてもDNSクエリがローカルの通信事業者経由になる現象で、アクセス意図が露出したり解決結果が悪化したりする可能性がある。対応策:コアのDNSモジュールを有効化する、TUNモードを開く、システムのDNS設定が他のソフトに占有されていないか確認する。
UWPループバック UWP LOOPBACK
Windowsは既定でUWPアプリのループバックアドレスへのアクセスを禁止しており、ストアアプリがローカルのプロキシポートに接続できない問題を引き起こす。ループバック免除ツール(CheckNetIsolationやクライアント内蔵のUWP Loopback機能など)で個別のアプリを許可する必要がある。