ドキュメント 設定 ルーティングルール

ルーティングルール

rules 配列はルーティングの中核です。上から下に順にマッチングし、最初にマッチしたルールで指定された出口を使用し、残りのルールは判定されません。

書式一覧

config.yaml YAML
rules:
  - DOMAIN,ad.com,REJECT
  - DOMAIN-SUFFIX,google.com,auto
  - DOMAIN-KEYWORD,google,auto
  - DOMAIN-WILDCARD,*.google.com,auto
  - DOMAIN-REGEX,^abc.*com,PROXY
  - GEOSITE,youtube,PROXY

  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR6,2620:0:2d0:200::7/32,auto
  - IP-ASN,13335,DIRECT
  - GEOIP,CN,DIRECT

  - DST-PORT,80,DIRECT
  - PROCESS-NAME,curl,PROXY
  - NETWORK,udp,DIRECT

  - RULE-SET,providername,proxy
  - AND,((DOMAIN,baidu.com),(NETWORK,UDP)),DIRECT
  - SUB-RULE,(NETWORK,tcp),sub-rule

  - MATCH,auto

ルールは上から下の順にマッチングされ、上にあるルールほど優先度が高くなります。リクエストが UDP で、マッチしたプロキシノードが udp: true を有効にしていない場合は、直接失敗するのではなく、次のルールとのマッチングを続けます。

ドメイン系

タイプ説明
DOMAIN完全なドメインにマッチ
DOMAIN-SUFFIXドメインサフィックスにマッチ。例えば google.comwww.google.com/mail.google.com/google.com にマッチしますが、content-google.com にはマッチしません
DOMAIN-KEYWORDドメインキーワードマッチ
DOMAIN-WILDCARDワイルドカードマッチ。*(0個以上の文字)と ?(1文字)のみ対応——これは設定ファイルの他の場所で使われる Clash 独自のワイルドカード構文とは異なることに注意してください
DOMAIN-REGEXドメインの正規表現マッチ
GEOSITEGeosite データベース内のドメイン分類にマッチ。一部のデータは v2fly/domain-list-community から取得

IP 系

タイプ説明
IP-CIDR / IP-CIDR6IP アドレス範囲にマッチ。両者の効果は同じで、IP-CIDR6 は単なる別名です
IP-SUFFIXIP サフィックス範囲にマッチ
IP-ASNIP が属する ASN(自律システム番号)にマッチ
GEOIPIP が属する国コードにマッチ
SRC-GEOIP / SRC-IP-ASN / SRC-IP-CIDR / SRC-IP-SUFFIX対応する送信元 IP バージョン。接続の宛先ではなく発信元にマッチします

ポート / 受信 / プロセス / その他

タイプ説明
DST-PORT / SRC-PORT宛先/送信元のポート範囲にマッチ
IN-PORT / IN-TYPE / IN-USER / IN-NAME受信ポート/タイプ/ユーザー名/名前にマッチ
REMATCH-NAMERematch 出口によって書き込まれた名前にマッチ
PROCESS-PATH / PROCESS-PATH-WILDCARD / PROCESS-PATH-REGEX完全なプロセスパスでマッチ(3種類の書式:完全パス / ワイルドカード / 正規表現)
PROCESS-NAME / PROCESS-NAME-WILDCARD / PROCESS-NAME-REGEXプロセス名でマッチ。Android ではパッケージ名にもマッチ可能
UIDLinux のユーザー ID にマッチ
NETWORKtcp または udp にマッチ
DSCPDSCP マークにマッチ。tproxy UDP 受信のみ対応
RULE-SETルールプロバイダーを参照します。rule-providers の設定が必要です

論理ルール & サブルール

AND / OR / NOT

書式は LOGIC_TYPE,((payload1),(payload2)),Proxy で、payload はルールタイプと内容です。例:DOMAIN,google.com。括弧の使い方に注意してください。複数条件は二重の括弧で囲む必要があります。

AND,((DOMAIN,baidu.com),(NETWORK,UDP)),DIRECT
OR,((NETWORK,UDP),(DOMAIN,baidu.com)),REJECT
NOT,((DOMAIN,baidu.com)),PROXY
SUB-RULE

サブルールセットにマッチします。詳細は独立したサブルールページを参照してください。

MATCH

条件を問わずすべてのリクエストにマッチします。通常はルール一覧の最後にフォールバックとして配置します。

追加パラメータ

no-resolve宛先 IP ルールのみ

ドメインが「宛先 IP」系のルールとのマッチングを開始すると、mihomo はまず DNS 解決を1回トリガーして、解決された IP がそのルールにマッチするかを確認します。no-resolve を付けるとこの解決をスキップできます。それより前のルールで既に解決がトリガーされている場合、no-resolve を付けていても既存の解決結果を使ってマッチングされます。

src宛先 IP ルールのみ

「宛先 IP」マッチを「送信元 IP」マッチに変換します。