Shadowrocketの機能と設定
まずGlobal Routingの処理方法を選び、サーバー、ルール、DNSを確認します。接続スイッチ、ルーティングモード、サーバーの選択は、それぞれ異なる役割を担います。いずれか一つの状態だけで、ネットワーク全体が正常かどうかを判断することはできません。
- HomeとConfig
- DataとSettings
- 既存の情報をインポート・管理する
このページでは、iPhoneとiPadのShadowrocketを対象に、主な機能の概要、画面上の場所、設定方法、注意点を解説します。画面上の項目名は英語のまま記載し、日本語で用途を説明します。具体的なメニューや選択肢、システム機能の対応状況は、実際のデバイスでご確認ください。初回接続の手順ははじめにを、具体的な症状から調べる場合はトラブルシューティングをご覧ください。
Global Routing:Config、Proxy、Direct
Global Routingは、接続を有効にした後の全体的な処理方法を決めます。HomeでGlobal Routingを開き、目的に応じてConfig、Proxy、Directを選択します。ここはサーバー一覧でも、接続成功を示す画面でもありません。モードを選んだ後、既定のサーバーとメインの接続スイッチも確認してください。アプリに詳細な設定項目がある場合は、現在のConfigとあわせて確認します。
| 画面上の選択肢 | 処理方法 | 利用例 | 確認する項目 |
|---|---|---|---|
| Config(設定に従う) | 現在の設定にあるルールとポリシーに基づいてリクエストを処理します。 | ドメインやアドレスごとに振り分けて使う場合。 | 有効な設定、ルールの順序、どのルールにも一致しない場合の処理。 |
| Proxy(プロキシ) | 全体をプロキシモードで処理します。具体的な動作は関連する設定によって異なります。 | 一時的にプロキシ経由の経路を確認し、ルールの切り分けを行う場合。 | 選択中のサーバー、認証情報、接続先に到達できるかどうか。 |
| Direct(直接接続) | 全体を直接接続で処理します。具体的な動作は関連する設定によって異なります。 | 現在のネットワークから直接アクセスできるか一時的に確認する場合。 | ローカルネットワークが利用可能かどうか、DNSの設定。 |
モードを切り替えたときの確認方法
普段、既存の振り分け設定を使う場合はConfigを選び、Config画面で現在有効なファイルを確認します。特定の接続先に問題がある場合は、一時的にProxyへ切り替え、同じ接続先と同じサーバーで比較します。Proxyではアクセスでき、Configではできない場合、まずルールの一致状況とポリシーの指定先を確認してください。接続設定をすべて変更する必要はありません。確認後は元のモードに戻し、一時的な検証状態を常用設定にしないようにします。
Directにしてもアプリの接続が無効になるわけではありません。接続が有効な間は、DNSや接続処理などが現在の設定の影響を受ける場合があります。問題がローカルネットワークに起因するか確認するには、メインの接続スイッチも別途オフにし、同じ接続先へアクセスしてみてください。一度に変更する項目を一つにして結果を記録すると、モード、サーバー、ローカルネットワークのどれが原因か切り分けやすくなります。
ルール振り分け:マッチ条件と処理ポリシー
ルール振り分けでは、「どのリクエストに一致するか」と「一致後にどう処理するか」を分けて設定します。通常はConfigで現在の設定を開き、ルールを確認または編集します。ルールが振り分けに使われるのは、対応する設定モードで処理している場合です。編集前に元ファイルのコピーを保存し、似た名前の別ファイルではなく、有効なファイルを編集していることを確認してください。
ルールの種類はマッチ対象を指定します
DOMAINは指定したドメインに、DOMAIN-SUFFIXはドメインのサフィックスに、DOMAIN-KEYWORDはドメインに含まれるキーワードに一致します。サフィックスルールは、ドメインとそのサブドメインを対象にする場合に適しています。キーワードルールは対象が広く、意図しないドメインにも一致する可能性があるため、できるだけ具体的に指定してください。
IP-CIDRとIP-CIDR6は、それぞれIPv4とIPv6のアドレス範囲を指定します。GEOIPはIPアドレスの地域分類を使います。ドメインへのアクセスで事前の名前解決が必要か、どのアドレスに解決されるかによって、アドレスベースのルールの結果は変わる場合があります。ドメインのルールに一致しないこととDNSの失敗を混同せず、接続先の名前だけで実際に一致したルールを判断しないでください。
ポリシーで処理方法を指定します
PROXYはプロキシ、DIRECTは直接接続、REJECTは拒否を表します。設定によってはカスタムのポリシーグループを参照するため、グループ内で最終的に選択されているサーバーも確認が必要です。ルールは通常、上から順に評価されます。具体的なルールを広い範囲に一致するルールより前に置き、前のルールに一致しなかった場合の処理にはFINALを使います。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
DOMAIN-KEYWORD,example,PROXY
FINAL,DIRECT
上記はルール構文の例であり、完全な設定ではありません。2行目は1行目より広い範囲に一致し、2種類のマッチ方法を示しています。実際に使うときは目的に合わせて編集し、そのキーワードルールが必要かどうかも確認してください。ルールを一つ追加するごとに、具体的なドメインで一致結果を確かめてから次へ進むと、複数の条件を同時に追加して原因の特定が難しくなるのを防げます。
SubscribeとAdd Server:既存情報の管理
Homeは、サーバーの選択、グループの確認、接続操作を行う主な画面です。個別のサーバー情報はAdd Serverから入力し、既存のサブスクリプションはアプリ内のSubscribe関連メニューから追加します。どちらも、利用者が有効な接続情報をすでに持っていることが前提です。サブスクリプションはサーバー情報をまとめて取得する方法であり、追加したすべての項目が接続できることや、アプリの購入に接続サービスが含まれることを意味しません。
手動追加とQRコードでの読み込み
Add Serverを開き、まずTypeを確認してから、手元の情報に従ってAddress、Portおよび該当する認証項目を入力します。Shadowsocks、VMess、VLESS、Trojan、WireGuard、Hysteria2などのプロトコルでは必要な項目が異なるため、あるプロトコルのパスワードや鍵を別のプロトコルにそのまま使うことはできません。任意項目は手元の情報と一つずつ照合し、不明な場合は変更せず、情報の提供元に確認してください。
QRコードがある場合は、Scan QR Codeで読み込み、追加後にタイプ、アドレス、ポートを確認します。QRコードは入力方法の一つであり、設定項目の確認に代わるものではありません。サーバーには見分けやすい名前を付け、Homeに戻って既定のサーバーを選択します。選択状態を確認してから接続スイッチをオンにしてください。リストに項目が表示されても、情報が保存されたことを示すだけで、接続が確立したとは限りません。
サブスクリプションの更新と機密情報の保護
既存のサブスクリプションURLは、先頭や末尾に空白や改行が入らないよう、そのまま貼り付けてください。更新するとリストが再取得され、名前、グループ、項目が変わる場合があります。更新後は、以前選択していたサーバーが引き続き存在するか確認してください。サブスクリプションから作成された項目を手動で変更する前に、次回の更新で変更が上書きされるかを確認し、必要であれば別途記録を残します。
サブスクリプションURL、パスワード、秘密鍵、設定内の認証情報はすべて機密情報として保管してください。トラブルの相談でURL全体を他人に送る必要はありません。どの手順でエラーが起きたかを説明し、アカウント情報や認証項目は伏せてください。一括削除、再インポート、設定の切り替えを行う前に、有効な情報をバックアップしておくと、サーバーリストの変更をアプリの購入記録の消失と取り違えずに済みます。
On Demand:条件に応じた接続
On Demandは、設定した条件に応じて接続動作を開始する機能です。サーバーの品質を測定するツールではなく、不足している認証情報を補うものでもありません。アプリでOn Demand関連の設定を開き、まず現在の条件を確認してから、必要に応じて変更します。画面上の場所が異なる場合は、Settingsで該当項目を探してください。実際の表示を優先してください。
設定の前に、手動接続で動作を確認します。サーバーを選び、メインスイッチをオンにして、システムによるVPN構成の追加を許可したうえで、接続先にアクセスできるか確認してください。手動接続に失敗する場合は、On Demandを何度も有効にするのではなく、先にサーバー、DNS、ネットワークの問題を解決します。手動接続を確認できたら、起動条件を見直し、使いたいネットワーク環境で実際の動作を確認してください。
Wi-Fiとモバイル通信の切り替え、画面ロックからの復帰、ネットワークの変更後は、接続状態が変わる場合があるため、それぞれ確認してください。接続と切断が繰り返される場合は、まずOn Demandが有効になっているか確認し、VPNに影響する別のシステム設定がないか調べます。トラブルの切り分け中はOn Demandを一時的にオフにし、手動スイッチで条件を一つずつ検証してから元に戻すこともできます。
Data:通信量と接続状況の手がかりを確認
Dataでは、アプリに記録された通信情報を確認できます。分類、集計期間、詳細表示の内容は、現在の画面に表示されるものに従ってください。Dataを開いたら、まず記録の時刻と集計範囲を確認し、直前に行ったアクセス操作による変化を見ます。クライアントが関連する通信を記録したか確認する際に役立ちますが、累計値だけから現在のサーバー速度やサービスの状態を判断しないでください。
比較する場合は開始時刻を記録し、不要なバックグラウンド処理を一時停止してから、結果が分かっている接続先にアクセスします。その後Dataに戻り、該当する変化を確認してください。画面に接続の詳細が表示される場合は、接続先、処理ポリシー、関連記録も確認できます。通信量が記録されても、接続先のページが正常に読み込まれたとは限りません。認証エラー、再試行、バックグラウンド同期などでもデータが送受信される場合があります。
Dataの集計方法は、システムのモバイル通信量や既存サービスのアカウントに表示される使用量と異なる場合があり、料金確認の代わりにはなりません。記録を消去する前に、トラブル調査に必要な情報を保存してください。記録を共有する際は、接続先に含まれる個人識別情報、アカウント情報、サーバー情報を伏せます。主な問題がバッテリー消費の場合は、合計通信量だけで判断せず、システムのバッテリー画面やバックグラウンド動作も確認してください。
Settings:DNS、テスト、ウィジェット、同期
Settingsにはよく使う設定やツールがまとまっていますが、ネットワークの動作がすべてここだけで決まるわけではありません。現在のConfigにもDNSなどの関連項目が含まれる場合があります。全体設定を変更する前に、設定ファイル内に同様の項目がないか確認してください。デバイスやシステムによってメニューの位置が異なる場合があるため、以下では機能名を手がかりに探します。すべてのデバイスで同じ階層にあるとは限りません。
DNS:名前解決の問題を確認してから設定を変更
DNSはドメイン名をIPアドレスに変換します。Settingsと現在のConfigにあるDNS関連の項目を確認し、元の値と現在のネットワークを記録してから、重複設定や相互の影響がないか判断してください。サーバーアドレスにドメイン名を使っている場合、接続の確立前に名前解決が必要なこともあります。Webサイトが開けない問題と、サーバーアドレスの名前解決に失敗する問題は分けて確認してください。
DNSを変更するときは関連項目を一度に一つだけ変更し、同じドメインで繰り返し確認して、特定のネットワークだけで失敗するかも調べてください。よく見かけるアドレスだからといって設定全体を置き換えたり、暗号化された名前解決ならすべての接続が成功すると考えたりしないでください。変更しても改善しない場合は元の値に戻し、ルーティングルール、サーバー設定、ローカルネットワークを順に確認します。
Test MethodとConnectivity Test:何を測定するか確認
Test Methodでは、テストに使う方式を選択します。Settingsで利用可能な方式を確認してください。Connectivity Testは接続の確認を補助する機能です。測定方式によって確認する段階が異なり、サーバーからテスト結果が返っても、すべてのWebサイトにアクセスできるとは限りません。テスト前に既定のサーバー、ネットワーク環境、テスト対象を確認し、結果を比較するときは同じ方式を使ってください。
テストに失敗した場合は、まず測定方式とテスト対象が現在のサーバーに適しているかを確認し、アドレス、ポート、認証情報を調べます。テストでは正常でも実際のアクセスに失敗する場合は、接続先に適用されるルールとDNSを確認してください。異なるテスト方式の数値をそのまま並べて、安定性や長期的な速度を判断しないでください。
Today Widget:システムの対応状況と表示内容を確認
Today Widgetは、システムのウィジェットに関連する機能です。Settingsで該当する設定を確認し、システムのウィジェット管理画面で追加できるか、何が表示されるかを確認してください。利用できる場所や表示内容はシステムの対応状況に左右されます。デバイスでの実際の表示を基準にし、ウィジェットが見つからないことだけでサーバーの障害と判断しないでください。
ウィジェットは情報の簡易確認や、用意された操作の実行に便利です。選択中のサーバー、ルーティングモード、詳しいエラーを確認する場合は、アプリに戻って確認してください。ウィジェットとアプリの状態が一時的に異なる場合は、まずアプリを開いて表示を更新し、システムのウィジェット対応状況を確認します。そのためだけに既存の設定をすぐ削除する必要はありません。
iCloud:同期の範囲と個別バックアップ
iCloud関連の機能では、対応する条件のもとで設定内容を保存または同期できます。Settingsでスイッチとアプリ内の説明を確認し、デバイスのシステム設定でアプリのiCloud利用が許可されているか確認してください。同期の前に別のバックアップを保存します。別のデバイスで開いた後は、実際に表示されたファイルと内容を確認してください。サーバー、鍵、設定のすべてが移行されるとは限りません。
App Storeの購入記録とiCloud上の設定は別の情報です。購入済みアプリを復元しても、すべての接続情報が復元されるわけではありません。同様に、設定の同期が完了しても、購入資格の確認に代わるものではありません。機種変更の際は、設定のバックアップと移行方法を参考に、利用できるバックアップを確認してから旧デバイスの内容を整理してください。
Diagnostics:再現手順を簡潔に記録
Diagnosticsでは、トラブル調査に必要な診断情報を収集または確認できます。利用できるツールや出力内容は、Settingsに表示される項目に従ってください。まずネットワークの種類、Global Routingのモード、問題が起きた時刻、操作手順を記録してから、該当する診断を実行します。これにより記録と特定の失敗を結び付けやすくなり、関係のない情報の中から原因を探す手間を減らせます。
診断ファイルには、ドメイン、アドレス、デバイス環境、設定の手がかりが含まれる場合があります。書き出しや共有の前に内容を確認し、機密情報を伏せてください。必要なエラー情報だけを残し、サブスクリプションURL全体、認証情報、秘密鍵は公開しないでください。症状別の詳しい手順はトラブルシューティングをご覧ください。
設定を確認する順序:基準を記録してから一つずつ変更
機能設定は、「特定のドメインをプロキシポリシーで処理する」「特定のネットワーク条件でのみ接続を開始する」など、明確な目的に合わせて行います。まず現在使えている設定を保存し、サーバー、モード、DNSの初期状態を記録してください。サブスクリプションの更新、ルールの変更、DNSの変更を同時に行うと、アクセスが回復してもどの操作が効果をもたらしたのか分からなくなります。
- 入力情報を確認。Homeでサーバーが登録されているか、Type、Address、Port、認証項目が手元の情報と一致するかを確認し、どのサーバーが既定に選ばれているかも確認します。
- 手動接続の基準を確認。On Demandによる自動接続の影響を一時的に外し、手動で接続を有効にして、明確な接続先で現在の状態を確認します。
- Global Routingを確認。通常の振り分けを調べる場合はConfigを選び、比較が必要なら一時的にモードを切り替えます。確認後は元に戻し、比較結果を記録します。
- ルールと名前解決を確認。まず接続先が想定したルールに一致しているかを確認し、次にDNSとポリシーグループの指定先を調べます。原因は一度に一つだけ変更してください。
- 自動接続と記録を再確認。必要なOn Demand条件に戻し、DataとDiagnosticsで実際の動作を確認してから、使える設定を一つ保存します。
現在の接続が目的を満たしているなら、機能を増やすために設定を一つずつ有効にする必要はありません。複数の用途が不明な項目を追加するより、内容を把握でき、動作を確認でき、元に戻せる設定を維持するほうが管理しやすくなります。本ページはShadowrocketの公式マニュアルです。購入と入手方法はApp Storeの案内、初回の操作手順ははじめに、具体的なエラーはよくある質問をご覧ください。