ShadowrocketのHomeにあるGlobal Routingは、通信をどの経路へ振り分けるかを選ぶ設定です。選択中の接続先を使うProxy、直接接続するDirect、Configのルールに従うConfigなど、それぞれの違いと使い分けを解説します。ご自身の接続設定が用意されていることを前提に、変更手順、簡単なルール例、設定後の確認方法まで順を追って説明します。接続スイッチがオンであることと、目的の経路で通信できていることは別々に確認しましょう。
Global Routingで変わるのは通信の経路
Global Routingは、Homeで接続を開始した後に、アプリの通信をどのように扱うかを選ぶ項目です。VPN接続の開始・停止を行うスイッチや、接続先のサーバー一覧とは役割が異なります。接続状態がConnectedでも、Global RoutingがDirectなら通信は直接接続されます。また、Configを選択した場合は、現在使われている設定ファイルに含まれるルールが実際の振り分けに関係します。
モードを選ぶ前に、Homeで接続先が選択されているか、接続スイッチがオンか、Configを使う場合は意図したファイルが選択されているかを確認してください。設定ファイルを編集しただけでは、そのファイルが現在の通信に使われるとは限りません。モード、接続先、設定ファイルをそれぞれ確認すると、問題の切り分けがしやすくなります。
| モード | 通信の扱い | 使いどころ |
|---|---|---|
Config | 現在の設定ファイルにあるルールに従って振り分けます。 | サイトや通信の種類ごとにPROXYとDIRECTを使い分ける場合。 |
Proxy | 通常の通信を選択中のプロキシ経由にします。 | 一時的にプロキシ経由の動作を確認したい場合。 |
Direct | 通信を直接接続します。 | 直接接続時の状態と比較する場合。 |
Scene | 選択中のSceneに設定された内容に従います。 | 登録済みのSceneを利用している場合。 |
Sceneは名前だけでは実際の振り分け方を判断できません。どの条件やポリシーが設定されているか、現在のSceneの内容を確認してください。モードによって表示や利用できる項目が異なる場合もあるため、画面に表示される選択内容を基準にします。
目的に合わせてモードを選ぶ
日常利用で一部のサイトだけをプロキシ経由にし、ほかは直接接続したい場合は、ルールを設定したうえでConfigを使います。通信全体をプロキシ経由にする必要があるかを確認する場合はProxy、直接接続を比較したい場合はDirectが確認に役立ちます。これは一時的な比較にも使えますが、テスト後は目的に合ったモードへ戻してください。
設定ファイル内のRuleに従って、通信ごとにPROXYまたはDIRECTを適用します。
適合:日常利用でサイトごとに経路を分けたい場合
ルールの個別指定ではなく、通常の通信を選択中のプロキシ経由にするモードです。
適合:全体を経由させたときの動作確認
通信を直接接続します。プロキシ経由のテスト結果と比較するときに使えます。
適合:直接接続できるかを一時的に確認する場合
判断のポイント:普段使う経路と比較用の経路を分ける
ProxyやDirectで一時的に通信できても、Configのルールが正しいことの証明にはなりません。日常利用の確認ではConfigを選び、比較のために別モードへ切り替えた場合は、結果を記録してから元のモードに戻してください。
Homeで変更し、同じ条件で確認する
切り替えの前に、接続先、現在のGlobal Routing、使用中のConfigを控えておきます。接続先やルールも同時に変更すると、通信結果が変わった理由を特定しにくくなります。まずモードだけを変更し、普段利用しているサイトと、アクセスできることが分かっている別のサイトで確認しましょう。
-
接続先を確認
Homeを開き、SERVERで利用する項目が選択されていることを確認します。接続スイッチがオフの場合は、モードを切り替える前に接続状況を確認してください。
-
設定ファイルを確認
Configを使う場合はConfigを開き、意図した設定ファイルが選択されていることを確認します。変更を加える前に、現在の設定を保存または複製しておくと、必要なときに元へ戻せます。
-
モードを選択
Home → Global Routingを開き、用途に合わせてConfig、Proxy、Direct、または登録済みのSceneを選択します。画面上の選択状態が切り替わったことを確認してください。
-
通信結果を確認
同じサイトを再読み込みし、必要に応じてConnectivity Testも実行します。接続状態、テスト結果、実際のページ表示を分けて記録し、テスト後は日常利用のモードに戻します。
テスト中に接続先やネットワークを変更すると、モード以外の要因が結果に影響します。比較する間は同じ接続先、同じネットワーク、同じ対象サイトを使い、変更する項目は一度に一つにしてください。特定のサイトだけ失敗する場合は、すぐに全体をProxyに固定せず、ConfigのルールやDNSの状態も確認します。
Configのルールと変更後の確認
Configで振り分ける場合、Ruleの各行は一般に「ルールの種類、照合対象、ポリシー」の順に記述します。次の例では、example.comとそのサブドメインをPROXYへ振り分け、それ以外をDIRECTにします。構文を説明するための例であり、既存の設定ファイル全体を置き換えるものではありません。Ruleセクションがすでにある場合は、同じセクションを重複して追加せず、既存の内容を確認してください。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
DOMAIN-SUFFIXは、指定したドメインとそのサブドメインに一致します。入力するのはドメイン名であり、URLのhttps://、ポート番号、パスは含めません。PROXYはプロキシ経由のポリシー、DIRECTは直接接続のポリシーです。カスタムのポリシー名を使用している場合は、設定ファイル内に定義があるか確認してください。FINALは、それ以前のルールに一致しなかった通信を処理します。特定ドメインのルールはFINALより前に記述します。
モードの確認
- 入口
- Home → Global Routing
- ルール利用
- Configを選択
- 確認対象
- 選択中のConfigとSERVER
Configを編集した場合も、使用中のファイルとGlobal Routingの両方を確認します。
Ruleの確認
- 対象指定
- DOMAINまたはDOMAIN-SUFFIX
- 経路指定
- PROXYまたはDIRECT
- 最終処理
- Ruleの末尾にFINAL
ルールは上から照合されるため、個別の例外を広い条件より前に置きます。
メインページだけでなく、画像、ログイン、APIなどを別ドメインから読み込むサイトもあります。その場合、ページ本体のルールだけでは関連するリクエストの経路が揃わないことがあります。必要なドメインだけを確認し、ルールを追加した後は対象ページを再読み込みしてください。すべての通信を一律にPROXYへ変更する前に、リクエストの対象とルールの一致状況を確認することが大切です。
Connectedなのにサイトが開かないのはなぜ?
接続状態はトンネルの状態を示すもので、対象サイトへの通信成功を保証しません。Home → Global Routingのモード、選択中のSERVER、Configのルールを確認し、Connectivity Testと実際のページ表示を別々に試してください。
Configを選んでもルールが反映されない?
Config画面で編集したファイルと、現在選択中のファイルが同じか確認します。続けてHome → Global RoutingでConfigが選択されているか確認し、対象ページを新しく読み込みます。
ProxyからDirectへ戻すときは?
Home → Global Routingを開き、日常利用で使うConfigまたは目的のモードを選び直します。接続スイッチの状態も確認し、テスト用の変更を残したままにしないようにしてください。