Shadowrocketでは、画面の入口、ルーティングモード、接続スイッチはそれぞれ別の役割を持ちます。すでにアプリを入手し、自分が利用しているサブスクリプションを設定する方に向けて、まずHome、Config、Data、Settingsを確認し、次にProxyとDirectの違いを整理して、最後に接続状態を順番に確認します。読み終えると、英語の表示だけから機能を推測せず、目的に合った操作画面を見つけられます。
画面の入口とルーティングモード
Home、Config、Data、Settingsは主な画面の入口です。一方、ProxyとDirectはルーティングに関する用語で、これらの画面と同列のタブではありません。特にConfigは、設定ファイルを管理する画面を指す場合と、Global Routingで設定ルールに従って処理するモードを指す場合があります。ガイドを読むときは、まずどの画面で使われている用語なのかを確認しましょう。
| 画面用語 | 種類 | 主な用途 |
|---|---|---|
| Home | 画面 | サーバーやサブスクリプションの確認、サーバーの選択、接続スイッチやGlobal Routingの操作。 |
| Config | 画面またはモード | 画面では設定ファイルを管理し、モードでは現在の設定に含まれるルールに基づいて接続を処理します。 |
| Proxy | ルーティングモードまたはポリシー | 対象となる接続をプロキシポリシーで処理します。 |
| Direct | ルーティングモードまたはポリシー | 対象への接続をプロキシサーバー経由にせず、直接アクセスします。 |
| Data | 画面 | アプリに記録された通信量や接続関連のデータを確認します。 |
| Settings | 画面 | On Demandなど、アプリの動作を設定します。 |
iPhoneとiPadでは、画面サイズや向き、アプリの表示変更によってレイアウトが変わります。入口の実際の位置は、現在の画面で確認してください。英語のラベルを優先して見分け、表示位置と混同しないようにしましょう。大きな画面で側面に移動した入口も、機能がなくなったわけではありません。
Home:サーバー、サブスクリプション、接続スイッチ
Homeは日常操作の起点です。サーバー項目には、プロトコル、アドレス、ポート、認証情報など、接続に必要な情報が保存されます。サブスクリプションを使うと、複数のサーバー項目を取得・更新できます。サブスクリプションは利用中のサービス提供元から入手してください。アプリを購入しても、利用可能なサーバーが自動で用意されるわけではなく、接続サービスの契約が含まれるわけでもありません。
Homeでサーバーを選ぶと、以降のプロキシ接続で使うサーバーが指定されます。接続スイッチをオンにすると、クライアントによる接続処理が始まります。初回の有効化時には、VPN構成の追加を許可するようシステムから求められる場合があります。システムの案内を確認してから承認してください。VPNの状態表示は関連する接続機能が有効になったことを示すもので、目的のWebサイトにアクセスできることを保証するものではありません。
-
サブスクリプションを準備する
サブスクリプションは利用中のサービス提供元から入手してください。アカウント管理ページのURLではなく、サブスクリプション用のリンクであることを確認します。リンクに含まれる認証情報は、公開の掲示板などに投稿しないでください。
-
項目を追加する
Home → 右上の「+」→ Type → Subscribeと進み、URLに自分のサブスクリプションリンクを貼り付けて、内容を確認してから保存します。
-
サーバーを確認する
Homeに戻り、サブスクリプションがサーバー項目として展開されていることを確認してから、使用するサーバーを選択します。内容を再取得する場合は、Homeで下に引いて更新し、結果を確認してください。
-
モードを確認する
Home → Global Routingと進み、現在の選択を確認します。設定ルールを使う場合は、先にConfigで現在の設定を確認し、その後Configモードを選択してください。
-
接続を開始する
Homeに戻って接続スイッチをオンにし、必要に応じてシステムの許可を確認してから、実際の接続先でアクセスをテストします。失敗する場合は、サーバー、モード、ルールを個別に確認しましょう。接続スイッチを何度も切り替えるだけでは解決しません。
サブスクリプションの更新とプロキシ接続は別の処理です。更新成功は、アプリがサブスクリプションの内容を取得して解析できたことを示すだけで、各サーバーへの接続を保証するものではありません。サーバーが使える場合でも、その時点でサブスクリプションのURLを更新できるとは限りません。問題を調べるときは、「サブスクリプションの取得」と「接続先へのアクセス」のどちらで失敗したかを記録してください。
Global Routing:Proxy、Direct、Config、Scene
Global Routingでは、接続をどのように処理するかを選択します。ProxyとDirectは全体的なルーティング方針を把握するための項目で、Configは設定ルールに従って通信を振り分け、Sceneは登録済みの条件とアクションに基づいて処理します。モードを切り替えると、その後の接続処理が変わります。テスト時は接続先に再度接続し、既存の接続状態を切り替え後の結果と混同しないようにしてください。
- Proxy:全体をプロキシ経由で処理しますが、正しいサーバー設定と接続が必要です。この項目はサーバーのプロトコル名ではありません。
- Direct:全体を直接アクセスで処理します。この項目が選択されている場合、接続スイッチがオンでも、リクエストがプロキシサーバーを経由しているとは限りません。
- Config:現在の設定に含まれるルールに従ってポリシーを選択します。同じタイミングでも、接続先によってDIRECTまたはプロキシポリシーが使われることがあります。
- Scene:設定済みの条件とアクションに基づいて処理します。使用前にシーンの内容を確認し、ConfigやProxyと同じ結果になると決めつけないでください。
画面上のProxy、Directと、ルール内のPROXY、DIRECTでは、大文字・小文字の表記が異なる場合があります。ルールを書き写すときは構文をそのまま保ち、日本語の説明や画面表示を設定に置き換えないでください。Global RoutingでConfigを選んだ後も、モード名だけでなく、ルールが実際にどのポリシーを指定しているかを確認しましょう。
Config:設定ファイルとルールの順序
Config画面では設定ファイルを管理します。設定にはルール、ポリシー、その他のネットワーク設定などを含められます。サーバーのサブスクリプションと設定ファイルは別のものです。前者は主にサーバー情報を更新し、後者はリクエストの処理方法を決めます。サブスクリプションを追加しても、現在の設定ルールまで更新されたとは限りません。
ルールを確認するには、まずConfigで有効なファイルを確認し、その中のルールを見ます。通常、ルールは上から順に照合され、一致すると該当するポリシーが適用されます。より具体的なルールは適切な位置に置き、最後にフォールバック用のルールを配置します。以下は構文を理解するための例であり、既存の設定ファイルを置き換えられる完全なファイルではありません。
[Rule]
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
DOMAIN-SUFFIX,example.com,DIRECT:example.comとそのサブドメインに一致し、DIRECTで処理します。ドメイン名は説明用です。IP-CIDR,192.168.0.0/16,DIRECT:IPv4のネットワーク範囲に基づいてアドレスに一致させます。任意のドメイン名に一致させる用途には使えません。GEOIP,CN,DIRECT:IPアドレスの地理情報に基づいて一致させます。結果は接続先アドレス、名前解決の結果、使用するデータによって異なります。FINAL,PROXY:前のルールに一致しなかった場合のフォールバックとして使います。後続のルールも照合する必要がある場合は、それより前に置かないでください。
Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardはプロトコル名であり、Global Routingのモードではありません。これらはクライアントと該当サーバー間の通信方法を示します。一方、DOMAIN-SUFFIXなどのキーワードは、リクエストがどのルールに一致するかを指定します。プロトコルの設定が誤っている場合、ルールを変更しても不足している認証情報は補えません。
Data:通信量の表示と接続状況の確認
Dataではアプリに記録されたデータを確認できますが、接続スイッチの代わりにはなりません。表示値を読み取る際は、集計対象と期間を確認してください。サーバー別のデータとアプリ別のデータでは、示す内容が異なります。どこかにバイト数が表示されているだけで、現在の接続先が選択中のサーバーを経由したとは判断できません。
同じテストでサーバー別とアプリ別に確認
サーバー別に確認
- 最初に現在選択中のサーバーを記録します。
- 接続先に再度アクセスし、該当する数値の変化を確認します。
- 過去からの累計値と今回の増加分を区別します。
アプリ別に確認
- 通信量のアプリ別の帰属を識別できるか確認します。
- 他のアプリによるバックグラウンド通信にも注意します。
- 統計上の帰属をルーティングルールと混同しないでください。
同じ接続先、同じ時間帯で数値を比較し、実際のアクセス結果やルールとあわせて判断します。統計値はサービス提供元の請求額ではありません。
たとえば、テスト用ページをひとつ開いただけでも、バックグラウンド同期によって通信が発生することがあります。ページの読み込みに失敗する前に、DNSクエリや接続試行、少量のデータ転送が行われる場合もあります。そのため、「数値が増えた」ことと「ページが最後まで読み込まれた」ことは分けて記録してください。統計をリセットする場合は、対象範囲を確認し、調査に必要な記録を残してから実行しましょう。リセット後の数値を、それ以前の累計値とそのまま比較しないでください。
Settings:On Demandとアプリの動作
Settingsではアプリの動作を設定します。たとえばSettings → On Demandでは、設定済みの条件に応じて接続動作を開始するよう設定できます。接続先のドメインにどのルールを適用するかを選ぶ機能ではなく、利用できないサーバーを復旧させる機能でもありません。On Demandを設定する前に、手動接続で一度テストしてください。
- Homeで、設定内容が正しいと確認したサーバーを選び、Global Routingも確認します。
- 接続を手動で開始し、実際の接続先で基本的なアクセス結果を確認します。
- Settings → On Demandを開き、現在の条件とアクションを確認してから、自分のネットワーク環境に合わせて調整します。
- 該当するネットワーク環境に切り替え、想定どおり接続が開始されるか確認します。期待どおりに動かない場合は、まず手動接続に戻して比較してください。
On DemandとConfigは異なる問題を解決します。前者は接続を開始するタイミング、後者は接続を有効にした後のリクエストの振り分け方法を扱います。問題を調べるときは、一度に変更する項目をひとつにしてください。サーバーの変更、設定の編集、On Demandの有効化を同時に行うと、どの変更が結果に影響したのか判断しにくくなります。
よくある質問と確認手順
サーバーを選んだのに接続されないのはなぜですか?
サーバー項目の選択と接続の開始は別の操作です。Homeに戻って接続スイッチとシステムの許可を確認し、次にGlobal Routingを確認してください。サーバー名の横に選択マークがあっても、接続状態の確認にはなりません。
Configにファイルがあるのに、ルールどおりに処理されないのはなぜですか?
まずConfigで目的のファイルが有効になっていることを確認し、次にHome → Global RoutingでConfigが選択されていることを確認します。その後、ルールの順序とポリシーを確認してください。ファイルが存在するだけでは、現在のルーティングに適用されているとは限りません。
Directにすると接続が切れますか?
いいえ。Directは直接アクセスするルーティング方法を示し、接続スイッチはクライアントの接続処理が有効かどうかを示します。接続を停止するにはHomeの接続スイッチを操作してください。モードをDirectに変更するだけでは停止しません。
サブスクリプションの更新に成功したのにWebページが開かないのはなぜですか?
Homeに戻り、実際に選択されているサーバーを確認してから、Global RoutingとConfigを確認します。更新成功が示すのは、サブスクリプションの内容を取得・解析できたことだけです。サーバーへの接続、認証情報、接続先へのアクセス、ルールの一致をそれぞれ確認してください。
日常的なトラブルシューティングでは、まず基本のネットワーク接続を確認し、次にサブスクリプション内のサーバー項目、接続スイッチ、Global Routing、現在のConfigの順に確認します。最後にDataの表示も参考にしてください。接続先、現在のモード、具体的なエラーを記録すると、複数の画面を何度も変更するより原因を特定しやすくなります。操作手順は使い方ガイド、ルール用語は用語集をご覧ください。