ルール設定から通信の制御まで、目的に合わせて確認できます。以下は設定例または項目の一覧で、完全なノード情報は含みません。既存の設定に追加する前に、項目やプロキシグループ名を確認してください。項目をクリックすると自動切り替えが止まり、内容を読んで比較できます。
01 ルールによる振り分けrules
02 TUNによる全通信の制御tun
03 サブスクリプション管理profiles
04 DNSとFake-IPdns
05 マルチプラットフォーム対応client
ルールは上から順に照合
ルールモードでは、宛先ごとに異なる方法で通信を振り分けられます。LAN内、直接接続するサイト、プロキシ経由のサービスを併用する場合に便利です。コアはルールを上から順に照合するため、特定ドメインやプライベートネットワークのルールは通常、最後の受け皿となるルールより前に記述します。次の例では、例示用ドメインとプライベートIPアドレスをDIRECTにし、それ以外の通信を「プロキシ選択」というプロキシグループに振り分けます。このグループは設定内にあらかじめ作成しておく必要があります。グローバルモードとは異なり、ルールモードでは個別の振り分けが適用されます。モードを切り替えた後は、Webサイトが開くかどうかだけで判断せず、接続画面で適用されたルールを確認してください。
# 設定例:「プロキシ選択」プロキシグループが必要
mode: rule
rules:
- DOMAIN-SUFFIX,example.com,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- MATCH,プロキシ選択
通信をTUNで取り込んでも、すべてがプロキシ経由になるわけではありません
TUNは仮想ネットワークインターフェースを使って通信を取り込み、システムプロキシを参照しないアプリにも適しています。コアに取り込まれた後の通信先は、ルールモードまたはグローバルモードで決まります。デスクトップでは通常、サービスモードのインストールや管理者権限の付与が必要です。次の例は有効化、ネットワークスタック、ルーティングの設定項目を示しています。DNSの横取りには、コア側のDNS設定も必要です。システムプロキシより広い範囲の通信に影響するため、他のVPNとルートが競合する可能性も高くなります。まず通常のプロキシ接続を確認してからTUNを有効にしてください。通信できなくなった場合は、TUNを無効にして権限、ルート、DNSを確認し、複数の項目を同時に変更しないようにしましょう。
# mihomo設定例:権限とDNS設定が必要
tun:
enable: true
stack: mixed
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
読み込み・更新・ローカル上書きを分けて管理
サブスクリプション管理は設定の取得と更新に使うもので、プロキシサービスを提供するものではありません。リンクからClash YAMLが取得できること、またはクライアントが対象の形式に対応していることを確認してから、設定画面で読み込み、有効化してください。更新後は、対象の設定が引き続き選択されているか、プロキシグループ名が元のままか確認します。定期更新はクライアントの機能で、操作場所はプロジェクトごとに異なります。コアのプロキシグループ用サブスクリプションは別の設定項目を使います。独自ルールを長期的に保持する場合は、クライアントの上書きまたはマージ機能を利用し、リモートサブスクリプションから生成されたファイルを直接編集しないでください。次回の更新で変更が失われる可能性があります。サブスクリプションURLは機密情報として安全に保管してください。
クライアントの設定手順(YAMLではありません):
設定画面 → 新規作成 / インポート → サブスクリプションURLを入力
設定画面 → 設定を選択 → 有効化
設定のメニュー → 更新
設定を上書き / マージ → ローカルルールを保存
ログ画面 → ダウンロードエラーと解析エラーを確認
まずDNSリクエストがコアに届いているか確認
Fake-IPは、割り当てたIPアドレスとドメインを対応付け、後続の接続でコアがドメイン名に基づいて通信を振り分けられるようにします。これにより、状況によっては実IPアドレスの先行解決による影響を抑えられます。拡張モードを設定しただけでは、すべてのシステムDNS通信が取り込まれるわけではありません。クライアントのDNS設定、TUNによる横取り、アプリ独自の暗号化DNSも確認してください。次の例は有効化とIPアドレスの割り当て範囲のみを示しています。上流のリゾルバーは既存の設定に合わせて追加してください。通常のDNS解決と比べ、一部のLAN機器やアプリでは除外リストが必要になる場合があります。問題を調べる際は、まずDNSクエリの経路と適用ルールを確認してから例外を追加し、多数の除外項目をそのままコピーしないようにしましょう。
# 設定例:上流のリゾルバーは別途設定が必要
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter:
- "*.lan"
- "localhost"
設定は移行できても、権限や設定画面はOSごとに異なる
クライアントを選ぶ際は、まずOSとプロセッサアーキテクチャを確認し、次にサブスクリプション形式、上書き方法、メンテナンス状況を比較します。デスクトップクライアントは通常、システムプロキシやサービスモードに対応しています。一方、モバイル端末ではOSのVPNインターフェースを使うため、デスクトップと同じ手順は使えません。同じYAMLでも、実際に使える機能はコアやクライアントの実装によって異なり、特にTUN、DNS、拡張ルールの項目には注意が必要です。移行前に元の設定を保存し、新しい環境に読み込んで基本的な接続を確認してから、高度な設定を戻しましょう。ダウンロードページではOS別にGUIクライアントとコアの入手先を掲載しています。一般的な用途にはGUIクライアント、サーバーやルーターには単体コアが適しています。
クライアント選びの確認項目(YAMLではありません):
OSとアーキテクチャ → 対応するインストーラー
設定形式 → YAML / クライアント対応のサブスクリプション形式
通信の制御方法 → システムプロキシ / TUN / システムVPN
ローカル変更 → 上書き / マージ機能
移行時の確認 → プロキシグループ名とDNS項目