ルールモードとグローバルはいつ使うか

どちらも「より速い」わけではない。分流の範囲が違うだけだ。選び方を誤ると、ノードが壊れたように見えたり、普段のアプリが理由なく遅くなる。

まず画面の三つの語を見る

接続スイッチを入れたあと、Shadowrocketは各リクエストを直通にするか、選択中のノードへ送るかを決める。その決定はルーティング(バージョンによってはGlobal Routing)にあり、選択肢はだいたい三つだ。

開発者の App Store 画面。下部 Config はルールファイル。点は初期、チェックは使用中。
開発者の App Store 画面。下部 Config はルールファイル。点は初期、チェックは使用中。
アプリ上の名称実際にしていることいつ使うか
Config / ルール / 設定 ルールファイルを上から照合し、DIRECTなら直通、PROXYならノードへ送る 日常利用
Proxy / グローバル できるだけ多くの通信を現在のノードへ送る 切り分け用。長時間は使わない
Direct / 直通 プロキシは働かず、端末自身の回線で出る プロキシを止めたあと、普段のアプリが戻るか確認する

三つの選択肢は、取り込み済みのノードも、App Storeに入っているApple IDも変えない。変えるのは「通信の分け方」だけだ。グローバルを「より速い加速」と読むと、あとの誤判定が続く。

日常はルールモードにする理由

ルールモードはルールファイルに従う。銀行、地図、一部のAppleサービス、プロキシが不要な通信はDIRECTにでき、ノードが必要なホスト名だけPROXYにする。その通信は余分な経由をせず、遅延も認証コードも安定しやすい。

ルールは上から照合し、最初のヒットで止まり、以降は見ない。より具体的なドメインを先に書き、フォールバックのFINALは最後に置く。FINALがPROXYなら未記載の名前はノードへ行き、DIRECTなら直通に残る。逆にすると「出すべきが出ず、出さなくてよいものばかり出る」。

ルールをゼロから書く必要はない。サブスクに付くこともあり、設定でルールリストを参照してもよい。DOMAIN-SUFFIX、IP-CIDRなどの書き方はルール分流を見る。本ページで決めるのは一つ:日常はルール、グローバルは常時オンにしない。

グローバルは対照用であり、常時オンにはしない

グローバルはできるだけ現在のノードへ送る。直通でよいはずの通信も遠回りする。動画、クラウド、銀行アプリは遅くなり、認証コードは出にくく、位置もずれる。ノードが「強くなった」のではない。経路が長くなっただけだ。

正当な用途は切り分けだ。ルールモードで目的サイトが開けないとき、一時的にグローバルへ切る。

  • グローバルは開くがルールでは開かない:ノードと回線はおおむね使える。ルールがこのドメインをDIRECTにしたか、書いていない。ルールを直す。先に回線を替えない。
  • グローバルもルールも開かない:ノード切れ、サブスク期限切れ、または今の回線がそのサーバーに届かない可能性が高い。ルールをいじる前にノード変更かサブスク確認を優先する。
  • グローバルでも開かないが、DataのProxyは増えている:リクエストは出ている。問題はノード出口か、サイト側だ。

対照が終わったらルールに戻す。自分が何をしているか分かっており、ローカル通信がすべてノードを経由することを受け入れる場合以外、グローバルを既定にしない。

Directは対照用であり、第三の「加速」ではない

DirectはこのVPN経路でプロキシしない、という意味だ。ステータスバーにアイコンが残っても、リクエストはノードを通らない。答える問いは一つ:プロキシを止めた直後、普段のアプリはすぐ戻るか。Directでは正常でルールでは遅いなら、ルールかグローバルがそれらをPROXYに送っている。

スイッチは入れたがルーティングがDirectのまま、「つながっても意味がない」と言う人がいる。ノードの前にルーティングを見る。スイッチとルーティングは別の操作だ。

よくある誤判定

「より速いノード」では、普段のアプリの遅さは直らない。 日常アプリが遅く、DataのProxyが高いときは、追加の遅延測定の前にグローバルがオンかを見る。測定はノードまでの往復しか比べない。ローカル名が誤ってプロキシへ送られたかは分からない。

「ルールが壊れているからグローバルの方がよい。」 グローバルが開くのは、ノードがまだ使える、というだけだ。ルールはメンテが要る:ドメインを足し、FINALの位置を正し、ネットバンクをPROXYに入れない。グローバルを長期運用するのは、遠回りでルール誤りを隠すことだ。

「グローバルでも開かないからアプリの問題だ。」 まず一覧にノードがあるか、サブスクを更新したか、システムのVPN許可を許可したかを確認する。保存後も空なら保存後に一覧が空。数字の読み方はDataのDirectとProxy。手順の全体は接続できないとき使い方

本サイトの他ページとの役割分担

本ページは三つのルーティングの役割だけを書く。ルールの書き方、サブスク更新、Dataの数字は別ページに分け、一篇で全部のつまみを同時に回さない。日常はルールモード、開けないときだけグローバルで一度対照する。結論ははっきりしやすい。

クライアント未導入ならApp Storeへ。ウェブからパッケージを落とさない。購入とストアアカウント切替はダウンロードページにあり、アプリ内ルーティングとは無関係だ。ルーティングをどう切っても、正規インストールの代わりにはならない。

ルーティングを変える前に、一覧にタップできるノードがあることを確認する。ノードが無いと、ルールもグローバルも出口が無く、「モードが壊れた」ように見える。取り込みと更新を終えてから分流の話をする。遅延測定はノードまでの往復しか比べない。ローカルドメインの誤判定は、ルールのヒットと、DataのProxyが不必要なときに増えるかで見る。

同じルールファイルでも、サブスクやバージョンでキーワードが少し違うことがある。編集前に現行設定をバックアップし、変更後は目的サイト一つだけ検証する。出所不明のルール一式を貼り、同時にグローバルへ切らない。壊れたときに戻す先が無くなる。

社用メール、ネットバンク、行政系アプリは出口IPに敏感で、海外ノードへ送るとログインを拒否することが多い。それらのホスト名は明示的なDIRECTにし、後ろのFINAL PROXYに飲まれないようにする。ノードへ出すべきか分からないときは、ルールモードで開きDataを見る。Directだけ増え業務が普通なら直通のまま。グローバルでしか開かず、かつローカル専用のサービスでないなら、PROXY行を足す。