CLASH / ECOSYSTEM
Clash
Clashはルールに基づいて通信を転送するプロキシエコシステムです。一般的なクライアントは、グラフィカルインターフェース、プロキシカーネル、設定管理機能で構成されるため、Clashクライアントと呼ばれるソフトウェアでも、画面やカーネルのバージョンが異なる場合があります。
設定の互換性に問題がある場合は、ソフトウェアのタイトルだけで判断せず、クライアント名、実際に使われているカーネル、設定構文を併せて確認してください。
CLASH CONCEPT INDEX
設定の読み込み順に沿って、カーネル、プロトコル、ノード、ルール、DNSの用語を整理しています。クライアント設定、サブスクリプション、実行ログ、YAML設定の理解に役立ちます。
CATEGORY 01 / RUNTIME
グラフィカルクライアント、プロキシカーネル、サブスクリプションの提供元、設定ファイルをまず区別しましょう。同じ実行経路上にありますが、それぞれ役割が異なります。
CLASH / ECOSYSTEM
Clashはルールに基づいて通信を転送するプロキシエコシステムです。一般的なクライアントは、グラフィカルインターフェース、プロキシカーネル、設定管理機能で構成されるため、Clashクライアントと呼ばれるソフトウェアでも、画面やカーネルのバージョンが異なる場合があります。
設定の互換性に問題がある場合は、ソフトウェアのタイトルだけで判断せず、クライアント名、実際に使われているカーネル、設定構文を併せて確認してください。
MIHOMO / CORE
mihomoは継続的に保守されているClash互換プロキシカーネルです。設定の解析、接続の確立、ルールマッチング、DNSとTUN通信の処理を担います。グラフィカルクライアントがプロキシサービスを起動すると、通常はバックグラウンドでカーネルを呼び出します。
カーネルが対応するフィールドは、バージョンによって変わる場合があります。設定例をコピーする前に、現在のクライアントが実際にどのカーネルを読み込んでいるか確認してください。
GUI / CLIENT
クライアントはユーザーが直接操作するグラフィカルインターフェースのプログラムで、通常はサブスクリプション管理、ノード選択、システムプロキシ制御、ログ表示、カーネル更新の入口を提供します。クライアントは操作を担当し、実際の接続や振り分けの多くはカーネルが行います。
設定の上書き、バックアップ先、権限要求の扱いはクライアントごとに完全には統一されていません。移行時は個別に確認する必要があります。
PROFILE / SUBSCRIPTION
サブスクリプションは、サービス提供者が公開するリモート設定の入口です。クライアントがURLを読み込むと、ノード、プロキシグループ、一部のルール設定を取得でき、その後の更新時に内容を再取得します。
サブスクリプションURLは単一のノードを指すものではなく、完全なYAMLを直接返すとも限りません。インポートに失敗した場合は、URLが完全か、期限切れでないか、クライアントが返却形式に対応しているかを確認してください。
YAML / CONFIG FILE
YAMLはClashの設定ファイルでよく使われるデータ形式です。フィールドの階層はインデントで表し、配列は通常ハイフンで始まります。コロンの後には正しいスペースを入れる必要があります。
タブ文字、階層のずれ、重複フィールド、閉じられていない引用符は、設定の解析エラーを引き起こす可能性があります。変更前に、正常に起動できる設定を1つ保存しておくと安全です。
CATEGORY 02 / TRANSPORT
ローカルのプロキシ入口とリモートノードのプロトコルは、別の層に属します。前者はアプリが通信をクライアントへ渡す方法を決め、後者はカーネルがサーバーへ接続する方法を決めます。
HTTP / LOCAL INBOUND
HTTPプロキシは、ブラウザーやアプリから送信されたHTTPリクエストを受け付け、CONNECTメソッドでHTTPS接続を転送することもできます。プロキシアドレスを明示的に設定できるブラウザー、ダウンロードツール、開発環境に適しています。
ここで説明しているのはローカルアプリの接続方式であり、リモートノードが必ずHTTPプロトコルを使うという意味ではありません。
SOCKS5 / LOCAL INBOUND
SOCKS5は接続転送向けの汎用プロキシプロトコルで、上位層のWebコンテンツを理解する必要がありません。多くのターミナルツール、ブラウザー拡張、開発ソフトでSOCKS5アドレスを指定できます。
DNSをSOCKS5経由でリモート解決するかどうかは、アプリの実装と接続パラメータによって決まり、ポートの種類だけでは判断できません。
MIXED-PORT / INBOUND
混合ポートでは、同じ待受ポートでHTTPとSOCKS5のプロキシ接続を受け付けられます。覚えて管理するローカルポートを減らせるため、複数のアプリで1つの入口を共有する場合に適しています。
アプリ側では対応しているプロキシ種別を選び、ホストアドレスとポートを正しく入力する必要があります。
OUTBOUND / PROTOCOL
プロキシプロトコルは、カーネルとリモートサーバーの間でハンドシェイク、認証、データ転送を行う方法を定めます。プロトコルによって、トランスポート層、暗号化方式、UDP対応、ネットワーク互換性に違いがあります。
設定に記載するプロトコル名はサーバー側と一致していなければなりません。表示名やポートだけを変更しても、あるプロトコルを別のプロトコルへ変換することはできません。
UDP / DATAGRAM
UDP転送は、DNS、リアルタイム通信、一部のゲームで発生するコネクションレスのデータグラムを処理します。ノード経由で転送できるかどうかは、ノードのプロトコル、サーバー側の対応、現在のネットワークモードによって決まります。
Webページが開けても、UDPが利用できるとは限りません。トラブル対処では、ノードパラメータ、プロキシ選択、TUNルーティングを個別に確認する必要があります。
CATEGORY 03 / OUTBOUND
ノードは具体的な出口を提供し、プロキシグループは複数の出口から選ぶ方法を決めます。ルールは通常、特定のノードではなくプロキシグループを参照します。
PROXY / NODE
ノードは、カーネルが利用できるプロキシサーバー設定で、サーバーアドレス、ポート、プロトコルパラメータ、認証情報を記録します。ノード名は主に画面上で識別するためのもので、回線品質を自動的に変えるものではありません。
単一のノードはサブスクリプションと同じではありません。サブスクリプションには通常、複数のノードとグループ構成が含まれ、リモート設定に応じて更新されます。
DELAY / CONNECTIVITY TEST
遅延とは通常、テストリクエストが端末から対象アドレスへ到達し、応答が戻るまでにかかる時間です。ローカルネットワーク、テスト先、ノード負荷、経路の影響を受けるため、測定結果は変動します。
低遅延は高速なダウンロード速度を直接意味せず、長期的な安定性を単独で示すものでもありません。ノード選択では、接続成功率や実際のアクセス状況も確認してください。
PROXY-GROUP / POLICY
プロキシグループは、複数のノードや別のプロキシグループを、ルールから参照できる出口としてまとめます。一般的な種類には、手動選択、自動テスト、フェイルオーバー、負荷分散があります。
プロキシグループはネストできますが、循環参照があると設定エラーになります。グループ名を変更した場合は、ルール内の対象名も併せて確認してください。
URL-TEST / AUTO SELECT
自動選択のプロキシグループは、設定されたテストアドレスと間隔に従って候補ノードを確認します。カーネルは通常、テスト結果が低く、接続可能なノードを現在の出口に選びます。
テストアドレスは安定しており、主な利用シーンを代表できるものを選んでください。間隔が短すぎると余分なリクエストが増え、頻繁な切り替えが起きる場合もあります。
FALLBACK / FAILOVER
フェイルオーバーは、あらかじめ設定した順番で候補ノードを確認し、現在のノードが利用できない場合に次の候補へ切り替えます。接続の継続性を重視し、通常は順番が上位で利用可能なノードを優先します。
そのため、フェイルオーバーは常に遅延が最小のノードを選ぶ仕組みではありません。候補の順番は安定性と用途に応じて設定してください。
CATEGORY 04 / RULE ENGINE
ルールエンジンは接続属性を順番に確認します。振り分けミスのトラブル対処では、まず対象情報を確認し、最初に一致したルールを調べてください。
RULES / ROUTING
ルール分岐は、ドメイン、IP、プロセス、ネットワーク種別に応じて接続を異なるプロキシへ振り分けます。LANや特定サイトを直接接続し、それ以外をプロキシグループで処理する用途が一般的です。
ルールは通常、上から順に照合され、最初に有効なルールへ一致すると以降の確認を停止します。より具体的なルールは、より広範なルールより前に置くのが基本です。
MATCH / FINAL RULE
MATCHはルールリストの最終フォールバックルールです。ドメイン、IP、プロセス、ルールセットのいずれにも一致しなかった接続は、MATCHで指定されたプロキシに渡されます。
通常はルールリストの末尾に置きます。前方に配置すると、その後のルールが実際には照合されなくなります。
DOMAIN-SUFFIX / DOMAIN RULE
DOMAIN-SUFFIXはドメインのサフィックスで対象を照合します。example.comを設定すると、そのドメインと通常はサブドメインへのアクセスも対象にできます。
DOMAINによる完全一致とは異なり、完全なURLパスをルールに記述するものでもありません。ルールの対象はドメイン部分だけです。
GEOIP / IP DATABASE
GeoIPはIPアドレスデータベースを使って対象アドレスの地域を判定します。対象IPがすでに取得されている接続に適していますが、データベースのバージョンやアドレスの帰属変更によって結果が変わる場合があります。
ドメインルールとGeoIPルールは、異なる段階で照合に使われる場合があります。トラブル対処ではDNSモードも確認し、カーネルが最終的にドメインとIPのどちらを認識しているかを確認してください。
RULE-PROVIDER / RULESET
ルールセットは大量の照合項目を独立したファイルやリモートリソースに分離し、設定内のルールプロバイダーから読み込みます。再利用、分類、個別更新に便利です。
ルールセットの更新に失敗すると、古いキャッシュが引き続き使われたり、該当ルールが利用できなくなったりします。リソースURL、動作タイプ、保存先、更新ログを確認してください。
CATEGORY 05 / NETWORK MODE
システムプロキシはプロキシ設定に従うプログラムだけに影響します。TUNとDNSモジュールは、より広範なシステム接続を取り込み、ドメイン情報を保持するために使われます。
TUN / VIRTUAL INTERFACE
TUNモードは仮想ネットワークインターフェースでシステム通信を受け取り、プロキシ設定のないアプリも対象にできます。有効化には通常システム権限が必要で、カーネルがルーティング、DNSリダイレクト、インターフェースパラメータを設定します。
接続に異常がある場合は、権限、仮想NIC、ルーティングの競合、ファイアウォール、DNS設定を順番に確認してください。画面のスイッチをオンにするだけで、すべての通信がTUNへ入るとは限りません。
FAKE-IP / DNS MAPPING
Fake-IPモードはアプリに予約済みアドレスを返し、接続時にそのアドレスを元のドメインへマッピングします。これによりルールエンジンがドメインのコンテキストを保持でき、実IPへ早期に解決することで生じる照合のずれを減らせます。
一部のLAN機器、ゲーム、特殊なアプリではマッピングアドレスが適さない場合があります。該当ドメインは除外リストで対象外にできます。
REDIR-HOST / REAL IP
Redir-Hostモードはアプリに実際のDNS解決結果を返し、通常のネットワーク名前解決に近い動作をします。Fake-IPアドレスプールには依存しませんが、接続後の段階で対象IPだけが残る場合があります。
ルールがドメインに依存している場合、接続情報がIPだけになると想定と異なる結果になることがあります。モードを切り替えた後は、DNSキャッシュと振り分けを再テストしてください。
DNS LEAK / RESOLVER PATH
DNSリークとは、ドメイン問い合わせが想定していたClashのDNS経路を通らず、別のリゾルバーで処理される状態です。ブラウザー独自の暗号化DNS、システムサービスのキャッシュ、別の仮想NIC、TUNのDNSリダイレクト不備などが主な原因です。
トラブル対処では、まずどのプロセスが問い合わせを発行したかを確認し、システムDNS、ブラウザー設定、待受ポート、実行ログを照合してください。
SYSTEM PROXY / OS SETTING
システムプロキシは、OSが提供するプロキシアドレス設定です。この設定に従うブラウザーやアプリは、リクエストをClashのローカル待受ポートへ送ります。
一部のプログラムはシステムプロキシを無視し、コマンドラインツールでは環境変数を個別に設定する必要があります。このような通信も対象にする場合は、システム環境に応じてTUNモードを検討してください。
用語は概念の理解に役立ちます。フィールド構造、ルール構文、YAMLの例は設定リファレンスで引き続き確認できます。