Shadowrocketの画面に表示される用語は、「画面への入口」と「ルーティングの選択」に分けて考えると分かりやすくなります。Home、Config、Data、Settingsは画面を探すための項目、ProxyとDirectはリクエストの経路を示します。すでに利用するサービスやサブスクリプションを用意し、手順に沿って設定している方向けに、2種類のConfigの違いや、英語表記からサブスクリプション、ルール、On Demandを見つける方法を説明します。接続テストや通信量の記録を使って、設定結果を確認できます。
画面の入口と設定値を区別する
同じ英語表記でも、同じ操作を指すとは限りません。画面下部のConfigは構成ファイルを管理する画面です。一方、Home → Global Routing内のConfigはルーティング方式です。前者は「どの構成ファイルを使うか」、後者は「リクエストを構成ルールに従って処理するか」を示します。トラブル対処の際は、Configを選んだとだけ記録せず、画面への経路も含めて確認してください。
| 英語表記 | 表示場所 | 意味と用途 |
|---|---|---|
| Home | 画面下部のタブ | サーバー、サブスクリプショングループ、接続スイッチ、Global Routingを確認します。 |
| Config | 画面下部のタブ | 構成ファイルを管理し、現在適用されているルールや設定を確認します。 |
| Proxy | Global Routing | Proxy経由でリクエストを処理します。特定のプロトコルを指すわけではありません。 |
| Direct | Global Routing | 選択したプロキシサーバーを経由せず、直接アクセスします。 |
| Data | 画面下部のタブ | 通信量の統計やリクエストに関する記録を確認し、接続動作のチェックに使います。 |
| Settings | 画面下部のタブ | On DemandやSubscribeに関する項目など、アプリの設定を確認します。 |
この記事では、英語表記を手がかりに操作項目を探します。表示言語やデバイスのレイアウト、利用可能な項目によって配置が異なる場合があるため、実際の操作ではアプリに表示される内容を確認してください。iPhoneとiPadでは画面のレイアウトが異なることがあります。ボタンの位置だけで判断せず、同じ名前の項目を探してください。
Home:接続スイッチ、サーバー、Subscribe
Homeは日常的な操作の起点です。サーバー項目には接続パラメータが保存され、サブスクリプショングループでは、すでに利用しているサーバー一覧を管理します。項目を選んだだけでは使用対象が指定されるだけなので、接続スイッチとGlobal Routingも確認してください。接続がオンでも、トンネルが接続状態にあることを示すだけで、すべてのWebサイトにアクセスできるとは限りません。
Subscribeはサブスクリプションのインポート形式を示します。サブスクリプションURLと個別サーバーのパラメータは入力方法が異なります。前者は複数の項目を取得するためのもので、後者には通常、サーバーアドレス、ポート、認証情報、プロトコルの設定が含まれます。以下のURLは入力場所を説明するための例であり、実際に利用できるサービスではありません。サブスクリプションURL内のtokenは機密情報です。公開するスクリーンショットには表示しないでください。
-
Homeを開く
Homeを開き、右上の「+」をタップして、TypeでSubscribeを選択します。サブスクリプションURLを個別サーバーのアドレス欄に入力しないでください。
-
URLを入力する
URL欄に、すでに利用しているサブスクリプションURLを入力して保存します。
https://example.com/sub?token=xxxxは書式の例であり、利用可能なサブスクリプションではありません。 -
項目を更新する
Homeに戻り、下に引っ張ってサブスクリプション一覧を更新します。項目が取得できたか確認してください。失敗した場合は、まずURLが完全か、サブスクリプションが有効かを確認し、次にそのURLへアクセスする際のネットワーク経路を確認します。
-
接続をテストする
利用中のサーバーを選び、HomeでConnectivity Testを実行します。次に、目的のGlobal Routing方式で接続を有効にし、特定のWebサイトへのリクエストで再確認します。
Connectivity Testの遅延値は、テスト対象とその時点の経路を反映したものです。すべてのWebサイトにアクセスできる証明ではありません。数値が表示されてもWebページを開けない場合は、同じサブスクリプションを繰り返しインポートするのではなく、DNS、ルールの適用結果、対象サイトを確認してください。サブスクリプションの更新とConfig内のルールファイルの更新は別の操作です。それぞれ個別に確認してください。
Global Routing:Proxy、Direct、Config、Scene
Home → Global Routingでは、リクエスト全体の処理方式を選びます。ProxyとDirectは、プロキシ経由と直接接続の違いを確認するのに適しています。Configは現在の構成ファイルのルールに従って処理し、Sceneは設定済みのシーン条件に応じてルーティング設定を適用します。Sceneは追加のサーバーではなく、サーバーの認証パラメータの代わりにもなりません。
一時的な経路テストと日常的なルール振り分けを区別する
Proxy / Direct
- Proxy:選択したプロキシ経由でアクセスした場合の結果を確認します。
- Direct:同じ対象へ直接アクセスした場合の結果を確認します。
- 2回のテストでは、対象アドレスとネットワーク環境を同じにします。
- 切り替え後にリクエストを再実行し、切り替え前の接続結果で判断しないでください。
Config / Scene
- Config:画面下部のConfigで、現在選択されているファイルを確認します。
- 個々のリクエストの処理方法は、適用されたルールによって決まります。
- Scene:登録済みシーンの一致条件とルーティング設定を確認します。
- 通常の使い方に戻す前に、最終的に選択されている方式を確認します。
ルーティング方式は処理方法を決め、サーバー項目は接続パラメータを提供します。それぞれ別に確認してください。
たとえば、同じWebページがDirectでは開き、Proxyでは失敗した場合、分かるのは2つの経路で結果が異なることだけです。サブスクリプションが無効だとは断定できません。選択中のサーバー、認証情報、DNS、対象アドレスも確認してください。逆にConfigで直接接続される場合、ルールでDIRECTが指定されている可能性があります。接続スイッチが機能していないとは限りません。
Proxyは、Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardと同じ意味ではありません。これらはプロトコルや接続方式を示す名称で、Proxyはルーティング方式を示します。プロトコル、ポート、認証情報には、すでに利用しているサービスの情報を使用してください。Global Routingを切り替えても、これらの情報が自動で補われることはありません。
Config:構成ファイルとルールキーワード
画面下部のConfigでは、構成ファイルを管理します。ファイル内の設定とHomeのサーバー一覧は役割が異なります。サーバー項目は接続方法を示し、ルールはリクエストごとの処理方法を指定します。ファイルをインポートした後は、現在使用中のファイルであることも確認してください。一覧にファイルがあるだけでは、適用済みとは限りません。
Global RoutingでConfigを選ぶと、ルールは上から順に判定され、一致したルールに指定された方式で処理されます。以下の断片は書式の説明用で、完全な構成ではなく、利用可能なサーバーパラメータも含みません。編集前に元のファイルを保存し、例を自分の完全な構成ファイルに上書きしないようにしてください。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
DOMAIN-SUFFIX,example.com,PROXY:ドメインのサフィックスでexample.comとそのサブドメインを照合し、一致した場合はPROXYを使用します。IP-CIDR,192.0.2.0/24,DIRECT,no-resolve:IPアドレス範囲で照合します。この範囲はドキュメント用の例です。no-resolveは、このルールの照合時に追加のドメイン名前解決を行わないことを示します。GEOIP,CN,DIRECT:接続先IPアドレスの地理情報に基づいて照合します。結果は使用するデータと接続先の名前解決結果に左右され、Webページの言語で判断するものではありません。FINAL,PROXY:末尾に置き、それ以前のルールに一致しなかったリクエストを処理するフォールバックとして使います。早い位置に置くと、後続のルールが意図した照合を行えなくなります。
ここでのPROXYとDIRECTはルールの方式を示すキーワードなので、英語表記のまま使用します。構成ファイルでポリシーグループを使っている場合は、グループ名とグループ内の選択肢も確認してください。ルールが適用されない場合は、まず現在のファイルとGlobal Routingを確認し、その後、ルールの順序、ドメインの範囲、実際のリクエスト記録を確認します。
Data:通信量の統計とリクエスト記録の見方
Dataでは、通信量や接続の動作を確認できます。上りは通常、デバイスから外部へ送信したデータ、下りは受信したデータを示します。累計値は統計対象期間内の通信量であり、サブスクリプションサービスの残量ではありません。残量や有効期限は、利用中のサービス情報で確認してください。アプリ内の累計通信量からプランの状況を推定することはできません。
統計を確認するときは、まず表示中の集計対象と期間を確認します。サーバー別のデータは、プロキシサーバーが処理した通信量の確認に使います。アプリ別の集計が画面に表示される場合は、実際に表示される識別結果に従ってください。すべてのリクエストにアプリ名が表示されるとは限りません。統計値は変化の把握に役立ちますが、ルールの適用結果はリクエスト記録とあわせて確認してください。
- Homeで、選択中のサーバーと現在のGlobal Routingを記録します。
- Dataで現在の上り・下りのカウントと統計対象期間を記録します。この時点ではリセットしません。
- 対象のWebページを1つだけ開き、読み込みが終わるまで待ってから、カウントの変化を確認します。
- リクエスト記録の対象と方式を見て経路を確認します。総通信量が増えたことだけを根拠に、特定のルールが適用されたと判断しないでください。
Webページを1回読み込むだけでも、複数のドメインへリクエストが送られることがあります。画像、スクリプト、ページ本体で異なるルールが適用される場合もあります。バックグラウンドの通信でもカウントは増えます。そのため、ページを開いた後に通信量が増えたという事実だけでは、個別のルールが適用された証拠にはなりません。再テストでは、無関係な累計値を比較するより、対象、期間、ルーティング設定をそろえることが重要です。
Settings:On Demandとサブスクリプション更新の設定
Settingsはアプリ設定への入口です。Settings → On Demandでは、オンデマンド接続の条件を設定します。ここで設定するのは「いつ接続を開始するか」であり、「特定のドメインにどのルールを適用するか」ではありません。条件を設定したうえで、条件を満たす場合と満たさない場合の動作をテストして、意図どおりか確認してください。
Settings → Subscribeの項目は、サブスクリプションの更新方法に影響します。たとえばUpdate via Proxyを使うと、プロキシ経由でサブスクリプションを更新します。使用するには、利用可能なプロキシ接続が必要です。期限切れのtokenや、誤って入力されたサブスクリプションURLは修復できません。通常のネットワークでURLにアクセスできる場合は、まず現在の経路で確認し、必要に応じてこの項目を変更してください。
- オンデマンド接続の確認:Settings → On Demandを開き、有効になっているか、設定済みの条件が何かを確認します。
- 更新経路の確認:Settings → Subscribe → Update via Proxyを開き、サブスクリプションURLへのアクセスにプロキシが必要か確認します。
- ルーティング方式の確認:Home → Global Routingを開き、Config、Proxy、Direct、Sceneのどれが選択されているか確認します。
- 一度に変更する設定は1つだけにし、リクエストを再実行して変更前後の状態を記録します。
よくある質問:画面の経路を確認して操作する
チュートリアルでConfigを選ぶよう指示されましたが、なぜファイル一覧が表示されますか?
画面下部のConfigを開いています。チュートリアルでルーティング方式を選ぶよう指示されている場合は、Home → Global Routing → Configに戻ってください。その後、Config画面で現在使用中のファイルも確認します。両方を確認してください。
Proxyを選んだ後、サーバーも選ぶ必要がありますか?
はい。Proxyはリクエストをプロキシ経由にする設定で、実際の接続パラメータはHomeのサーバー項目にあります。利用中のサーバーを選び、Connectivity Testを実行してから接続を有効にしてください。テストに失敗した場合は、パラメータとネットワークを確認します。タブを切り替えても解決しません。
サブスクリプションの更新に失敗しました。再インストールが必要ですか?
まずHomeで更新を再実行し、URLが完全か、有効期限内かを確認してください。利用中のプロキシ経由でしかURLにアクセスできない場合は、接続が利用可能であることを確認してから、Settings → Subscribe → Update via Proxyを確認します。再インストールしても、サービス側で無効になったURLは修復できず、再設定が必要になることもあります。
On Demandを有効にしたのに、なぜDirectで接続されますか?
まずHome → Global RoutingがDirectになっていないか確認してください。Configの場合は、現在のファイルで適用されるルールを確認します。On Demandが管理するのは接続開始の条件であり、ルールでDIRECTが指定されている可能性はあります。同じ対象にリクエストを再実行して記録を確認すると、接続状態とルーティング結果を区別できます。