ホームと詳細チュートリアルでもルール分流に触れ、短い例もありますが、そこまでです。この記事ではよく使う照合タイプ、照合順、初心者が間違えやすい点を、実例で一通り追います。
接続後、全トラフィックをノードに流すこともできます。簡単ですが無駄です。日本のサイト、銀行、Apple の通信は DIRECT の方が速く、ノードの容量も食いません。ルールファイルの仕事は一つで、ドメインや IP ごとに DIRECT か PROXY かを決めることです。
ルールファイルはプレーンテキストの一覧です。1行が1ルールで、形は次で揃っています。
TYPE,VALUE,POLICY
Shadowrocket はこの一覧を上から読みます。当たった行の末尾のポリシーを適用し、そこで止まります。以降は照合しません。
「タイプ」は、その行が何でリクエストを照合するかを決めます。よく使うものは次のとおりです。
| タイプ | 照合対象 | 例 | 説明 |
|---|---|---|---|
| DOMAIN | 完全なホスト名。完全一致 | DOMAIN,www.example.com,PROXY | そのホスト名だけ。サブドメインや他の接頭辞は当たらない |
| DOMAIN-SUFFIX | ドメイン接尾辞 | DOMAIN-SUFFIX,netflix.com,PROXY | netflix.com とそのサブドメイン(www.netflix.com など)に一致 |
| DOMAIN-KEYWORD | ホスト名に含まれるキーワード | DOMAIN-KEYWORD,youtube,PROXY | ホスト名にキーワードがあれば当たる。接尾辞より広く、誤爆しやすい。慎重に |
| IP-CIDR | IP 範囲 | IP-CIDR,192.168.0.0/16,DIRECT | CIDR で照合。LAN や特定サーバー IP によく使う |
| GEOIP | IP の国/地域 | GEOIP,JP,DIRECT | 宛先サーバーの地理で判定。JP は日本。よく「自国 IP は DIRECT」のフォールバックに使う |
| FINAL | 上のどれにも当たらないときの既定 | FINAL,PROXY | 必ず最終行。「それ以外をどうするか」 |
カンマの最後は通常 PROXY(ノード経由)、DIRECT(直通)、REJECT(拒否。広告ドメインの遮断によく使う)です。
見落とされやすく、いちばん大事な点です。ルールは上から順に照合し、当たった行のポリシーをすぐ適用し、下は見ません。並びが結果を変えます。後ろに「より正確」な行があっても、前の行が当たっていれば実行されません。
そのまま読める一式の例:
DOMAIN-SUFFIX,netflix.com,PROXY
DOMAIN-SUFFIX,yahoo.co.jp,DIRECT
DOMAIN-KEYWORD,youtube,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,JP,DIRECT
FINAL,PROXY
このファイルでは www.netflix.com は1行目(接尾辞 netflix.com)で PROXY。yahoo.co.jp は2行目で DIRECT。ルーター画面 192.168.1.1 は4行目で DIRECT。サーバー IP が日本なら5行目の GEOIP で DIRECT。どれにも当たらなければ FINAL,PROXY です。
FINAL は「どれにも当たらなかったときの扱い」です。途中に置くと、それ以降は実行されない死んだ行になります。FINAL に到達した時点で処理は終わります。必ず最終行に置いてください。
キーワード照合は想像より広いです。DOMAIN-KEYWORD,ads,PROXY は広告ドメインだけでなく、名前に "ads" が含まれる普通のサイトにも当たります。既知ドメインは DOMAIN-SUFFIX を優先し、似た名前をまとめて拾い、誤爆を許容できるときだけキーワードを使ってください。
配信やニュースは国内 CDN にキャッシュを置くことがあります。GEOIP,JP,DIRECT が上すぎると「日本の IP」と判定され、見たいカタログのオリジンに届きません。必ずプロキシしたいドメインは前に、GEOIP は後ろ寄りが無難です。
手元で編集するルールは、保存すればすぐ効くことが多いです。サブスク形式のルールセットは、該当エントリで「更新」を一度押す必要があります。キャッシュされた旧ルールは自動では変わりません。
多くの事業者はルールセットも配っています。この記事は各行の意味を読み、例えばネット銀行のドメインを DIRECT に足すためのもので、全員がゼロから書く必要はありません。
注:構文は Shadowrocket 公式マニュアルと実機確認に基づきます。対応するルール種別はバージョンで差があります。お使いのビルドの実際の対応を優先してください。
関連記事:ホーム:Shadowrocket とは · チュートリアルの上級ルール