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

Global RoutingのConfigはルールに沿って通信を振り分け、Proxyはすべてプロキシ経由、Directはすべて直接接続します。通常はConfigを使い、切り分け時に一時的に切り替える方法を解説します。

この記事の要点

Shadowrocketの接続スイッチは通信を取り込むかどうかを決め、Global Routingは取り込んだリクエストの出口を選びます。利用可能なサーバーやサブスクリプションをすでにお持ちで、Config・Proxy・Directの違いを確認したい方に向けて、各モードの対象範囲、同じ条件での比較テスト、通常使うConfigへの戻し方を説明します。Proxyを選んでもサーバーが自動で用意されるわけではなく、Directを選んでも接続がオフになるわけではありません。

1. Global Routingと接続スイッチの役割

HomeでGlobal Routingを開くと、リクエストのルーティング方法を選べます。Configは設定に従って処理し、Proxyはすべてプロキシ経由、Directはすべて直接接続します。ここでいう「すべての通信」とは、Shadowrocketが取り込む範囲の通信を指します。端末上のあらゆるシステム通信が必ず対象になるという意味ではありません。システムのルーティング、除外設定、実際のネットワーク環境によって、通信がアプリに取り込まれるかどうかは変わります。

接続スイッチとルーティング方法は別々の設定です。Global RoutingでProxyを選んでも、接続スイッチがオフなら、その選択だけでリクエストが自動的にプロキシへ送られることはありません。一方、接続中にDirectを選ぶと、クライアントは動作したまま、取り込んだリクエストが直接接続されます。そのため、ステータスバーのVPN表示だけでは、特定のサイトにプロキシ経由で接続しているとは判断できません。

3項目
この記事で比較:Config / Proxy / Direct
2つの設定
接続スイッチは通信を取り込み、Global Routingは出口を選択
4種類
後半で扱うルール:DOMAIN-SUFFIX / GEOIP / IP-CIDR / FINAL

Global RoutingにSceneが表示される場合は、シーンに応じた設定を使うモードと考えてください。別のプロトコルでもConfigの同義語でもありません。基本の3つのモードを切り分ける際は、Config・Proxy・Directのいずれかを明示的に選び、Sceneの切り替えによる余分な条件を避けます。この記事ではSceneの設定は必要ありません。

2. Config・Proxy・Directの違いと使いどころ

Config

おすすめ

現在有効な設定のルールに従って処理方法を選びます。結果はDIRECT、プロキシポリシー、その他定義済みのポリシーなどになります。前のルールに一致しなかったリクエストは通常、末尾のFINALで処理されるため、すべてが直接接続になるとは限りません。

向いている用途:内容を確認済みの設定で日常的に通信を振り分ける場合、接続先ごとに出口を変えたい場合

Proxy

取り込み対象のリクエストを、Configのように個別のルールで振り分けず、すべてプロキシ経由にします。利用できるサーバー情報とプロキシ出口が必要であり、接続先に合った通信機能が求められます。

向いている用途:一時的にすべての通信をプロキシ経由にする場合、Configと比較してルールがアクセスに影響しているか確認する場合

Direct

取り込み対象のリクエストをすべて直接接続し、選択中のプロキシサーバー経由では転送しません。接続先にアクセスできるかは現在のローカルネットワークによります。クライアントがオフになるわけでも、VPN設定が削除されるわけでもありません。

向いている用途:ローカルネットワークで比較する場合、プロキシ経由で問題が起きるか確認する場合

Configは、設定が要件に合っていることを確認したうえで、通常利用の出発点にできます。Proxyは「Configを強化したモード」ではなく、Directも「Configより速いモード」ではありません。変わるのは出口の選び方であり、ネットワークの問題が自動で解決するわけではありません。特定の経路でのみ接続できる場合、モード変更後に結果が変わることは切り分けの手がかりになりますが、どれかのモードが常に優れていることを示すものではありません。

Global Routingとプロトコルは別の概念です。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardは接続や転送に関する方式を表し、Config・Proxy・Directはリクエストの出口の選び方を表します。Proxyに切り替えても、サーバー設定のプロトコルが変わったり、アドレス・ポート・認証情報が置き換わったりすることはありません。

3. Configのルールを確認する:順序とFINALに注目

Configでは、まず現在有効な設定ファイルを確認し、その中のルールを確認します。ルールは記載順に照合され、先に一致した結果によって、後続の項目を確認するかどうかが変わります。ドメインルールとIPルールでは照合に使う情報が異なり、DNSの解決方法もIP系ルールの判定に影響することがあります。リストにルールがあるだけで、リクエストが必ず一致すると判断しないでください。

[Rule]
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,DIRECT

これは構文を説明するためのルール例であり、完全な設定ファイルでも、日常利用向けの振り分け設定でもありません。未定義のプロキシポリシー名を参照しないよう、ここではすべての出口をDIRECTにしています。特定の接続先をプロキシ経由にする場合は、現在の設定に実在するプロキシポリシーを使い、構成メンバーが利用可能であることを確認してください。不明なポリシー名をそのまま貼り付けないでください。

4. Homeでモードを切り替え、同じ条件でテストする

テスト前に現在の設定を残し、普段アクセスできる接続先を1つ決め、Wi-Fiかモバイル通信かを記録します。Global Routingだけを変更し、ほかの条件はできるだけ同じに保ちます。サブスクリプションの更新、サーバーの変更、DNSの変更を同時に行うと、アクセスが回復しても原因を特定できません。

  1. サーバーを確認:Homeで現在選択中のサーバーを確認します。アドレス、ポート、認証情報が手元の有効な設定に基づいているか確認し、ポート番号だけでプロトコルを推測しないでください。
  2. 接続を確認:接続スイッチをオンにします。iPhone / iPadで初めて使う場合は、システムの案内に従ってVPN設定の追加を許可してください。次にHomeでConnectivity Testを実行し、成功やタイムアウトなど実際の結果を記録します。
  3. Proxyをテスト:Home → Global Routingを開き、Proxyを選びます。同じ接続先に新たに接続し、アクセスできるか記録してください。再生中の既存接続を見て判断しないでください。
  4. Configをテスト:Global Routingに戻ってConfigを選び、同じ接続先に再接続します。Proxyでは正常でConfigでは問題がある場合、現在有効な設定、ルールの順序、FINAL、ポリシーの選択を優先して確認してください。
  5. Directをテスト:Directを選び、新しい接続を開始してローカルネットワークでの結果を記録します。テスト後はConfigに戻し、変更した設定を再確認してください。

既存の長時間接続は、切り替え前の接続状態を引き継ぐことがあります。モードを切り替えたら、対象のページを閉じて開き直してください。必要に応じて、該当アプリの既存接続を終了してから再試行します。Connectivity Testの結果が示すのは、指定されたテスト先と方法での接続状況です。すべてのWebサイト、プロトコル、UDPリクエストが検証済みという意味ではありません。

2つの比較テスト:ローカルネットワークとルールの影響を分ける

DirectとProxyを比較
  • ネットワークと接続先を同じにします。
  • Directは正常でProxyは異常:プロキシサーバーへの接続、認証情報、出口の利用可否を確認します。
  • どちらも異常:ルールを変更する前に、接続先自体とローカルネットワークを確認します。
ProxyとConfigを比較
  • サーバーとテスト先を同じにします。
  • Proxyは正常でConfigは異常:一致したルールと、そのルールが指定するポリシーを確認します。
  • Configで使われるポリシーの出口が、Proxyのテスト時と同じか確認します。

比較結果は原因の絞り込みに役立ちますが、それだけで故障原因が確定するわけではありません。一度に変更する項目は1つにし、同じ手順で再テストしてください。

5. よくある質問:モードを切り替えても問題が続く場合

Proxyを選んだのにアクセスできないのはなぜ?

まずHomeに戻り、接続スイッチがオンで、正しいサーバーが選択されていることを確認してからConnectivity Testを実行します。Proxyは出口の方向を指定するだけで、パスワードの誤り、認証情報の期限切れ、到達できないサーバーアドレスを修正するものではありません。テストに成功しても特定のサイトだけ開けない場合は、接続先、DNS、使用中の通信方式を確認してください。

Directでもインターネットに接続できます。接続が有効になっていないのでしょうか?

Directはローカルネットワークから直接接続するため、インターネットにアクセスできても正常な場合があります。Home → Global Routingで現在の選択を確認し、Proxyに切り替えて同じ接続先へ新たに接続し、結果を比較してください。ページが開くことだけを、プロキシが有効な証拠と考えないでください。

Proxyは正常でConfigは異常です。ルールをすべて削除すべきですか?

まずルールを削除する必要はありません。Configで有効なファイルを確認し、接続先に関係するDOMAIN-SUFFIX、IP-CIDR、GEOIPと末尾のFINALを確認してから、一致したポリシーのメンバーを確認します。元の設定を残し、問題が確認できた項目だけを変更すると、復元や再テストがしやすくなります。

Directに戻したのに、しばらくすると自動で接続するのはなぜ?

Directは接続をオフにする設定ではありません。Settings → On Demandで、条件に応じて接続する設定が有効か確認してください。手動接続の動作を確認する場合は、関連する条件を一時的にオフにしてテストできます。元の設定を記録し、テスト後に戻してください。On Demandによる接続の開始と、Global Routingによる出口の選択を混同しないようにしましょう。

サブスクリプションを更新すれば、Configのルールも自動で適切になりますか?

サーバーのサブスクリプション更新とルール設定は別の操作です。既存のサブスクリプションを更新したら、Homeでサーバー一覧と選択中の項目を確認し、Configで有効なファイルを確認してください。サーバーが一覧に追加されても、DOMAIN-SUFFIXやFINALが変更されたとは限りません。

6. 通常利用に戻すための確認と入手方法

通常はConfigを使うことで、確認済みのルールに出口の選択を任せられます。任意のファイルを無条件に使い続けるという意味ではありません。切り分けのため一時的にProxyやDirectへ切り替えた後はConfigに戻し、選択中のサーバー、ポリシーメンバー、On Demandの設定が想定どおりか確認してください。職場のネットワークやLAN内のサービスなどは、実際に適用されるルールを特に確認しましょう。一度のWebページ表示だけで、すべての接続が正常と判断することはできません。

Shadowrocketはクローズドソースの商用アプリです。クライアントの入手と、利用者がすでに契約しているネットワークサービスは別のものです。本サイトではサーバーやサブスクリプションの提供・販売・推奨は行っていません。iPhone / iPad版はApp Storeで2.99米ドルの買い切りです。Mac(Appleシリコン・Intel)、Windows、Android、Linux版は無料です。iPhone / iPadのシステム要件はApp Storeの掲載内容をご確認ください。アプリを確認する際は、デベロッパ名 Shadow Launch Technology Limited、アプリID 932747118をご覧ください。

インストールや端末の変更が必要な場合は、本サイトのダウンロードガイドでプラットフォームを選んでください。Macは「このMacについて」でAppleシリコンかIntelかを確認します。ほかのプラットフォームも、端末のOSに対応するインストーラーを入手してください。インストール後は、この記事の接続スイッチ、Global Routing、同じ接続先でのテスト手順に沿って動作を確認します。クライアントを入手しただけで、利用可能なプロキシ出口が用意されるわけではありません。

Shadowrocketをダウンロード