設定項目の確認 / 用語インデックス

Clash用語集

5つのカテゴリから、クライアント、プロキシプロトコル、YAML設定の基本用語を確認できます。まず通信がどのようにコアに取り込まれるかを整理し、次にルールがどのように出口を選ぶかを確認しましょう。この2つは別の仕組みなので、トラブルの切り分けも分けて行います。

各用語カードには個別のアンカーがあり、URLをコピーして共有できます。具体的な項目は、使用するクライアントやコアのバージョン、最終的に有効な設定によって異なります。

01 / アプリと接続の基本

コアとクライアント

画面で操作するのがクライアント、接続を処理するのがコア、設定情報を提供するのがサブスクリプションです。設定を読み込めてもアクセスできない場合は、まずどの層に問題があるか確認しましょう。

クライアント

Client

一般にクライアントとは、GUIを備えたアプリを指し、サブスクリプションの読み込み、ポリシーの切り替え、システムプロキシの管理などを行います。接続とルール判定を実際に担うのは、アプリ内で動作するコアです。同じコアを異なるGUIと組み合わせることもできます。クライアントを選ぶ際は、画面上の設定項目の数だけでなく、OSへの対応、権限管理、コアとの互換性も確認してください。

mihomoコア

mihomo / Clash.Meta

mihomoはClashエコシステムのプロキシコアで、接続の受け付け、DNSの名前解決、ルール判定、外向き接続を担います。以前はClash.Metaの名称で広く使われていました。古い解説にあるMetaは、多くの場合この系統のコアを指し、特定のGUIクライアントを指すとは限りません。設定を確認する際は、項目が現在のコアに対応しているか確かめましょう。画面のアプリだけを更新しても、コアが同時に更新されるとは限りません。

サブスクリプション

Subscription

サブスクリプションは通常、ノード一覧や設定一式を取得するためのURLです。クライアントは必要に応じて、または定期的に内容を再取得できます。URLによって返されるデータ形式が異なるため、読み込む前にClashまたは使用中のクライアントが対応している形式か確認してください。サブスクリプションURLにはアカウント情報やアクセストークンが含まれる場合があるため、公開の場に貼り付けないでください。更新できない場合は、まずサブスクリプションに関する問題を確認しましょう。

プロキシノード

Proxy node

プロキシノードは外向き接続に必要なパラメーターの組み合わせで、通常はサーバーアドレス、ポート、プロトコル、認証情報、必要に応じてトランスポート設定を含みます。ノード名は識別用のラベルにすぎず、名前に含まれる地域が実際の出口やサーバーの所在地とは限りません。設定にノードを読み込むだけでは、選択可能な出口が追加されるだけです。プロキシグループから参照し、アプリの通信をコアに取り込む必要があります。

遅延

Latency / URL test

クライアントの遅延テストでは通常、ノード経由で指定のテスト先にアクセスした際の所要時間を測定します。サーバーに直接pingを送るとは限りません。テスト先、タイムアウト設定、コネクションの再利用、ローカルネットワークは結果に影響します。遅延が小さくてもダウンロード速度が速いとは限らず、すべてのサイトにアクセスできる保証もありません。ノードを比較するときは同じ条件で測定し、実際の用途でも確認してください。

02 / 接続プロトコル

プロキシプロトコル

プロトコルによって、クライアントとプロキシサーバー間の通信方法が決まります。対応状況は実際に使用するコアで確認してください。プロトコル名を設定しただけでは不十分で、サーバー側のパラメーターも一致させる必要があります。

HTTPプロキシ

HTTP proxy

HTTPプロキシはHTTPプロキシの仕組みでリクエストを受け付け、HTTPSの接続先には通常CONNECTでトンネルを確立します。ローカルクライアントがHTTPプロキシの待ち受け口を用意し、ブラウザーやコマンドラインツールから接続する構成も一般的です。接続先サイトがHTTPSでも、クライアントからプロキシサーバーまでの通信でTLSが使われているとは限りません。それぞれの区間で暗号化されているか確認してください。

SOCKS5

SOCKS version 5

SOCKS5は汎用プロキシプロトコルで、TCP通信を中継でき、クライアントとサーバーの実装が対応していればUDPも転送できます。プロトコル自体に通信経路を暗号化する機能はなく、ユーザー名とパスワードによる認証も通信の暗号化とは異なります。SOCKS5を使うアプリで、ドメイン名をローカルで解決するかプロキシに解決させるかは、アプリとその設定によって異なります。プロキシのアドレスだけではDNSの経路を判断できません。

Shadowsocks

Shadowsocks / SS

Shadowsocksは暗号化プロキシプロトコルです。通常、サーバー、ポート、暗号化方式、パスワードを設定します。暗号化方式や拡張パラメーターはサーバー側と一致させる必要があります。また、プロトコルの世代や実装によって対応範囲が異なる場合があります。認証やハンドシェイクのエラーが発生したら、まず読み込んだ内容とコアの互換性を確認してください。ノードの表示名を変えても接続パラメーターは変わりません。

Trojan

Trojan protocol

Trojanは通常、TLSでプロキシ接続を保護します。サーバーとパスワードに加え、証明書やサーバー名などのパラメーターも正しく設定する必要があります。接続先のアドレスと証明書に対応するドメイン名は異なる場合がありますが、サーバーの構成に合っていなければなりません。証明書エラーが発生した場合は、システム時刻、ドメイン名、証明書チェーンを確認してください。証明書検証の無効化を恒久的な対処にしないでください。

Hysteria 2

Hysteria 2 / HY2

Hysteria 2はQUICベースのプロキシプロトコルで、通信にUDPを使用します。クライアントとサーバーの両方が対応している必要があります。利用中のネットワークでUDPが制限されている場合、他のTCPノードが使えてもHysteria 2が使えるとは限りません。プロトコル名だけで速度が保証されるわけではなく、実際の性能は回線、輻輳制御、サーバーのリソースにも左右されます。認証情報とTLS設定を確認してください。

03 / 出口の選択

ルールと振り分け

まず接続に適用するモードを確認し、次に一致したルールと最終的なポリシーを調べましょう。ノードは使えるのに想定どおりの経路にならない場合は、ここを確認してください。

ルールによる振り分け

Rule-based routing

ルールによる振り分けでは、設定順にドメイン名、宛先IPアドレス、ポートなどの接続情報を確認し、最初に一致したルールのポリシーを適用します。具体的なドメインルールは範囲の広いルールより前に、最後に一致させるルールは末尾に配置するのが一般的です。ルールがプロキシグループに一致した場合、実際の出口はそのグループで選択されます。ログを確認するときはノード名だけでなく、一致したルールと最終的な出力先の両方を見てください。

プロキシモード

Rule / Global / Direct

ルールモードではルールに従ってポリシーを選択します。グローバルモードでは通常、受け取った接続をグローバルポリシーに渡し、直接接続モードではプロキシを経由せずに処理します。これらのモードが決めるのは、通信がコアに入った後の出力方法です。すべてのアプリの通信を自動的にコアへ取り込む機能ではありません。グローバルモードにしてもアクセスできない場合は、システムプロキシまたはTUNによる取り込みが有効か確認してください。設定方法はプロキシモードの設定をご覧ください。

プロキシグループ

Proxy group

プロキシグループは複数のノードや他のポリシーをまとめ、参照可能な出口として扱います。よく使われる種類は、手動選択のselect、テスト結果に基づいて選ぶurl-test、利用可否に応じて切り替えるfallbackです。自動テストの結果はテスト条件下での状態を示すもので、実際の利用における接続性を保証するものではありません。ルールから参照する場合は、プロキシグループ名の表記を一致させてください。

GeoIP

IP geolocation

GeoIPはIPアドレスの地理情報データベースを使ってルールを判定します。たとえばGEOIP,CN,DIRECTは、該当する地域情報を持つ宛先に直接接続するポリシーを適用します。判定結果はデータベースと実際の宛先IPアドレスに依存し、サイトの運営主体やコンテンツの所在地を示すものではありません。CDNや共有インフラによって判定が変わることもあります。サイトごとに経路を細かく制御する場合は、ドメインルールを優先するのが一般的です。

MATCHルール(フォールバック)

Final matching rule

MATCHは、それまでのルールに一致しなかった接続を受け持ち、通常はrulesリストの末尾に置きます。たとえばMATCH,Proxyは、該当する接続をProxyという名前のポリシーに渡します。設定内に同じ名前で参照できるポリシーが必要です。MATCHをリストの先頭に置くと、それ以降の通常ルールは判定されません。

04 / 通信の取り込みと名前解決

DNSとネットワーク

システムプロキシ、TUN、DNSの設定はそれぞれ適用範囲が異なります。スイッチがオンでも、機能が設定されていることを示すだけです。実際の通信経路は接続して確認してください。

DNS

Domain Name System

DNSはドメイン名をIPアドレスなどのレコードに変換し、アプリが接続を開始する前に使われます。プロキシ利用時は、アプリからの問い合わせ、コアによる名前解決、プロキシサーバーのドメイン名解決で経路が異なる場合があります。DNSの設定項目ひとつですべてを判断することはできません。ドメイン名ではアクセスできず、IPアドレスなら接続できる場合は、まずどの層で名前解決に失敗しているかを切り分け、DNS設定項目を確認してください。

Fake-IP

Fake IP address mapping

Fake-IPはドメイン名に仮想アドレスを割り当て、その対応関係を保持します。これにより、コアに入った後続の接続から元のドメイン名を特定し、ドメイン単位で振り分けられます。アプリに表示される仮想アドレスは接続先サイトの実アドレスではなく、サイトのアドレスに異常があることを示すものでもありません。一部のアプリやLAN内のサービスでは例外設定が必要です。モードを切り替えた後も古い名前解決結果が残る場合は、関連するDNSキャッシュの削除も検討してください。

Fake-IPの設定を確認 →

DNSリーク

DNS leak

DNSリークとは通常、ドメイン名の問い合わせが想定外の経路を通ることです。たとえば、制御下のリゾルバーで処理する想定だった問い合わせが、システムやアプリから別のリゾルバーへ直接送信される場合があります。検出ページに表示される地域だけでは、リークかどうか判断できません。まず想定するDNSポリシーを明確にし、ブラウザー内蔵のDNS、システムの名前解決、IPv6、TUNによる取り込み範囲を確認して、問い合わせ元を特定してください。

システムプロキシ

System proxy

システムプロキシはOSが提供するプロキシ設定で、クライアントは通常、ローカルの待ち受けアドレスとポートを設定します。この設定に従うアプリだけが利用するため、一部のターミナルツール、ゲーム、バックグラウンドサービスは独自のネットワーク設定を使う場合があります。ブラウザーでは使えてもターミナルでは使えないことはあり得ます。ツール側でプロキシの引数や環境変数が必要か確認し、ノードを何度も切り替えるのは避けましょう。

TUNモード

Virtual network interface

TUNモードは仮想ネットワークインターフェースとルーティング設定を使ってIP通信を取り込み、システムプロキシに従わないアプリの通信にも対応できます。通常は必要な権限が求められ、他のVPN、仮想ネットワークインターフェース、ルールベースのルーティングと競合する場合があります。TUNを有効にしても、すべての接続がプロキシ経由になるとは限らず、DNSの経路が想定どおりとは限りません。最終的な出口は、取り込み範囲、プロキシモード、振り分けルールによって決まります。

05 / ファイル構成と参照関係

設定ファイルの項目

ここでは各項目の用途と適用範囲を説明します。設定例、インデントの構造、ルールの構文についてはYAMLマニュアルをご覧ください。変更する前に、元の設定を復元できるよう保存しておきましょう。

YAML

YAML configuration format

YAMLはClashの設定によく使われるデータ形式です。階層はスペースによるインデントで表し、リスト項目にはハイフンを使います。インデントにタブは使用できません。特殊文字を含む文字列はYAMLの構文に従って適切に引用し、例をコピーする場合も元の階層を保ってください。構文解析に成功しても、ファイルの構造が読み取れたことを示すだけです。項目の対応状況やポリシー名の存在は、コアでさらに確認する必要があります。

mixed-port

Mixed inbound port

mixed-portはローカルの混合リスニングポートを指定します。同じポートでHTTPとSOCKSのプロキシ接続を受け付けます。リモートノードのポートではなく、変更してもノードサーバーの設定には影響しません。アプリにプロキシアドレスを手動で設定している場合は、アプリ側のポートも更新してください。他のデバイスから接続できるかどうかは、待ち受けアドレス、ファイアウォール、LANアクセスの設定も確認する必要があります。

proxy-providers

Proxy providers

proxy-providersはプロキシ一覧の取得元と更新方法を定義し、ノード一覧とメイン設定を分けて管理できます。プロキシグループは通常、useで該当する一覧を参照します。ノード一覧を更新しても、設定ファイル全体が置き換わるわけではありません。プロバイダー名、プロキシグループからの参照、取得するデータ形式をあわせて確認してください。ダウンロードに成功してもグループ内にノードがない場合は、参照関係を確認します。

rule-providers

Rule providers

rule-providersは再利用可能なルールセットを定義します。長いドメインルールやIPルールをメイン設定から分けて保存する場合に便利です。ルールセットの動作タイプとファイル形式を一致させ、通常はRULE-SETルールで使用するセットと適用先のポリシーを指定します。ルールプロバイダーを定義しただけでは、参照されない限りルールの振り分けに適用されません。

オーバーライドとマージ

Override / Merge

オーバーライドとマージは、サブスクリプションの設定にローカルの変更を適用する方法です。カスタムDNS、ポート、ルールなどを保持するのに適しています。オブジェクトのマージ、リストの置き換え、適用順序はクライアントによって異なる場合があり、同じ設定がそのまま使えるとは限りません。エディター内のソースだけで判断せず、最終的に有効な設定を確認してください。サブスクリプションを更新した後も、カスタム設定が想定どおり保持されているか確認しましょう。

用語のカテゴリに戻る ↑