通常はConfigを選び、現在有効な設定に通信方式を任せます。ProxyとDirectは、一時的な切り替えや動作確認に適しています。この記事ではiPhone / iPadのHome → Global Routingを例に、すでに利用中のサービス事業者のサブスクリプションがあり、モードとルールの違いを確認したい方に向けて解説します。Mac、Windows、Android、Linuxでも振り分けの基本は同じですが、メニューの位置は各プラットフォームの画面で確認してください。
1. Global Routingと接続スイッチの違い
ShadowrocketのGlobal Routingは、通信をアプリが処理する際のルーティング方法を選ぶ機能で、接続スイッチとは別のものです。Proxyを選んでも、プロキシへの接続が成功したとは限りません。Configを選んでも、適切なルールが設定されているとは限りません。正常に動作しているかは、接続状態、現在の設定、実際に適用されたポリシーをあわせて確認します。
Homeでは接続状態の確認、ノードの選択、Global Routingへの移動を行います。Configは設定ファイルの管理、Settingsはアプリの設定に使います。それぞれ役割が異なります。特に、Global RoutingのConfigはルーティングモードの一つで、画面下部のConfigは設定管理ページです。同じ名前ですが、別の項目です。
画面にSceneが表示される場合は、別のシーン選択機能です。Config、Proxy、Directと同じ意味ではありません。シーン別の設定が必要でなければ、まずこの記事で扱う3項目で基本動作を確認してください。シーン条件とルールを同時に変更するのは避けましょう。
2. Config・Proxy・Directの通信処理
Config
おすすめ現在有効な設定のルールとポリシーに従って通信を処理します。ルールに一致した場合、DIRECT、プロキシノード、ポリシーグループなどが適用されます。上位のルールに一致しない場合は、通常FINALで接続先が決まります。Configは「一致しなければ直接接続」という意味ではありません。
用途:ドメイン名、IP、その他のルールに応じて、日常的に通信を振り分ける場合。
Proxy
対象範囲内の通信にプロキシ経由の経路を適用します。一般的な振り分けルールに従って、DIRECTかプロキシかを個別に選ぶ方式ではありません。実際に接続できるかどうかは、選択したノード、ネットワークの到達性、プロトコル設定によって異なります。
用途:プロキシ経由の通信を一時的に確認する場合や、ルールで誤ったポリシーが選ばれていないか比較する場合。
Direct
対象範囲内の通信に直接接続の経路を適用します。現在のネットワークから宛先に接続できるか確認するのに適しています。ただし、アプリの接続をオフにする機能ではなく、DNSなどの設定がすべてシステムの初期状態に戻るわけでもありません。
用途:ローカルネットワーク、LAN内のリソース、直接接続の可否を確認する場合。
ここでいう「グローバル」は、端末上のすべての種類のパケットが必ずリモートサーバーを経由するという意味ではありません。システムのルーティング、除外設定、DNS設定、プロトコルの仕様によって実際の動作は変わることがあります。また、モードを切り替えても、誤ったUUID、パスワード、TLSパラメーター、サーバーポートは自動修正されません。モード切り替えを万能な修復方法として扱わないでください。
3. 日常使いでConfigを選ぶ5つの手順
以下の手順は、利用可能なサブスクリプションまたはノードと、設定ファイルをすでにお持ちであることを前提としています。本サイトではノードやサブスクリプションの提供、販売、推奨は行っていません。サブスクリプション内のノード一覧とConfig内のルールファイルは別のものです。ノードの更新に成功しても、通信振り分けルールが作成または更新されたことにはなりません。
-
ノードを確認
Homeを開き、ノード一覧に自分のノードが表示されていることを確認して、利用可能なノードを選びます。設定でポリシーグループを使っている場合は、グループ内で実際に選択されている項目も確認してください。一覧にノードがあるだけでは、プロキシ経由で通信できるとは限りません。
-
設定を確認
Configを開き、使用する設定が選択されていることを確認します。ルールの適用先が現在のポリシーに対応しているか、特にプロキシポリシー名とFINALの接続先を確認してください。
-
モードを選択
Home → Global Routing → Configの順に開きます。ここで選択するのはルーティングモードです。設定を再インポートする操作ではなく、現在のネットワークに合ったルールが自動でダウンロードされるわけでもありません。
-
接続する
Homeに戻って接続をオンにします。初回はシステムの案内に従ってVPN構成の追加を許可してください。利用規約への同意が必要な公衆Wi-Fiでは、先にネットワークへログインしてから接続状態を確認します。
-
通信を再確認
直接接続するはずの通信と、プロキシ経由になるはずの通信をそれぞれ新たに実行し、接続ログで宛先、適用ルール、ポリシーを確認します。ステータスバーのVPNアイコンだけで、振り分けが正しいと判断しないでください。
Global Routingを切り替えても、すでに確立している長時間接続は新しいモードですぐに再接続されるとは限りません。ブラウザーのページをテストする場合はリクエストを再実行してください。接続を維持するアプリでは、いったん接続を終了してから再試行します。そうしないと、切り替え前のセッションを新しい設定の結果と誤認する可能性があります。
4. Configの動作を左右するルール順とFINAL
ルールは通常、上から順に照合され、一致したルールのポリシーが適用されます。具体的な例外は範囲の広いルールより前に置き、最後にフォールバック先を明示します。以下はルール構文の例であり、既存の設定をすべて置き換えられる完全なファイルではありません。例のPROXYは、現在の設定で実際に利用できるプロキシポリシーに置き換えてください。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
| ルール | この例の意味 | 確認するポイント |
|---|---|---|
DOMAIN-SUFFIX | example.comとそのサブドメインをPROXYに振り分けます。 | ドメイン名のみを入力します。https://、パス、ポートは含めません。 |
IP-CIDR | 192.168.0.0/16に一致する通信をDIRECTに振り分けます。 | このネットワーク範囲は、すべてのプライベートアドレスを網羅するわけではありません。no-resolveは、このルールのためにドメイン名を積極的に解決しないようにします。 |
GEOIP | IPの地理データベースでCNに一致する通信をDIRECTに振り分けます。 | IPとデータベースの結果に基づく判定であり、Webページの言語で判定するものではありません。 |
FINAL | 前のルールに一致しなかった通信をPROXYに振り分けます。 | DIRECTに変更すると、どのルールにも一致しない通信の接続先も変わります。 |
このため、Configを選んでいる2台の端末でアクセス結果が異なることがあります。ルールの順序、ポリシーグループの選択、フォールバック先が一致していない可能性があります。トラブルシューティングでは、Global Routingに表示される単語だけでなく、有効な設定内容を比較してください。
5. ProxyとDirectで条件を一つずつ比較
比較テストでは、変更する条件を一つに絞ります。同じネットワーク、宛先、ノードを使い、まずConfigでの結果を記録してから、短時間だけProxyまたはDirectに切り替えます。モード切り替えと同時にサブスクリプションの更新、DNSの変更、ノードの変更を行うと、どの変更が結果に影響したか判断できません。
比較方法:宛先を固定し、2つの経路をそれぞれ確認
Proxyで比較
- 経路:Home → Global Routing → Proxy。
- 同じノードを使い、同じドメイン名への接続を新たに確立します。
- Proxyでは接続できてConfigではできない場合、Configで適用されたのがDIRECT、別のポリシーグループ、または利用できないノードのどれかを確認します。
- Proxyでも接続できない場合は、ノードのパラメーター、現在のネットワーク、サーバーの状態を続けて確認します。
Directで比較
- 経路:Home → Global Routing → Direct。
- もともと直接接続できるはずの宛先を選びます。直接接続が制限されている宛先で、ローカルネットワークをテストしないでください。
- Directでは接続できてConfigではできない場合、ルールによって通信が利用できないプロキシに振り分けられていないか確認します。
- Directでも接続できない場合は、まずWi-Fiへのログイン、システムのネットワーク接続、宛先の状態を確認します。
テストが終わったらHome → Global Routing → Configに戻し、新しい接続で修正結果を確認します。一度の結果は原因を絞り込む手がかりにすぎず、それだけで故障の原因を特定することはできません。
宛先を記録するときは、ドメイン名とIPアドレスを区別してください。たとえばHTTPSの宛先ポートは443、HTTPは80が一般的ですが、プロキシサーバーが使用するポートとは異なります。Webページが443を使うからといって、Add Serverのサーバーポートも443に変更しないでください。ノードのポートは、利用者自身のサービス事業者から提供された値に合わせます。
6. よくある誤解:サブスクリプション、DNS、On Demand
サブスクリプションの更新に成功しても、Configで接続できないのはなぜ?
サブスクリプションの更新で通常変更されるのはノード一覧です。各振り分けルールが正しいポリシーを参照しているとは限りません。まずHomeでノードを確認し、次にConfigで現在のファイルとポリシー名を確認します。最後に、失敗した通信のログで適用ルールを確認してください。更新の成功と実際の経路への接続性は、別々に確認する必要があります。
Proxyに切り替えてアクセスできたら、DNSに問題がないと判断できますか?
それだけでは判断できません。モードによって通信経路や名前解決の動作が変わる可能性があるため、名前解決の結果、宛先IP、接続ログをあわせて確認してください。IPアドレスを直接指定してHTTPSサイトにアクセスすると、証明書とドメイン名が一致しないこともあります。この方法は、通常のドメイン名によるリクエストの代わりにはなりません。
Settings → On Demandを設定すると、Configの振り分けが置き換わりますか?
いいえ。Settings → On Demandは、システムの条件に応じてオンデマンド接続を開始する機能です。Global Routingは、アプリが通信を処理するときのルーティング方法を指定します。自動接続を調べる場合は、接続を再度開始する動作を設定が保存されていないと誤解しないよう、まずOn Demandの現在の設定を記録してください。
Directを選んでも、VPNアイコンが表示されたままなのはなぜ?
Directはルーティングモードであり、トンネルを終了するボタンではありません。アプリの接続が有効なら、システムにVPNの状態が表示されることがあります。通信の取り込みを停止するには、Homeの接続スイッチを確認してください。On Demandも設定している場合は、自動接続の条件もあわせて確認します。
VMessやVLESSに変更すると、Configの意味も変わりますか?
変わりません。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardはプロキシ接続に使うプロトコルです。Config、Proxy、Directはルーティングモードを表します。プロトコルの設定が正しくないとプロキシ経由の通信は失敗しますが、Configが自動的にDirectへ変わることはありません。
7. 日常設定に戻す前の確認リスト
トラブルシューティングが終わったら、一時的な変更を整理し、継続して使える状態に戻します。Configを推奨するのは、現在のルールが実際の用途に合っていて、プロキシポリシーが利用可能であることが前提です。Configを選ぶだけで設定内容を確認しなくてよいわけではありません。問題がルールにある場合はルールを修正し、ノードにある場合は利用者自身のサービス事業者が提供したパラメーターを確認します。原因を隠すために全体設定を長期間切り替えたままにしないでください。
- Home → Global RoutingがConfigに戻っており、接続状態も想定どおりになっている。
- Configで正しいファイルが選択され、FINALの接続先が明確で、各ポリシー名に対応する宛先が設定されている。
- 新たに確立した直接接続とプロキシ接続のテストで、適用ルールと実際のポリシーが一致している。
- トラブルシューティング中に一時変更したDNS、ノードの選択、Settings → On Demandを確認し直した。
- 利用者自身のサービス事業者へ問い合わせる際は、必要なエラー情報だけを伝え、サブスクリプションURL、token、認証情報全体を公開しないでください。