Shadowrocketでは、必要な設定が有効になっている場合、普段はConfigを選ぶのが基本です。Proxyは一時的に通信をプロキシ経由に統一して比較・切り分けるとき、Directは直接接続できるか確認するときに使います。自分のサービスプロバイダのサブスクリプションを読み込み、接続はできるもののモードの選び方が分からない方に向けて、各モードの役割、切り替え手順、ルールの順序、症状別の確認方法を解説します。
3つのモードの違い:経路を決めてから個別ルールを確認
Global Routingは、Shadowrocketが処理する接続のルーティング方法を決めます。サーバーのプロトコルを選択する機能でも、通信速度の段階を切り替える機能でもありません。ConfigからProxyに変更しても、ShadowsocksがVLESSに変わるわけではなく、サーバーアドレス、ポート、認証情報も自動では変更されません。
Config:設定に基づいて振り分け
おすすめ現在有効な設定のルールを読み込み、記載順に接続をDIRECT、PROXY、または設定内で指定されたポリシーへ振り分けます。先行ルールに一致しない場合は末尾のFINALで処理されます。一致しなかった接続が必ず直接接続になるとは限りません。
おすすめの用途:振り分けルールを設定して普段使いする場合。
Proxy:プロキシ経由に統一
対象となる通常の接続をプロキシ経由に統一し、Configの通常の振り分けルールによる個別判定を行いません。実際に接続できるかは、選択したサーバー、DNS、プロトコルの対応状況、ネットワーク環境によって異なります。
おすすめの用途:一時的に経路を統一し、振り分けの問題を比較・切り分ける場合。
Direct:直接接続に統一
対象となる通常の接続をプロキシサーバー経由にせず、接続先へ直接アクセスします。接続スイッチをオフにすることや、システムのVPN設定を削除することとは異なります。
おすすめの用途:ローカルネットワークの確認や、接続先へ直接接続できるかの検証。
ここでいう「すべて」はモードの意味を簡潔に表したもので、デバイス上のすべての通信を例外なく保証するものではありません。システム通信、トンネルの対象範囲、除外設定、既存の接続状態によって、確認できる結果は変わります。モードを切り替えたら新しいリクエストを実行してください。再生中の動画や開いたままのページだけで、切り替えが反映されたか判断しないでください。
普段はConfigを選択:設定を確認してからモードを切り替える
ドメイン、IP、地域などの条件に応じて通信を振り分ける場合、Configを普段の設定にするのが適しています。設定内の直接接続、プロキシ、拒否などのアクションを使えるためです。ProxyとDirectは、一時的な比較・切り分けに向いています。Configが想定どおりに動くかは、有効な設定とそのルール内容によって決まり、モード名だけでは判断できません。
-
サーバーを確認
Homeを開き、現在選択されているサーバーが、自分の有効なサブスクリプションに含まれていることを確認します。サブスクリプションURLは利用中のサービスプロバイダから入手してください。アプリにサーバー一覧が表示されていても、接続できることが保証されるわけではありません。
-
設定を確認
Configを開き、現在有効な設定を確認します。ルールと末尾のFINALの処理先を確認し、保存されているだけで有効になっていない設定を、適用中の設定と取り違えないようにしてください。
-
モードを選択
Home → Global Routing → Configの順に開きます。Homeに戻り、現在のモード表示と接続スイッチがオンになっていることを確認してください。初回接続時は、システムの案内に従ってVPN構成の追加を許可します。
-
再確認
対象のWebページを開き直し、接続ログで対象ドメイン、適用されたルール、最終的なアクションを確認します。ページが古い接続を再利用している場合は、そのページを閉じて再度アクセスしてください。必要に応じて、中断しても問題のない作業を確認したうえで再接続します。
Homeでは接続状態とサーバー選択、Configでは設定ファイル、Settingsではアプリの設定を管理します。それぞれ役割が異なります。Subscribeの読み込みは接続情報の取得に関する操作であり、サブスクリプションを更新しただけで、すべての振り分けルールが直ったことにはなりません。トラブルの切り分けでは、現在有効なConfigを別途確認してください。
Configのルール判定:FINALを含めて記載順に確認
ルールは設定に記載された順番どおりに上から確認し、最初に一致したルールのアクションが適用されます。DOMAIN-SUFFIX、GEOIP、IP-CIDRは、名前ごとに自動で分類されて別々に判定されるわけではありません。ドメインルールを先にすべて確認し、その後でIPルールを判定する、という動作ではありません。FINALはそれ以前のルールに一致しなかった場合の最終処理に使うため、末尾に置きます。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
この例はルールの順序を示すもので、個人の設定全体をそのまま置き換えるためのものではありません。1行目のルールは、example.comとそのサブドメインにPROXYを適用します。2行目は192.168.0.0から192.168.255.255までのIPv4アドレスを対象にします。no-resolveは、このIPルールとの照合のためにドメイン名を積極的にIPアドレスへ解決しないという意味です。設定全体でDNSの名前解決を停止するという意味ではありません。
- DOMAIN-SUFFIX:ドメインの末尾に基づいて照合します。任意の文字列が含まれるかどうかを調べるルールではありません。接続先がドメイン名の状態でルール判定に渡されているかも確認してください。
- IP-CIDR:IPアドレスの範囲に基づいて照合します。接続先のIPアドレスが判明しているか、照合のためにドメイン名を解決できる設定になっているかが判定に影響します。
- GEOIP:接続先IPアドレスに対応する地域データに基づいて判定します。Webページの言語、サイト名、ユーザーの所在地に基づく判定ではありません。
- FINAL:最後に適用するアクションを明示します。例では
FINAL,PROXYを指定しています。実際の設定がFINAL,DIRECTなら、それ以前のルールに一致しない接続は直接接続になります。
Configで接続先が想定と異なる経路に進む場合は、似たルールをすぐに追加するのではなく、まずどのルールに一致したかを確認してください。一致ルールの後ろに追加したルールは、実行されない可能性があります。ルールの処理先がカスタムポリシーの場合は、選択中のサーバーやアクションも確認します。
一時的な切り替え:変更する条件は1つだけにする
ProxyとDirectは、異なる経路を比較するために使います。テストでは同じデバイス、ネットワーク、接続先、サーバーを使い、Global Routingだけを切り替えてください。Wi-Fi、サーバー、モードを同時に変更すると、ページが表示されるようになっても、どの変更が効果をもたらしたのか分からなくなります。
比較方法:同じ接続先を2つの経路で確認
Proxyで確認
- Home → Global Routing → Proxy。
- 現在のサーバーはそのままにして、接続先へ新しいリクエストを実行します。
- 読み込みが完了するか、タイムアウトが発生するかを記録します。
- 改善した場合はConfigに戻り、ルール、ポリシー、DNSを確認します。
Directで確認
- Home → Global Routing → Direct。
- 同じネットワークを維持し、同じ接続先にもう一度アクセスします。
- 現在のネットワークから接続先へ直接アクセスできるかを確認します。
- 改善した場合は、プロキシサーバーとプロキシ経由の経路を確認します。
比較後はConfigに戻してください。テスト結果は問題箇所を絞り込むための手がかりです。1回成功しただけで、ルールやサーバーの故障が確定するわけではありません。
Proxyに切り替えても、すべての接続先が速くなるとは限りません。現在のネットワークから直接アクセスできるサービスは、遠隔の接続先を経由することで経路が長くなる場合があります。プロキシ経由ではアクセスできないローカルネットワーク上のサービスもあります。Directも、すべてのWebサイトに接続できることを保証するものではありません。現在のネットワークから直接アクセスできるかを確認するためのモードです。
決済、アップロード、通話、長時間のダウンロードを行っている場合は、作業を終えてからモードを比較してください。確立済みの接続は元の経路を使い続ける場合もあれば、切り替えや再接続の際に中断する場合もあります。新しいリクエストを使ってテストし、「ページの枠組みが表示された」ことと「必要なリソースがすべて読み込まれた」ことを区別してください。
モードを切り替えても問題が続く場合:症状から原因を絞り込む
遅延テストの結果が出ても、Webページに必要なDNS、TLS、リソースのリクエストがすべて成功したとは限りません。1つのWebページから複数のドメインに接続することがあり、メインページ、画像、ログイン用APIがそれぞれ異なるルールに一致する場合もあります。確認時は「ネットワーク全体がつながらない」と一括りにせず、具体的に失敗した接続先を記録してください。
| 比較した結果 | 優先して確認する項目 | 次に行うこと |
|---|---|---|
| Configでは失敗し、Proxyでは正常 | 一致したルール、実際に選択されたポリシー、DNSの経路 | Configに戻り、接続できなかったドメインに適用されたルールを確認します。DIRECTや誤ったポリシーに振り分けられていないかを確認してください。 |
| Proxyでは失敗し、Directでは正常 | 現在のサーバー、認証情報、プロキシの接続先への到達性 | サーバーアドレス、ポート、プロトコルの項目を確認し、自分のサブスクリプションが有効か確認してください。 |
| どちらのモードでも失敗 | ローカルネットワーク、接続先のサービス、DNS、システムの接続状態 | まず現在のネットワークで接続認証が完了しているかテストし、続いて接続先の名前解決結果と接続エラーを確認します。 |
| 切り替えても変化がない | 既存の接続、キャッシュ、Scene、自動接続の条件 | 新しいリクエストを実行し、Homeに表示されるモードを確認します。自動化の条件がテストに影響していないかも確認してください。 |
On Demandとルーティングモードは別々に確認
Settings → On Demandでは、ネットワーク環境に応じた接続条件など、条件を満たしたときの自動接続動作を設定します。Global Routingは、対象となった接続をどの経路でルーティングするかを決めます。両者は別の設定です。テスト中に接続状態が自動で変わる場合は、On Demandが有効か、どの条件が設定されているかを先に確認してください。そのうえでGlobal Routingに表示されているモードを確認し、自動再接続を手動切り替えの失敗と取り違えないようにします。
DNSとプロトコルの設定は分けて確認
- ログに名前解決の失敗が表示された場合は、現在の設定にあるDNSの項目と、DNSサーバーに接続できるかを確認してください。Proxyに切り替えるだけで名前解決の問題が解消するとは限りません。
- サーバーへの接続に失敗する場合は、自分のサービスプロバイダから提供された情報を使って、プロトコルと認証項目を確認してください。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardのパラメータは互いに流用できません。
- ローカルネットワーク上のデバイスだけに接続できない場合は、接続先アドレス、IPネットワークのルール、関連するトンネル設定を確認してください。ローカルネットワークのアドレスを、遠隔のプロキシ経由で到達できるアドレスと決めつけないでください。
- トラブルの確認情報を共有する際は、モード、接続に失敗したドメイン、ルールのアクション、エラーの種類を記録してください。サブスクリプションのtoken、パスワードなどの認証情報は伏せてください。
普段の設定に戻す:明確な状態を保つ
確認作業が終わったら、一時的に変更した項目を1つずつ元に戻します。普段使うサーバーを選び、確認済みの設定を有効にし、Global RoutingをConfigに戻してから新しいリクエストで確認してください。ProxyやDirectを継続して使う場合は、その理由を記録しておくと、次回トラブルが起きたときにルールによる振り分けが有効だと誤解せずに済みます。
- 接続先ごとに振り分ける:Configを選び、ルールの順序とFINALを確認します。
- 一時的にプロキシ経由へ統一する:Proxyを選び、テスト後は普段のモードに戻します。
- 現在のネットワークから直接接続できるか確認する:Directを選びます。VPNをオフにする代わりとして使わないでください。
- 自動接続を設定する:Settings → On Demandを個別に確認します。接続条件の設定にルーティングモードを使わないでください。
設定を変更したり、自分のサブスクリプションを更新したりした後は、現在選択されているサーバーと有効な設定を再確認してください。基本操作は機能と設定、既存のサブスクリプションの管理方法はSubscribeの更新方法をご覧ください。「接続情報」「振り分け設定」「ルーティングモード」の3つを区別すると、設定を手当たり次第に切り替えるよりも問題を特定しやすくなります。