設定を読むための参考

Clash用語集

クライアントは操作を担当し、カーネルは接続を処理します。プロトコル、ルール、DNSはそれぞれ異なる役割を担います。

このページでは、設定に関わる5つのテーマに分けて25の用語を解説します。各項目では用語の意味や用途、混同しやすい点を説明します。設定内のキーワードから該当項目を探し、実際の設定内容と照らし合わせてください。クライアントによって画面上の名称や対応機能は異なる場合があります。

接続までの手順を確認するにはClashの使い方ガイドをご覧ください。各プラットフォームの権限やインストール、TUNの設定については全プラットフォームガイドをご参照ください。各用語の見出しには個別のアンカーがあり、アドレスバーから該当項目を共有できます。

カーネルとクライアント

まず画面、実行プログラム、システムの接続口を区別し、どこで設定を変更するか確認しましょう。

Clash

Clash

Clashはもともと、ルールベースのプロキシカーネルを指す名称でした。現在は、その設定形式を中心に広がったクライアントのエコシステムを指すこともあります。クライアントによって搭載カーネルや対応プロトコル、メンテナンス状況が異なるため、名称だけで機能を判断することはできません。チュートリアルを参照するときは、クライアント名と実際に動作しているカーネルの両方を確認してください。

mihomo / Clash Meta

mihomo

mihomoは、Clash Metaから派生したオープンソースのプロキシカーネルです。接続処理やルール照合、DNSなどを担います。特定のデスクトップ画面を指す名称ではなく、同じカーネルを複数のクライアントに組み込めます。設定項目が使えるかどうかは、実際に動作しているカーネルのバージョンとドキュメントで確認してください。

Client / GUI

クライアント

クライアントは通常、GUIを備えたアプリを指し、サブスクリプションの管理、ポリシーの選択、ログ表示、システム設定などを行います。画面上のスイッチがカーネルの全機能を表すとは限らず、設定ファイルやオーバーライド機能で指定が必要な場合もあります。クライアント本体と内蔵カーネルの更新は、必ずしも同時に行われるわけではありません。

Proxy core

プロキシカーネル

プロキシカーネルは、実際に接続を受け付けて設定を適用するプログラムです。GUIクライアントは通常、制御インターフェースを通じてカーネルと通信します。サブスクリプションのインポートに成功しても、クライアントが設定を取得できたことを示すだけで、カーネルへの読み込みが成功したとは限りません。起動に失敗した場合は、画面の接続ボタンだけでなく、設定の解析結果やポートの待ち受けに関するログも確認してください。

System proxy

システムプロキシ

システムプロキシは、HTTPやSOCKSなどのプロキシ接続先をOSに登録する機能です。この設定に従うアプリは、接続をクライアントに渡します。一部のゲームやコマンドラインツール、独自のネットワークスタックを使うアプリは、設定を無視することがあります。ブラウザーは使えるのにほかのアプリで接続できない場合は、まず通信の取り込み範囲を確認し、TUNが必要か判断してください。

プロキシプロトコル

プロトコルはクライアントとサーバーの通信方式を決めるもので、回線の品質を直接示すものではありません。以下の設定値はサーバー側と一致させる必要があります。

Shadowsocks / ss

Shadowsocks

Shadowsocksは暗号化プロキシプロトコルの一つです。ノードの設定には通常、サーバーアドレス、ポート、暗号化方式、パスワードが含まれます。クライアントとサーバーで互換性のあるパラメーターを使う必要があり、拡張機能によっては追加オプションも必要です。プロトコル名からわかるのは接続方式であり、ノードの速度や安定性、運営者の信頼性を判断することはできません。

VMess / vmess

VMess

VMessはプロキシプロトコルの一つです。設定には通常、サーバー、ポート、ユーザーID、トランスポート方式などが含まれます。WebSocketやTLSなどのパラメーターは接続設定の一部で、サーバー側と一致させる必要があります。接続できない場合は、システム時刻も確認してください。ノード名が同じでも、設定が同一とは限りません。

VLESS / vless

VLESS

VLESSは軽量なプロキシプロトコルで、通常はTLSやREALITYなどのセキュリティ機能と組み合わせて使います。ユーザーID、トランスポート方式、セキュリティ関連のパラメーターをサーバー側と一致させる必要があり、サーバーアドレスだけでは接続できません。VMessとは別のプロトコルのため、設定を読み込む際にタイプ欄だけを書き換えて置き換えることはできません。

Trojan / trojan

Trojan

Trojanは通常、TLSを使ってプロキシ接続を行います。設定にはサーバーアドレス、ポート、パスワード、TLS関連のパラメーターが必要です。サーバー名や証明書の検証結果によって接続できないことがあり、IPアドレスと証明書のドメイン名が異なる場合もあります。証明書エラーが出たら、名前や時刻、サーバー設定を確認し、安易に検証を無効化しないでください。

Hysteria 2 / hysteria2

Hysteria 2

Hysteria 2はQUICベースのプロキシプロトコルで、通信にはUDPを使います。そのため、ネットワークでUDP通信が許可されている必要があります。認証やTLS、帯域に関する設定は、サーバーと実際のネットワーク環境に合わせてください。HysteriaとHysteria 2はそのまま置き換えられるプロトコルではなく、クライアント側にもそれぞれの対応が必要です。

ルールと振り分け

接続がカーネルに渡された後、照合条件、ルールの順序、振り分け先のポリシーによって接続先が決まります。

Routing rules / rules

ルール振り分け

ルール振り分けでは、ドメイン名、宛先IP、プロセスなどの条件に基づいて、接続を指定したポリシーに振り分けます。ルールは通常、上から順に照合され、最初に一致したルールで接続先が決まるため、具体的なルールを広範囲に適用されるルールより前に置きます。グローバルモードとは異なり、直接接続や複数のプロキシ経由の接続を同時に使えます。

Proxy group / proxy-groups

プロキシグループ

プロキシグループは、複数のノードやほかのポリシーをまとめ、ルールから参照できる接続先にするものです。手動選択、接続テスト、フォールバックはそれぞれ異なるグループタイプで、選択の仕組みも異なります。ルールからグループ名を参照していれば、通常はグループ内のノードを変更してもルールを書き直す必要はありません。ただし、グループ名は設定内の参照先と一致させてください。

GeoIP / GEOIP

GeoIP

GeoIPはデータベースに基づいて宛先IPを地域などのグループに分類し、GEOIPタイプのルールで利用できます。データベース上の判定はサイトの運営国を示すものではなく、CDNの背後にあるコンテンツの配信元を正確に示すものでもありません。ドメイン名の解決を伴うルールでは、no-resolveパラメーターやルールの順序が名前解決に与える影響も確認してください。

GeoSite / GEOSITE

GeoSite

GeoSiteは、カテゴリ別に整理されたドメインデータです。同じカテゴリのサイトを共通のポリシーに振り分けるために使えます。カテゴリ名や対象範囲はデータソースによって異なり、すべてのデータベースに同じカテゴリがあるとは限りません。想定外のルールが適用された場合は、プロキシグループだけでなく、読み込まれているデータやカテゴリ名、より上位のルールも確認してください。

MATCH / catch-all rule

MATCH

MATCHは、ほかのルールに一致しなかった接続を処理するフォールバックルールで、通常はルール一覧の末尾に置きます。後ろにはDIRECTや定義済みのプロキシグループ名など、接続先のポリシーを指定します。MATCHを先頭に置くと、後続のルールは通常照合されません。フォールバック先をプロキシにしても、設定全体がグローバルモードになるわけではありません。

DNSとネットワークスタック

ドメイン名の解決と、通信をカーネルに取り込む経路は、関連はありますが別の仕組みです。

Domain Name System / DNS

DNS

DNSはドメイン名をIPアドレスなどのレコードに変換する仕組みで、多くのネットワーク接続に先立って行われます。システム、ブラウザー、プロキシカーネルはそれぞれ異なる名前解決経路を使うことがあり、一か所を変更してもほかに反映されるとは限りません。名前解決の問題を調べるときは、まずリクエストの発信元と使用するDNSリゾルバー、リゾルバーへの接続経路を確認してください。

Fake-IP / enhanced-mode

Fake-IP

Fake-IPモードでは、アプリに仮想IPアドレスを返し、カーネルがドメイン名と仮想アドレスの対応関係を保持します。アプリがそのアドレスに接続すると、カーネルはドメイン名を復元してから、ルール振り分けやプロキシ処理を行います。返されるアドレスは接続先サイトの実IPではありません。実際の名前解決結果に依存するアプリでは、除外ドメインやログを使って一つずつ確認してください。

TUN / virtual network interface

TUNモード

TUNモードは、仮想ネットワークインターフェースとルーティング設定を使い、より多くのアプリのIP通信をプロキシカーネルに取り込みます。インターフェースの作成やルートの変更には追加の権限が必要な場合があり、通信の取り込み範囲はルートの除外設定やプラットフォームの実装にも左右されます。TUNモードとグローバルモードは別の概念です。TUNで取り込んだ接続も、ルールに応じて直接接続またはプロキシ経由にできます。

DNS leak

DNS漏れ

DNS漏れとは、名前解決のリクエストが想定したネットワーク経路を通らない状態です。たとえば、プロキシ経由にするはずのリクエストが、ローカルネットワークのDNSリゾルバーへ直接送られる場合があります。テストサイトに特定のDNSサービスが表示されただけでは、リクエストの全経路を判断できません。システムDNS、ブラウザーのセキュアDNS、カーネル設定、接続ログを確認し、設定変更後に再テストしてください。

DNS over HTTPS / DoH

DoH

DoH(DNS over HTTPS)は、DNSクエリをHTTPS経由で送信する方式です。変わるのはDNSリクエストの転送方法であり、クエリが自動的にプロキシを経由するわけではありません。ルーティングや名前解決ポリシーの設定に代わるものでもありません。DoHの接続先をドメイン名で指定する場合は、そのドメインを最初にどのリゾルバーが解決するかも確認し、名前解決の依存関係が循環しないようにしてください。

サブスクリプションと設定ファイル

設定を取得してから実際に反映されるまでには、解析、読み込み、ポリシー選択、接続確認が必要です。

Subscription

サブスクリプション

サブスクリプションは、ノードや設定一式を定期的に取得するためのURLを指すことが多く、返される内容は提供元によって異なります。ノードのサブスクリプションと設定一式は別物です。後者にはプロキシグループやルール、DNS設定が含まれることもあります。サブスクリプションURLにアクセス用の認証情報が含まれる場合があるため、ログやスクリーンショットを共有する前に隠してください。更新後は、ローカルでの変更が上書きされていないかも確認しましょう。

Node / proxy entry

ノード

ノードは、プロキシサーバーへの接続に必要なパラメーター一式です。通常、アドレス、ポート、プロトコル、認証情報などを含みます。一覧に表示される名前は識別用のラベルであり、サーバーの実際の設置場所とは限りません。ノードをインポートできても、サービスが利用可能とは限りません。接続テストを行い、プロキシグループで実際に選択されていることも確認してください。

Latency / URL test

ノードの遅延

クライアントに表示されるノードの遅延は、通常、そのノード経由でテスト先にリクエストしたときの所要時間で、ICMP pingとは限りません。テスト先やタイムアウト設定、接続の再利用方法によって結果が変わるため、クライアント間で数値を単純に比較できるとは限りません。遅延が小さくてもダウンロード速度が速いとは限らないため、実際に利用するサービスへの接続も確認してください。

YAML / configuration syntax

YAML

YAMLは、Clashでよく使われる設定ファイルのテキスト形式です。インデントで階層を表し、ハイフンでリスト項目を記述します。編集時はタブではなくスペースを使い、コロンや引用符、同じ階層の項目の位置を確認してください。構文が正しくても設定が有効とは限りません。存在しないポリシー名やカーネルで未対応の項目があると、読み込みや動作に問題が発生します。

Profile

設定プロファイル

設定プロファイルは、クライアントが設定を保存・切り替えするための管理単位です。ローカルファイルやリモートのサブスクリプションから作成できます。複数のプロファイルがある場合、通常は有効化されたものだけが現在の動作に使われます。別のプロファイルを編集しても、接続設定はすぐには変わりません。一部のクライアントではオーバーライドや設定のマージも適用されるため、トラブル対処の際は元ファイルだけでなく、最終的に有効な設定を確認してください。