Clashの設定とネットワーク用語

Clash用語クイックリファレンス:ルール、コア、DNS、クライアント用語

設定ファイルで見慣れない項目を見つけたら、まずここでどの層に属するかを確認できます。各項目では、概念そのもの、よくある用途、関連する設定との関係を説明します。

A–Z

よく使う用語のクイック索引

用語をクリックすると、対応する解説へ直接移動できます。

01

プロトコルと通信

プロキシ情報の取得方法、接続の確立方法、テスト結果の見方を説明します。

ノード

proxy entry

ノードは、プロキシ接続を確立するためのサーバー項目です。通常はアドレス、ポート、プロトコル、認証情報を含みます。クライアント画面に表示されるノード名は識別用で、実際の接続方式を決めるのは項目内のプロトコルパラメータです。接続できるかどうかは、ローカルネットワーク、リモートサービスの状態、システム時刻などにも左右されます。

サブスクリプション

subscription profile

サブスクリプションは、リモート設定やプロキシ項目一覧を取得するURLです。クライアントに追加すると、設定した間隔で再取得し、プロキシ、プロキシグループ、ルールの変更を同期できます。更新するとリモート側が提供する一部の内容は上書きされるため、長期的に保持したい個人ルールは設定オーバーライドに置くのが適しています。

プロキシプロトコル

proxy protocol

プロキシプロトコルは、クライアントとリモートサービス間の接続、認証、データ転送の方法を定めます。対応するトランスポート層、暗号化パラメータ、拡張フィールドはプロトコルごとに異なるため、設定をリモート側と一致させる必要があります。コアが特定のプロトコルに対応しているかは、コアのバージョンとクライアントのパッケージ構成にも左右されます。

遅延

latency

遅延は、クライアントが指定したテストアドレスへリクエストを送り、応答を受け取るまでの時間です。主に接続確立と往復応答を示すもので、ダウンロード速度、安定性、長時間転送時の性能とは異なります。結果を比較するときは、すべてのノードで同じテストアドレスと方法を使ってください。

WebSocket

network: ws

WebSocketは、一部のプロキシプロトコルで選択できる通信方式で、1本の長時間接続上で双方向にデータを転送します。設定ではパス、リクエストヘッダー、TLS設定と一緒に指定されることがあります。クライアントとリモートのどちらか1つでも一致しないと、ハンドシェイクに失敗したり接続が途中で閉じたりする可能性があります。

02

ルールと振り分け

Clashはルールを上から順に確認し、最初に一致した時点で判定を終了します。

ルール設定

rules

ルール設定では、ドメイン、IP、プロセス、ルールセットに基づき、接続をプロキシ戦略、直接接続、拒否のいずれにするか決定します。グローバルモードとは異なり、グローバルモードでは多くの接続を同じ戦略へ送るのに対し、ルールモードでは接続ごとに判定します。振り分け結果を確認するときは、ルールの順序、対象の種類、最終的なプロキシグループを併せて確認してください。

DOMAIN-SUFFIX

DOMAIN-SUFFIX,example.com,DIRECT

DOMAIN-SUFFIXはドメインの末尾に基づいて対象を判定します。example.comを例にすると、通常はそのドメイン配下のサブドメインも対象にでき、同じサイト群に統一したポリシーを設定するのに適しています。完全一致のドメインだけを対象にする場合は、より範囲の狭いDOMAINを使います。

IP-CIDR

IP-CIDR,192.168.0.0/16,DIRECT,no-resolve

IP-CIDRはCIDR形式のネットワーク範囲で対象IPアドレスを判定します。末尾のno-resolveは、このルールの判定時にドメイン解決を能動的に実行しないことを示し、不要なDNS問い合わせを減らせます。ネットワーク長が判定範囲を決めるため、記述前にネットワークプレフィックスが正しいか確認してください。

GeoIP

GEOIP,CN,DIRECT

GeoIPは、対象IPが地理データベースで属するとされる地域に基づいてルールを適用します。すでにIPアドレスを取得している接続の処理に適していますが、データベースの判定はサービス運営者や実際の利用感を示すものではありません。振り分けの精度は、データベースのバージョン、IPの変更、名前解決結果の影響を受けます。

GEOSITE

GEOSITE,category-ads-all,REJECT

GEOSITEは、多数のドメインを地域や用途別の集合に整理し、設定から1つのルールで分類全体を参照できるようにします。判定対象はドメイン情報であり、IPを分類するGeoIPとは異なる層です。ルールセットが更新されると、分類に含まれるドメインも変わることがあります。

MATCH

MATCH,PROXY

MATCHは、ルール一覧の末尾でよく使われるフォールバック項目です。それまでのルールに一致しなかった接続を処理します。残りの通信をすべて受け止めるため、途中に置くと後続ルールが判定されません。設定を確認するときは、MATCHの後ろに適用させたい通常ルールが残っていないか確認してください。

03

コアと設定ファイル

グラフィカルクライアントが操作画面を担当し、コアが設定を読み込んで実際のネットワーク接続を処理します。

mihomo

mihomo core

mihomoはClash Metaの機能を受け継ぐオープンソースのプロキシコアで、設定の解析、振り分け、DNS処理、ネットワーク接続の引き受けを担当します。デスクトップやモバイルのクライアントは通常、グラフィカルな画面からmihomoを呼び出します。設定が利用できるかどうかは、mihomoのバージョンとクライアントが対応する入口を提供しているかの両方を確認する必要があります。

Clash Meta

Clash.Meta

Clash Metaは、Clashエコシステムにおけるコアの系統名で、プロトコル、ルール、DNS、TUNなどの機能を拡張しました。後続プロジェクトでは名称とメンテナンス体制がmihomoへ移行したため、新しいドキュメントではmihomoの表記をよく見かけます。旧設定にMetaの文字がある場合、通常はコアの由来や互換範囲を示しています。

YAML

YAML Ain't Markup Language

YAMLはClash設定でよく使われるデータ形式です。インデントで階層を表し、キーと値、リストで設定を整理します。インデントの誤り、Tabとスペースの混在、コロン後のスペース不足は解析失敗の原因になります。編集後は、まずクライアントのログに設定構文の問題が報告されていないか確認してください。

config.yaml

configuration file

config.yamlはクライアントでよく使われるメイン設定ファイル名で、待受ポート、DNS、プロキシ、プロキシグループ、ルールを保存できます。クライアントによってはサブスクリプションごとに個別の設定を生成するため、ファイル名が固定とは限りません。生成ファイルを直接編集すると、次回のサブスクリプション更新時に置き換えられる可能性があります。

プロキシグループ

proxy-groups

プロキシグループは、複数のプロキシ、ほかのプロキシグループ、直接接続の動作を1つの名前にまとめ、その名前をルールから参照します。よくあるグループ種別には、手動選択、自動テスト、フォールバックがあります。プロキシグループを切り替えても、そのグループを参照する接続に影響するだけで、ルール自体は自動的に書き換えられません。

Rule Provider

rule-providers

Rule Providerはルールを独立したファイルやリモートリソースに分離し、メイン設定から名前で参照できるようにします。ダウンロード先、更新間隔、ルールの動作を個別に設定できるのが利点です。リモート内容の読み込みに失敗した場合は、パス、形式、保存場所、現在のネットワーク状態を確認してください。

04

DNSとネットワーク

DNS設定はドメインの解決方法を決め、ドメインルールで完全な一致情報を保持できるかどうかにも影響します。

DNS

Domain Name System

DNSはドメイン名をネットワークアドレスに変換します。Clashは問い合わせを引き受け、設定に応じてローカルDNS、暗号化DNS、指定した上流DNSを選択できます。ドメインではアクセスできないのにIPでは接続できる場合、まずDNS経路を確認するのが一般的です。

Fake-IP

enhanced-mode: fake-ip

Fake-IPモードは、まずアプリに予約アドレスを返し、接続がコアに入った後で元のドメイン名を復元します。これによりドメイン情報を保持しやすくなり、ドメインルールも早い段階で適用できます。一部のLANサービスや実際のDNS結果に依存するアプリは、除外リストへの追加が必要です。

Redir-Host

enhanced-mode: redir-host

Redir-Hostモードは実際の名前解決結果を返し、ドメインと接続の対応関係を維持しようとします。Fake-IPとの主な違いは、アプリが実際のアドレスを受け取る点です。このモードが利用できるかどうかや実装の詳細は、コアのバージョンを基準に確認してください。

DNSリーク

DNS leak

DNSリークとは、ドメイン名の問い合わせが想定した名前解決経路を迂回し、システム、ブラウザ、その他のネットワークインターフェースから直接送信されることです。これにより、実際の振り分けが設定時の想定と異なる可能性があります。確認時は、システムDNS、ブラウザのセキュアDNS、TUNの引き受け範囲、ClashのDNS待受状態をまとめて確認してください。

nameserver-policy

dns.nameserver-policy

nameserver-policyでは、ドメインやルールセットごとに上流DNSを指定し、問い合わせごとに異なる名前解決経路を選べます。地域別の名前解決や、特定ドメインに固定のDNSを使う場合に適しています。条件が重複するときは、設定の順序とコアのルールも確認してください。

IPv6

Internet Protocol version 6

IPv6は次世代のネットワークアドレスプロトコルで、IPv4と同時に利用できます。ClashでIPv6を有効にすると、DNS解決、待受アドレス、出口接続でIPv6が使われる可能性があります。ローカルネットワークやリモート出口の対応が不完全だと、一部のサイトだけ接続できないことがあります。

05

クライアントとプラットフォーム

これらの設定は、通信をどのようにコアへ渡すか、またOS上のアプリを引き受けられるかどうかを決めます。

システムプロキシ

system proxy

システムプロキシは、OSのプロキシ設定をClashのローカル待受ポートへ向けます。ブラウザやシステムプロキシに従うアプリは、このポート経由で接続します。一部のゲーム、コマンドラインプログラム、独立したネットワークコンポーネントはシステムプロキシを読み取らないため、個別設定またはTUNモードが必要です。

TUNモード

tun.enable: true

TUNモードは仮想ネットワークインターフェースを作成し、ネットワーク層でシステム通信を引き受けます。システムプロキシを読み取らないアプリにも適用できますが、通常はシステム権限が必要で、ルーティング、DNS、ファイアウォール設定も関係します。システムプロキシとTUNは異なる用途に対応するため、同じスイッチとして考える必要はありません。

混合ポート

mixed-port

混合ポートは通常、同じポートでHTTPとSOCKSのプロキシ接続を受け付け、異なるローカルアプリから共通の入口を使えるようにします。これはローカルの待受方式を示すもので、リモート側のプロキシプロトコルを決めるものではありません。ポートが他のプログラムに使用されている場合、コアは起動ログに待受失敗を記録します。

LAN接続を許可

allow-lan

LAN接続を許可すると、ローカルのプロキシポートに同じネットワーク上の別のデバイスからアクセスできるようになります。有効にした後は、待受アドレス、OSのファイアウォール、デバイスが属するネットワークも確認してください。接続を共有する場合は、信頼できるネットワークだけで使い、管理インターフェースを信頼できないネットワークに公開しないでください。

設定オーバーライド

profile override

設定オーバーライドは、サブスクリプションの内容にローカル設定を追加または変更する仕組みで、DNS、ルール、ポートの設定を保持する用途に使われます。サブスクリプション更新による個人設定への影響を抑えられます。クライアントによってマージ、スクリプト、パッチなど実装方法が異なるため、項目の優先順位は各クライアントの説明を確認してください。

GUIクライアント

graphical client

GUIクライアントはプロキシコアにグラフィカルな画面を提供し、設定のインポート、プロキシグループの選択、システム連携、ログ確認を担います。クライアント名と実際のコア名は異なる場合があり、同じクライアントでも更新によってコアのバージョンが切り替わることがあります。機能の対応状況を判断するときは、クライアントのバージョン、コアの種類、現在の設定を併せて確認してください。

用語から実際の設定へ

項目の意味を理解したら、入門ガイドに沿ってサブスクリプションの追加、プロキシグループの選択、接続確認を進められます。各プラットフォームのインストールの違いを詳しく確認する場合は、完全版の利用ガイドをご覧ください。