ShadowrocketのGlobal Routingの選び方:Config・Proxy・Directの違い

ShadowrocketのGlobal RoutingにおけるConfig・Proxy・Directの通信経路と、普段の利用や一時的な切り分け、すべて直結する場合の選び方を解説します。

この記事の要点

ShadowrocketのGlobal Routingは、アプリが処理する接続の経路を決めます。Configは現在の設定にあるルールに従い、Proxyはプロキシ経路を使用し、Directは直接接続します。利用中のサービスやサブスクリプションがあることを前提に、モードの切り替え場所、ルールの見方、同じ接続先を使った比較方法を説明します。普段は内容を確認したConfigを使い、Proxyは一時的な比較、Directは直接接続の確認に利用します。切り替え後は接続スイッチだけでなく、新しい接続の状態も確認してください。

3つのモードの違い:ルール・プロキシ・直接接続を区別する

Global Routingはルーティングモードであり、接続品質を切り替える設定ではありません。登録済みサーバーのアドレス、ポート、認証情報は変更されず、Proxyに切り替えても回線速度が上がるわけではありません。選択するモードは、その接続をどのように処理するかで決めます。

Config:現在の設定に従って処理

おすすめ

ルールの順序に従って、接続先をDIRECT、PROXY、または設定内で指定されたポリシーに振り分けます。先行するルールに一致しない場合は、FINALで経路が決まります。Configは「それ以外をすべて直接接続する」という意味ではありません。

向いている用途:ルールとFINALを確認したうえでの日常的な振り分け。

Proxy:すべてプロキシ経路を使用

アプリが処理する通常の接続について、Configの接続先別ルールで直接接続かプロキシかを選ばず、プロキシ経路を使用します。利用可能なサーバーと正しい接続パラメータは引き続き必要です。

向いている用途:一時的にプロキシ経由にする場合や、Configとの経路比較。

Direct:すべて直接接続

アプリが処理する通常の接続に直接接続の経路を使用します。接続スイッチはオンのままにできるため、DirectはShadowrocketを停止する設定ではありません。また、すべてのネットワーク設定がシステムの初期状態に戻るわけでもありません。

向いている用途:現在のネットワークから直接接続できるかの確認や、一時的にすべて直結する場合。

ここでいう「すべて」は、Shadowrocketが実際に処理する接続の範囲を指します。デバイス上のすべての通信が必ず同じ出口を通るという意味ではありません。DNS、ローカルネットワークへのアクセス、既存の接続、設定内のその他のネットワーク動作も個別に確認してください。

切り替え場所:Home → Global Routing

iPhoneまたはiPadでShadowrocketを開き、HomeからGlobal Routingを開いて、Config、Proxy、Directのいずれかを選びます。画面下部のConfigタブと、ここで選ぶConfigモードを混同しないでください。前者は設定ファイルを管理し、後者は現在の設定ルールに従って接続を処理するかどうかを決めます。

  1. 現在の状態を記録する。現在のGlobal Routing、使用中の設定、選択されている登録済みサーバーをメモし、確認後に元へ戻せるようにします。
  2. 事前条件を確認する。プロキシを使う場合は、利用中のサブスクリプションが読み込まれ、サーバーのパラメータがそろっていることを確認します。モードの切り替えと同時にサブスクリプションを更新したり、サーバーを変更したりしないでください。
  3. モードを選ぶ。Home → Global Routingで目的の項目をタップし、Homeに戻って表示を確認します。その後、接続スイッチが必要な状態になっているか確認してください。
  4. 新しい接続を確立する。テストするページを開き直し、必要に応じて対象のアプリを終了して再起動します。既存の接続は、以前の経路を引き続き使うことがあります。
  5. 通常の設定に戻す。確認が終わったら、事前に内容を確認した元のモードに戻し、同じ接続先に再度アクセスして結果を確認します。

Sceneが表示されている場合は、設定済みのシーン条件に応じて設定を適用する機能と理解してください。「すべてプロキシ」や「すべて直接接続」を固定するモードではありません。利用前にシーンの条件と関連設定を確認します。3つのモードを再現性のある形で比較するには、Config、Proxy、Directのいずれかを明示的に選んでください。

3項目
この記事で比較:Config / Proxy / Direct
2段階
切り替え手順:Home → Global Routing
変更する変数は1つ
各回で変えるのはルーティングモードだけ。接続先とサーバーは固定

Configの振り分け:順にルールを照合し、最後にFINALを確認

Configでの処理結果は、現在有効な設定によって決まり、モード名だけでは決まりません。Configタブで使用中のファイルを確認し、その中のルールを確認してください。通常のルールは上から順に照合され、適用されるルールに一致すると、そのルールで指定されたポリシーに従って処理されます。すべてのルールの結果を組み合わせて計算するわけではありません。

以下は構文を説明するための独立した例であり、現在の設定をそのまま置き換えるためのものではありません。ドメイン名には例示用のものを、IPアドレス範囲には文書用のものを使用しています。利用可能なサービス情報ではありません。

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY

そのため、「Configに切り替えても特定のサイトがプロキシ経由になる」ことは、必ずしも異常ではありません。ドメインルールやIPルール、ポリシーグループに一致したか、FINALが適用された可能性があります。まず、その新しい接続のルール照合記録を確認してから、ルールを変更するか判断してください。範囲の広いルールを先に置くと、後続の具体的なルールが適用されないこともあります。

普段の利用と切り分けでの選び方:接続先を固定して比較する

普段のアクセスで直接接続する接続先とプロキシを使う接続先の両方がある場合、内容を確認したConfigを使うと経路を明確に管理できます。一時的な切り分けでは、条件をそろえることが重要です。同じネットワーク、同じ接続先、同じサーバーを保ち、Global Routingだけを変更すれば、結果を比較しやすくなります。

2つの使い方:普段の振り分けと一時的な比較

普段はConfigを使用
  • Configタブで想定したファイルが選択されていることを確認します。
  • 接続先に関するルールとFINALのポリシーを確認します。
  • 直接接続される想定の接続先と、プロキシ経由の想定の接続先を1つずつ確認します。
  • ルールを変更したら接続を確立し直し、照合結果を確認します。
一時的にProxy / Directを使用
  • まず、Configで発生した具体的な問題を記録します。
  • サーバーは変更せずProxyに切り替え、同じ接続先にアクセスします。
  • 続いてDirectで、現在のネットワークから直接アクセスできるか確認します。
  • 結果を記録したら元のモードに戻します。一度成功しただけで、長期的にも問題ないと判断しないでください。

Configでは失敗しProxyでは成功する場合、まずルールの経路とポリシーの選択を確認します。ただし、これは切り分けの手がかりにすぎません。DNSと接続記録も確認して原因を判断してください。

たとえば、同じページがConfigではタイムアウトし、Proxyでは表示される一方、Directでもタイムアウトする場合は、Configで接続先がDIRECTに振り分けられていないか、利用できない別のポリシーに割り当てられていないか確認します。反対に、Directでは正常でProxyではタイムアウトするなら、プロキシサーバーと経路を優先して確認してください。これは比較結果の読み取り方を示すもので、テスト結果を保証するものではありません。

切り替えても開けない場合:ルーティング・DNS・接続を分けて確認

Global Routingで変更できるのはルーティングの状態であり、サーバー認証、ドメインの名前解決、プロトコルの通信条件を代替するものではありません。通常、アクセスにはドメインの名前解決、接続先アドレスへの接続、暗号化セッションの確立などが含まれます。いずれかの段階で失敗すると、ページの読み込みが続くことがあります。

確認できた現象優先して確認する項目次の対応
Configでは失敗し、Proxyでは正常ルールの一致、FINAL、ポリシーグループの選択Dataの接続記録から同じ接続先への新しい接続を探し、実際に適用されたポリシーを確認します。表示内容は現在の画面に従ってください。
Proxyでは失敗し、Directでは正常登録済みサーバーのアドレス、ポート、認証情報、通信条件利用中のサブスクリプションのパラメータを確認し、ポートや認証情報を誤って手動変更していないか確認したうえで、サーバーを個別にテストします。
3つのモードすべてで失敗現在のネットワーク、DNS、接続先自体の状態まずほかの接続先にアクセスできるか確認し、次に名前解決のエラーを調べます。複数の設定項目を一度に変更しないでください。
切り替えても元のページの表示が変わらない接続の再利用、キャッシュ、バックグラウンド接続開いていたページを閉じて再アクセスします。必要であればアプリを再起動し、新しい接続の記録を確認してください。

一般的なHTTPSアクセスでは、接続先ポートは通常443です。従来のDNS問い合わせでは通常53、DNS over HTTPSでは通常443が使われます。これらは異なる処理段階で使われるポートであり、登録済みプロキシサーバーのポートをその値に変更するという意味ではありません。サーバーのポートは、利用中の設定と一致させてください。

Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardはプロトコルまたはトンネル方式であり、Global Routingの代替選択肢ではありません。Proxyに切り替えてもプロトコルが自動的に別の方式へ変わることはなく、認証情報の誤りも修正されません。DNSも現在の設定に基づいて個別に確認してください。Directに切り替えても、名前解決の方式がシステムのデフォルトに戻るとは限りません。

よくある質問:接続スイッチ・サブスクリプション・自動接続の違い

Proxyを選んでも接続できないのはなぜですか?

まずHomeに戻り、選択中の登録済みサーバーと接続スイッチを確認してから、アドレス、ポート、認証情報を確認します。Proxyは、アプリが処理する接続をプロキシ経路に送るモードです。その経路が利用できなければ、モードを選ぶだけで接続が使えるようになるわけではありません。ネットワークやサーバーは変更せず、同じ接続先で確認してください。

Directに切り替えたのに、システムにVPNの状態が表示されるのはなぜですか?

Directは接続をオンにした状態でのルーティング方法であり、ネットワーク拡張機能を停止するボタンではありません。Shadowrocketによる接続処理を停止する場合は、Homeで接続をオフにし、Settings → On Demandに自動接続の条件が設定されていないか確認してください。実際の接続状態も確認しましょう。

利用中のサブスクリプションを更新すると、Configのルールも更新されますか?

そうとは限りません。サーバーのサブスクリプション更新とルーティング設定ファイルの更新は別の操作で、更新内容は読み込んだ対象によって異なります。更新後はHomeのサーバーとConfigの有効なファイルをそれぞれ確認してください。サーバーの数が変わっただけでは、ルールやFINALが変更されたとは判断できません。

On Demandを有効にしても、Global Routingを選ぶ必要はありますか?

それぞれ個別に確認してください。Settings → On Demandは、条件に応じて接続を開始する設定です。Global Routingは、接続確立後の処理方法を決めます。自動接続を有効にしても、適切なルール設定が自動で選ばれるわけではありません。Sceneも使う場合は、シーンによって別の設定が適用されないか確認してください。

Proxyで開けるウェブページは、すべてルールに追加すべきですか?

まずConfigで新しく作成された接続にどのルールが適用されたかを確認してから、変更を判断してください。既存のポリシーグループでサーバーの選択を誤っているだけなら、先に選択を修正します。ドメインルールの追加が必要な場合は、適切な範囲のDOMAIN-SUFFIXを使用し、先に一致する範囲の広いルールより前に配置してから、再度確認してください。

普段の利用に戻る前に確認する4項目

切り分けが終わったら、最後にページを開けたモードをそのまま使うのではなく、状態を把握できる設定に戻してください。特に、一時的にProxyを使った後は、処理対象のすべての接続にプロキシ経路を使う必要があるか確認します。Directでのテスト後も、通常プロキシが必要な接続先を確認してください。

ShadowrocketはAppleプラットフォーム向けの有料クライアントで、主にiPhoneとiPadで利用できます。入手先はApp Storeのみです。クライアントはクローズドソースの商用アプリであり、アプリの買い切り購入に回線サービスは含まれません。この記事では接続先やサブスクリプションの提供、販売、推奨は行っていません。システム要件、対応デバイス、購入条件はApp Storeの表示をご確認ください。

ShadowrocketをApp Storeでダウンロード