Global Routing でよく使う3つのモードは Config・Proxy・Direct で、違いは「通信をまず何で判定するか」だけです。Config はまずルールを照合し、Proxy と Direct はルールを飛ばします。本記事では Home → Global Routing の実際の操作手順に沿って、3モードの判定順、それぞれが向いている場面、確認が終わったあとに Config へ戻す方法を整理します。すでに Subscribe を追加済みで、どのモードで使えばよいか迷っているユーザー向けの内容です。
3モードは入口が同じで、違いは判定順だけ
Shadowrocket の Global Routing は Home ページの設定行にあり、接続スイッチやサーバーリストと同じ画面に並んでいます。開くと Config・Proxy・Direct の3つのモードが表示されます。これらは Subscribe やサーバー、設定ファイルの中身を変更するものではなく、新しい接続を確立するときに「まず何を見るか」だけを変えます。
3つのモードを分解すると、判定順は3通りしかありません。Config はまずルールを照合し、一致したルールが指定するポリシーで処理します。どれにも一致しなければ FINAL のフォールバックに落ちます。Proxy はルールをまったく照合せず、すべての通信を現在選択中のサーバーに渡します。Direct も同様にルールを照合せず、すべての通信を直接外へ出します。別の言い方をすれば、Proxy はルール全体を FINAL,PROXY の1行に置き換えたもの、Direct は FINAL,DIRECT の1行に置き換えたものに相当します。
Config
推奨現在の設定ファイルのルールに沿って上から照合し、一致したルールが指定するポリシーで処理します。どれにも一致しない場合は FINAL に落ちます。中国本土は直接接続、海外はプロキシ経由という振り分けはルール側が行うため、手動での操作は不要です。
向いている用途:日常のメインモード、中国本土と海外のサービスを併用する場合
Proxy
ルールを飛ばし、すべての通信を現在選択中のサーバーに渡します。効果は FINAL,PROXY の1行と同じです。どのドメインも DIRECT 側に振り分けられることはありません。
向いている用途:ルールの誤判定の切り分け、一時的に全通信をプロキシ経由にする場合
Direct
同じくルールを飛ばし、すべての通信を直接接続します。サーバーは関与しません。接続スイッチはオンのままですが、どの通信もプロキシされません。
向いている用途:比較テスト、問題がルール側か回線側かの判断
Global Routing は通信の判定順を変えるだけで、Subscribe の内容やサーバーリストを書き換えることはありません。モードを Config に戻せばルールはすぐに有効になり、Subscribe の再追加も不要です。
Global Routing と Settings の On Demand は別物として区別してください。On Demand は接続スイッチをいつ自動でオン・オフするか(例:特定の Wi-Fi に接続したら自動接続)を管理し、Global Routing は接続がオンになったあと、通信がどの順で判定されるかを管理します。片方を変えても、もう片方には影響しません。
Config:ルールがリクエストの行き先をどう決めるか
Config モードでは、新しい接続はすべてルールの先頭から順に照合され、一致した時点で確定し、以降のルールは判定に使われません。1つのルールは「一致条件 + ポリシー」で構成されます。一致条件は通信の特徴を表し、ポリシーはそれを PROXY・DIRECT・REJECT のどれに渡すかを決めます。以下はルールの一例で、上から順に有効になります。
DOMAIN-SUFFIX,example.com,PROXY
DOMAIN-KEYWORD,example,DIRECT
IP-CIDR,203.0.113.0/24,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
| ルールの書き方 | 一致対象 | よくある使い方 |
|---|---|---|
DOMAIN-SUFFIX,example.com,PROXY | ドメインとそのサブドメイン | 指定したドメインをサーバー経由にする |
DOMAIN-KEYWORD,example,DIRECT | ドメインのキーワード | 同じキーワードを含むドメインをまとめて対象にする |
IP-CIDR,203.0.113.0/24,DIRECT | 宛先 IP の範囲 | 既知の固定アドレス帯を直接接続にする |
GEOIP,CN,DIRECT | IP の割り当て地域 | 中国本土のアドレスを直接接続にする |
FINAL,PROXY | フォールバック | どれにも一致しなかった場合の既定の行き先 |
ドメイン系のルールは接続の確立前に判定できます。IP-CIDR と GEOIP は宛先 IP を先に知る必要があるため、ルールの末尾に no-resolve を付けて、ルール照合のためだけに余分な名前解決を行うのを避けられます。最終行の FINAL は「どのルールにも触れられなかった」通信の行き先を決めます。FINAL が PROXY なら新しいドメインは既定でプロキシ経由、FINAL が DIRECT なら新しいドメインは既定で直接接続になります。
Config モードの実際の挙動は、現在選択されている設定ファイルによって決まります。設定ファイルを変えると、同じドメインが別のポリシーに割り当てられることがあります。ルーティングの問題を調べるときは、まず Config で現在有効な設定ファイルがどれかを確認してください。
Proxy と Direct:ルールを飛ばす2つの極端なモード
Proxy と Direct は同じものの両端です。どちらもルールを飛ばし、すべての通信を1つの固定動作に渡します。Proxy ではすべてのリクエストが現在のサーバーを経由しようとし、Direct ではすべてのリクエストが直接外へ出て、サーバーはまったく関与しません。ルールを参照しないため、この2つのモードの判定結果は常に予測可能で、それが診断ツールとして向いている理由でもあります。
Proxy と Direct:2つの診断モードがそれぞれ何を確かめるか
Proxy
- すべてのドメインを現在のサーバーに渡し、DIRECT 側の分岐はなくなる
- つながれば、サーバーと Subscribe 自体は使えると分かる
- 中国本土のサービスもサーバーを経由するため、遅延と通信量が増える
Direct
- すべての通信を直接接続し、サーバーはまったく関与しない
- つながれば、プロキシを経由せずに宛先へ到達できると分かる
- 接続スイッチはオンのままだが、どの通信もプロキシされない
どちらも短時間の検証向けです。比較テストが終わったら Config に戻し、Proxy や Direct のまま長期間使わないでください。
Proxy を日常的に使う場合、最も直接的な代償はすべての通信がサーバーを経由することです。中国本土のサービスへの往復遅延にサーバー経路の遅延が加わり、大きなダウンロードもサーバーの通信量に算入されます。確認後に戻し忘れると、日常の体験はずっと「全部経由」のままになります。
Direct のまま長く使うのは別の誤解を招きます。接続スイッチはオンのままで、ステータスバーにも VPN の表示が出ますが、どの通信もプロキシされていないため、「もう接続できている」と誤解されがちです。現在のモードは、Home ページの Global Routing 行の右側に表示される値を見れば確認できます。切断して再接続する必要はありません。
普段の選び方:既定は Config、確認時だけ切り替える
普段は Config のまま使うのがおすすめです。ルール側が「中国本土は直接接続、海外はプロキシ経由」というニーズのほとんどをカバーするため、毎回手動で切り替える必要はありません。アクセスに問題が出たときは、次の4ステップで原因を「ルール」か「回線」のどちらかに絞り込みます。
- Config のまま、まず Home ページの接続状態を確認し、Connectivity Test を1回実行して、接続スイッチとサーバーが正常かを確かめます。
- Proxy に切り替えて同じ宛先を試します。Proxy ではつながるのに Config ではつながらない場合、原因はほぼルール側です。あるドメインがルールによって DIRECT や REJECT に判定されています。
- Direct に切り替えて3回目の確認をします。Direct でも宛先に到達できないなら、問題はプロキシとは無関係なので、まず宛先自体の到達性を解決します。
- 切り分けが終わったら Global Routing を Config に戻します。ルールの問題だと確認できた場合は、設定ファイル内で該当ルールを前へ移動するか、より手前にルールを1行追加します。
まとめ:Proxy と Direct は診断用のモードで、日常使いのモードではない
3つのモードのうち、ルールを読むのは Config だけです。Proxy と Direct の価値は、2回の比較テストで問題を「ルール」か「回線」のどちらかに絞り込めることです。テストが終わったら Config に戻してはじめて、振り分けが元に戻ります。
複数のネットワークを行き来することが多い場合、Global Routing には Scene モードもあり、現在のネットワーク環境に応じて設定とモードを自動で切り替えられます。Scene は設定の手間が他の3つより大きく、どのネットワークにどの設定を対応させるかを先に決めておく必要があります。迷ったら Config のまま手動で切り替えるほうが管理しやすいです。
よくある質問
以下は3つのモードを切り替えるときによくある5つの質問です。回答に出てくる画面は、いずれもアプリ内でそのまま開けます。
Direct に切り替えても Subscribe は更新できますか?
Subscribe の更新自体は普通のネットワークリクエストです。Subscribe の URL に直接接続できる場合は Direct でも更新できます。URL にサーバー経由でしかアクセスできない場合は更新に失敗するので、いったん Config に戻すか、Settings → Subscribe で Update via Proxy をオンにして再試行してください。
Config で直接接続のルールを書いたのに、あるドメインがプロキシ経由になります
よくある原因は2つです。1つは順序で、ルールは上から順に照合されるため、前のルールが先に一致すると後ろの直接接続ルールは効きません。もう1つはフォールバックで、そのドメインがどのルールにも書かれておらず FINAL に落ち、FINAL が PROXY ならプロキシ経由になります。直接接続のルールを前へ移動するか、FINAL の値を確認してください。
Proxy モードで Connectivity Test は通るのに、Web ページの表示が遅い
これは想定どおりの挙動です。Proxy ではすべての通信がサーバーを経由し、中国本土のサービスも回り道をするため、遅延が積み重なって遅くなります。故障のサインではないので、確認が終わったら Config に戻せば問題ありません。
Global Routing を変えたのに、サーバーリストが変わらないのはなぜ?
Global Routing は通信の判定順を変えるだけで、Subscribe やサーバーを読み書きしません。サーバーリストが空だったり古かったりする場合は、モードを何度も切り替えるのではなく、Settings → Subscribe で Subscribe の URL と最終更新時刻を確認してください。
Direct で問題なく使えていれば、サーバーに問題がないと言えますか?
いいえ。Direct はサーバーをまったく経由しないため、プロキシを使わずに宛先へ到達できることしか証明できません。サーバーの状態を確認するには、Proxy に切り替えて試すか、Home ページで個別のサーバーの遅延テストを行ってください。
App Store で Shadowrocket を入手
買い切りの有料アプリで、販売は App Store のみです。ダウンロード前に、開発者名 Shadow Launch Technology Limited とアプリ ID 932747118 を照合して正規版かどうかを確認できます。