Clash用語集

クライアントやプロトコルから、ルール、DNSまで。設定ファイルに出てくる場所に合わせて用語を確認できます。各項目では役割や適用範囲、よくある誤解を解説し、設定キーは原文のまま掲載しています。

コアとクライアント

画面は設定の管理を、コアは接続の処理を担います。ポート、システムプロキシ、コントローラーはそれぞれ役割が異なります。

mihomo

Clash Meta → mihomo

mihomoは、旧称Clash Metaのプロキシコアです。設定の読み込み、接続、DNS処理、通信振り分けを行います。対応するプロトコルや設定項目は、実際に動作しているコアのバージョンで確認してください。クライアント名だけでは判断できません。GUIクライアントでは通常バックグラウンドで動作し、サーバー上で単独運用することもできます。

コアに関するトラブル対処を見る →

クライアントとコア

GUI / core

クライアントはサブスクリプションの追加、プロキシグループの選択、ログの確認を行う操作画面です。実際に接続を受け付けて中継するのはコアです。それぞれ別々に更新される場合があるため、クライアントを更新してもコアが同時に更新されるとは限りません。未対応の項目がある場合は、クライアントとコアのバージョンを記録し、画面側の制限か、コアの解析機能の問題かを確認しましょう。

プラットフォーム別にクライアントを見る →

システムプロキシ

system proxy

システムプロキシは、OSのプロキシ設定をローカルの待ち受けアドレスに向け、設定に従うアプリの通信をコアに渡します。一部のゲームやコマンドラインツール、独自に通信を管理するアプリは、この設定を参照しません。個別にプロキシを設定するか、TUNを利用してください。クライアントを終了しても設定が元に戻らないと、待ち受けが停止したポートにアプリが接続し続けることがあります。

混合ポート

mixed-port

混合ポートは、1つの待ち受けポートでHTTPプロキシとSOCKS5のリクエストを受け付けます。アプリの接続先をまとめられる便利な方法です。設定例はmixed-port: 7890ですが、実際に使うポートは現在の設定で確認してください。プロキシアドレスを指定するときは、待ち受けアドレスとアクセス可能な範囲も確認しましょう。他のプロセスがポートを使用中の場合、起動や接続に失敗することがあります。

外部コントローラー

external-controller

外部コントローラーは、パネルから接続状態の確認やプロキシグループの切り替えなどを行う管理機能です。アプリの通信を中継するプロキシではありません。コントローラーのポートをブラウザーのプロキシ設定に指定しても、混合ポートの代わりにはなりません。他の端末からアクセスする場合は認証を設定し、接続元を制限して、管理機能をインターネットに公開しないようにしてください。

プロキシプロトコル

プロトコルはクライアントとプロキシサーバーの通信方法を定めます。プロトコル名が一致するだけでは不十分で、認証、トランスポート、証明書の設定も一致させる必要があります。

Shadowsocks

type: ss

Shadowsocksは暗号化プロキシプロトコルの一種です。ノード設定には通常、サーバーアドレス、ポート、パスワード、暗号方式が含まれます。クライアントとサーバーで互換性のある暗号方式を設定してください。パスワードやポートに誤りがあると、タイムアウトすることがあります。プラグインを使うノードでは、その設定も一致させます。UDPが利用できるかどうかは、双方の実装とネットワーク環境によって異なります。

VMessとVLESS

type: vmess / vless

VMessとVLESSは異なるプロキシプロトコルで、同じノードに付け替えられる2種類のラベルではありません。IDなどの認証情報に加え、WebSocket、gRPC、TLSといったトランスポートやセキュリティ設定が必要な場合があります。サーバー側の設定と一つずつ照合してください。typeを別のプロトコル名に書き換えても変換できず、古いコアでは新しい項目を認識できないこともあります。

Trojan

type: trojan

Trojanは通常、TLSで接続を保護し、パスワードで認証します。接続できない場合は、サーバーとパスワードに加え、サーバー名、証明書の有効性、端末の時刻も確認してください。対応するトランスポート方式は実装によって異なります。プロトコル名だけを見て、追加設定がすべて現在のコアで使えると判断しないでください。

Hysteria2

type: hysteria2

Hysteria2はQUICベースのプロキシプロトコルで、通信経路でUDPが許可されている必要があります。利用可否はコアの対応状況だけでなく、認証、証明書、ネットワークのUDP制限にも左右されます。別のプロトコルで比較テストはできますが、どのネットワークでも特定のプロトコルが速いとは限りません。実際の通信で継続的な速度を確認してください。

TLSとSNI

tls / servername / sni

TLSは通信を保護し、接続先の身元を検証します。SNIはハンドシェイク時に、接続先サーバーの名前を伝えます。設定上のサーバーアドレスと証明書の名前は異なる場合があるため、ノードの提供元が指定する値を入力してください。証明書エラーが出たら、名前、システム時刻、証明書の状態を確認します。証明書の検証を無効にする方法を、恒久的な解決策にしないでください。

ルールと通信振り分け

ルールは「この接続をどこへ送るか」を決め、プロキシグループは「どのメンバーを使うか」を決めます。リストの順序で結果が変わります。

ルールによる通信振り分け

mode: rule / rules

ルールモードでは、rulesのリストを上から順に照合し、一致した行で指定されたポリシーを適用します。ドメインルール、IPルール、ルールセットを併用できますが、通常は具体的なルールを広範なルールより先に配置します。末尾のMATCH,PROXYは、それ以前のルールに一致しない通信を処理します。あらかじめ設定内にPROXYという名前のプロキシグループを定義してください。

DIRECT・PROXY・REJECT

routing target

DIRECTは組み込みの直接接続ポリシー、REJECTは組み込みの拒否ポリシーです。PROXYは通常、設定作成者がプロキシグループに付けた名前で、組み込みグループとは限りません。ルールの末尾では、DOMAIN-SUFFIX,example.com,PROXYのように実在するグループ名を指定できます。直接接続はプロキシノードを経由しないという意味で、ローカルのコアによる処理をすべて迂回するわけではありません。

プロキシグループのポリシー

proxy-groups

プロキシグループは、ノードや他のポリシーグループをまとめ、ルールから参照できる接続先にします。selectは手動選択、url-testは接続テストの結果に基づく選択、fallbackはメンバーを順番に確認して利用可能な接続を使います。自動選択の結果は指定したテスト先での状態に限られ、すべてのWebサイトで使えるとは限りません。ダウンロード速度のランキングとして扱うこともできません。

GeoIPとGEOSITE

GEOIP / GEOSITE

GEOIPはIPデータベース、GEOSITEはドメインのリストに基づいて分類するため、照合対象が異なります。GEOIP,CN,DIRECTの利用には、適切なIPデータが必要です。分類結果はデータベースの更新状況にも左右されます。IPアドレスの地域情報だけではWebサイトの用途やアクセス要件を判断できないため、重要な通信には地域分類だけでなく、明示的なドメインルールも設定してください。

ルールセット

rule-providers / RULE-SET

ルールセットを使うと、複数のルールを個別に管理できるデータソースとして分離できます。rule-providersで定義し、RULE-SETでルールリストに追加します。データ形式とbehaviorを一致させてください。たとえば、ドメインのリストを通常のルール行として解析することはできません。ルールセットの更新とメインのサブスクリプション更新は別々に行われます。全体の照合順は配置場所にも左右されるため、更新に失敗したときはローカルのキャッシュとログも確認してください。

DNSとネットワーク

ドメイン名の解決、接続の取り込み、ネットワークルーティングは、それぞれ異なるレイヤーです。設定を一つ有効にしても、他のレイヤーまで自動で設定されるわけではありません。

DNS

dns / nameserver

DNSはドメイン名をIPアドレスに変換します。コアは設定に応じてクエリを受け取り、上流のリゾルバーを選択できます。システムDNS、ブラウザー独自の暗号化DNS、コアのDNSが同時に使われる場合があります。設定を一か所変更しても、他の経路には反映されないことがあります。まず、クエリを発行したアプリと処理先を確認し、次に上流への接続を調べましょう。名前解決の問題をノードの障害と誤認しないようにしてください。

Fake-IP

dns.enhanced-mode: fake-ip

Fake-IPはドメイン名にマッピング用アドレスを割り当て、後続の接続でもドメインとの対応を保つことで、ドメインルールを適用しやすくします。このアドレスはWebサイトの実際のIPではないため、サーバーの所在地を判断する用途には使えません。LAN内のサービスや実際の名前解決結果を必要とするアプリでは、必要に応じてfake-ip-filterを設定してください。変更後は、アプリやシステムに残った古いDNSキャッシュも処理します。

TUNモード

tun.enable

TUNは仮想ネットワークインターフェースを通じてIP通信をコアに渡す仕組みで、システムプロキシに従わないアプリにも使えます。対象範囲はルート、除外設定、権限、クライアントの実装によって異なり、有効にしてもすべての通信がプロキシノードを経由するとは限りません。接続先は現在のモードとルールで決まります。他のVPNと同時に使う場合は、ルーティングやDNSの取り合いが起きていないか確認してください。

DNSリーク

DNS egress

DNSリークは、クエリが想定と異なる経路やリゾルバーから送信される状態です。調べる前に、想定する名前解決の経路を明確にしてください。主な確認項目は、システムDNS、アプリ独自の暗号化DNS、IPv6ルート、コアのDNS取り込み設定です。テストページに表示されたリゾルバー名は手がかりにすぎず、それだけで全通信の経路は判断できません。ログやネットワーク設定を確認し、繰り返しテストして判断しましょう。

DNSのトラブル対処を見る →

IPv6

ipv6 / AAAA

IPv6はIPv4と共存するネットワークプロトコルで、DNSのAAAAレコードからIPv6アドレスを取得できます。システムにIPv6ルートがあっても、プロキシノードやコアが同じ経路に対応しているとは限りません。一部のサイトで直接接続になったりタイムアウトしたりする場合は、DNSの応答、システムルート、プロキシ処理能力を個別に確認してください。一時的なIPv6の無効化は比較テストに使えますが、原因の特定に代わるものではありません。

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

サブスクリプションは設定の取得元、ノードは接続情報、設定ファイルは全体の動作を決めるものです。ローカルの変更は、更新時の上書きやマージ順にも注意が必要です。

サブスクリプション

subscription / profile

サブスクリプションは、ノード一覧や設定ファイルを取得するためのリモートソースです。クライアントやプロキシコアそのものではありません。取得する内容はノードだけの場合もあれば、ルールやプロキシグループを含む場合もあります。インポート後は、現在のクライアントが要求する形式に合っているか確認してください。URLにアカウント情報が含まれることがあるため、ログやスクリーンショットを共有するときは隠しましょう。ローカルでの変更は次回の更新で上書きされる場合もあります。

サブスクリプションの追加手順を見る →

ノード

proxies

ノードには、プロキシ接続に必要なサーバー、プロトコル、ポート、認証情報が含まれ、通常はサブスクリプションの提供元が管理します。ノード名はラベルにすぎず、地域名や回線名だけでは実際の接続先、プロトコルの対応状況、安定性を確認できません。接続先サービスへのアクセス可否、継続通信の状態、料金体系を考慮して選びましょう。リストの名前だけで決めるのは避けてください。

遅延

latency / url-test

クライアントに表示される遅延は、指定された接続テストを1回行うのにかかった時間です。どの処理を含むかは実装とテスト方法によって異なります。数値が小さくてもダウンロード速度が速いとは限らず、タイムアウトもテスト先に接続できないだけの場合があります。テスト先、ネットワーク環境、実施時刻が近い場合に限って比較し、実際のWebサイトへのアクセスや継続的な通信でもノードの品質を確認してください。

YAMLとconfig.yaml

configuration syntax

YAMLは一般的な設定ファイル形式で、config.yamlはよく使われるファイル名です。別の設定プロトコルではありません。階層はスペースによるインデントで表し、リスト項目は通常ハイフンで始まります。タブや誤ったインデントがあると読み込みに失敗することがあります。構文が正しくても、現在のコアがその項目に対応しているとは限りません。変更前に使える設定をバックアップし、読み込み結果をクライアントのログで確認してください。

設定の上書き

override / merge / patch

設定の上書きは、サブスクリプションをもとにローカル設定を追加・変更する仕組みです。独自のルール、DNS、ポートなどを保存する際に使えます。リストへの追加、項目の置き換え、設定の適用順はクライアントごとに異なるため、あるクライアントの上書きファイルを汎用規格として扱うことはできません。変更後は最終的に適用された設定を確認し、ルールの位置やグループ名の参照をチェックしてください。元のサブスクリプションと上書き設定もバックアップしておきましょう。