公式ガイド · 機能と設定
Shadowrocketの機能と設定
まずGlobal Routingを確認し、サーバーとConfigをチェックします。利用シーンに合わせてOn Demand、DNS、テスト方法を調整し、DataとDiagnosticsで結果を確認します。
- Global Routing:Config / Proxy / Direct
- ルールは上から順に照合
- 設定は一度に1つだけ変更
Global Routing:Config、Proxy、Direct
Global Routingでは、現在の接続に適用するルーティング方法を選択します。HomeでGlobal Routingを開き、Config、Proxy、Directから選びます。これは接続全体の処理方法を決めるもので、サーバーのプロトコルや接続品質の段階を示すものではありません。サーバーを変更した場合も、ここで選択中のモードを別途確認してください。
ドメインやIPアドレスごとに通信を振り分ける場合は、まずConfigで選択中の設定ファイルを確認し、Configを使用します。ルールが原因か一時的に切り分けるには、ProxyまたはDirectに切り替え、同じ接続先を再度テストします。確認後は元のモードに戻し、一時的な設定を普段使いの状態として残さないようにしてください。
| モード | 接続の処理方法 | 使用する場面 | 確認項目 |
|---|---|---|---|
| Config(設定) | 現在のConfigに設定されたルールとポリシーに従って接続を処理します。 | 接続先ごとに通信を振り分ける場合や、ルールが適用されるか確認する場合。 | 有効なConfig、ルールの順序、ルールが指定するポリシー。 |
| Proxy(プロキシ) | クライアントが処理する接続を、現在選択されているプロキシに渡します。 | 現在のサーバーで接続先にアクセスできるか一時的に確認する場合。 | サーバーの稼働状況、プロトコルの設定、接続先からの応答。 |
| Direct(直接接続) | クライアントが処理する接続を、接続先へ直接送ります。 | ローカルネットワークから接続先へ直接アクセスできるか確認する場合。 | ローカルネットワーク、DNS、接続先自体が正常か。 |
Directは接続スイッチをオフにすることでも、システムからVPN構成を削除することでもありません。Proxyにしても、すべてのアプリのリクエストが必ず成功するとは限りません。サーバーの出口、接続先のサービス、現在のネットワークも結果に影響します。問題を切り分ける際は、「スイッチの状態」「Global Routingのモード」「接続先にアクセスできるか」をそれぞれ記録し、ひとまとめに判断しないでください。
ルールによる振り分け:照合条件、順序、ポリシー
ルールは「どの接続を、どのポリシーで処理するか」を定めます。Configで使用中の設定を開き、ルールとポリシーの定義を確認してください。追加・変更後は保存し、そのファイルが選択されていることを確認します。ファイルをリストに読み込んだだけでは、現在の接続に適用されたことにはなりません。ルールに基づく振り分けを確認するには、Global RoutingもConfigに設定してください。
照合条件とポリシーは別々の要素です。DOMAINやDOMAIN-SUFFIXなどのキーワードで接続先を指定し、DIRECT、REJECT、またはConfigに定義されたプロキシポリシー名で処理方法を指定します。ポリシー名は実際の設定と一致させ、名前だけから接続先のサーバーを判断しないでください。ルールは通常、上から順に照合されるため、範囲の広い条件より具体的な例外を前に置きます。
| キーワード | 照合対象 | 設定時の注意点 |
|---|---|---|
DOMAIN | 完全一致するドメイン。 | 特定のホスト名だけを処理する場合に適しています。 |
DOMAIN-SUFFIX | ドメインの末尾と、そのサブドメイン。 | 単一のDOMAINより広い範囲に適用されます。 |
DOMAIN-KEYWORD | ドメインに含まれるキーワード。 | 意図しない接続先まで対象になりやすいため、照合範囲を先に確認してください。 |
IP-CIDR / IP-CIDR6 | IPv4 / IPv6のアドレス範囲。 | アドレスファミリー、ネットワーク範囲、名前解決の動作を確認してください。 |
GEOIP | IPの位置情報データベースで分類される接続先。 | 分類は接続先IPの位置情報データベースに基づき、ドメインの末尾では判定しません。 |
USER-AGENT | ルールで照合できるUser-Agent情報。 | すべての接続でこの情報を取得できるわけではないため、汎用的な最終ルールには適しません。 |
FINAL | 前のルールに一致しなかった接続。 | 最後に置き、フォールバック先のポリシーが利用可能か確認してください。 |
以下はルール構文の例であり、Config全体を置き換えるためのファイルではありません。PROXYはプロキシポリシーを示します。使用前に、現在のConfigで定義されているポリシーを確認してください。example.comは例示用のドメインです。
DOMAIN-SUFFIX,example.com,PROXY
GEOIP,CN,DIRECT
FINAL,PROXY
DIRECTは直接接続、REJECTは一致した接続の拒否を意味します。REJECTを使う前に接続先の用途を確認し、ログイン、コンテンツの読み込み、バックグラウンドのリクエストまで失敗しないようにしてください。ProxyではアクセスできるのにConfigでは失敗する場合、広範囲のルールを追加する前に、一致したルールと最終的なポリシーを確認しましょう。
ConfigにはDNS、ポリシーグループ、その他の設定が含まれる場合もあります。ルールを変更するときは関係する部分だけを編集し、元のファイルのコピーを保管してください。接続中の既存セッションには変更前の経路が引き続き使われることがあります。検証時はリクエストを再度実行し、必要に応じて再接続してください。ルールの基礎は用語解説もご覧ください。
複数のプロトコル:既存サーバーの情報に合わせて設定
Shadowrocketは、Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard、HTTP、SOCKS5など、複数の接続プロトコルに対応しています。プロトコルはクライアントとサーバー間のデータ交換方法を定めるもので、自由に入れ替えられる速度設定ではありません。ご自身がすでにお持ちのサーバー情報に合わせて、HomeのAdd Serverで該当するタイプを選ぶか、必要な情報が含まれた既存のリンクを読み込んでください。
まずアドレスとポートを確認し、次に認証情報、転送方式、TLS関連の項目を確認します。必要な項目はプロトコルごとに異なります。パスワードを使うものもあれば、UUIDを使うものもあり、WireGuardでは鍵、アドレス、ピアの設定が必要です。別のプロトコルの値を流用したり、接続を一時的に通すために証明書の検証を安易に無効にしたりしないでください。
VMessやVLESSなどでは、対応する転送パラメータも必要な場合があります。アドレスが同じでも、パス、Host、Server Nameを省略できるとは限りません。読み込み後にタイムアウトする場合は、元の情報と項目ごとに照合し、追加パラメータに漏れがないか確認してください。サーバー側でも同じ組み合わせがサポートされている必要があります。クライアントのプロトコル名だけを切り替えても、サーバー側の設定は変わりません。
サブスクリプションとサーバーの管理:読み込み、選択、更新
Homeではサーバーとサブスクリプショングループを確認し、使用するサーバーを選択します。サーバー情報が1件分ある場合は、Add Serverで種類を選んで入力できます。QRコードがある場合は、Scan QR Codeで読み込み、内容を確認してください。サブスクリプションリンクがある場合は、Add ServerでSubscribeを選び、画面に従ってリンクとメモを入力して保存し、リストを更新します。
サブスクリプションはサーバー項目をまとめて取得するためのもので、Configのルールファイルとは異なります。サブスクリプションを更新しても、通常はサーバーリストが更新されるだけで、有効なConfig、DNS、Global Routingまで意図どおりに変わるわけではありません。読み込み後はグループが表示されることと各項目に不足がないことを確認し、使用するサーバーを選んでから接続テストを行ってください。
管理しやすいよう、手動で追加した項目とサブスクリプショングループには区別しやすいメモを付けてください。サブスクリプションから生成された項目を手動で変更すると、次回の更新で上書きされることがあります。継続して変更する前に、その項目の管理元を確認してください。更新に失敗した場合は、現在のネットワークからサブスクリプションのアドレスにアクセスできるか、リンクが有効かを確認してから、ご自身のサービス提供元に問い合わせてください。比較用の情報を失わないよう、グループを何度も削除するのは避けましょう。
サブスクリプションのアドレス、QRコード、サーバーの認証情報は、アクセス権限につながる場合があります。リンク全体を公開スクリーンショット、ログ、問い合わせ文に載せないでください。グループを削除する前に必要な元情報を保管し、サーバーをまとめて変更した後は、同じTest Methodでもう一度テストしてください。異なる条件で測定した結果を並べて比較しないようにします。
On Demand:ネットワーク条件に応じて接続
On Demandは、設定した条件に応じてシステムにVPN接続を処理させ、毎回手動で切り替える手間を減らす機能です。サーバーの状態を判定するスイッチでも、無効な認証情報を修復する機能でもありません。アプリのSettingsでOn Demandを探し、表示されるネットワーク条件に合わせて設定してください。まず手動接続が正常に動作することを確認してから、オンデマンド接続を有効にします。
設定前に、どのネットワークで接続し、どの条件では接続しないかを明確にし、条件を1つだけ設定してテストを始めます。Wi-Fiの条件を設定する場合は、ネットワーク名と照合範囲をよく確認してください。保存後、テストするネットワークを順に切り替えてリクエストを再実行し、システムのVPN状態とアプリの表示が想定どおりか確認します。スイッチの色だけで条件が正しく適用されたと判断しないでください。
切断してもすぐ再接続される場合は、まずOn Demandが有効のままになっていないか確認してください。一時的に接続を止める場合は、オンデマンドルールもあわせて確認します。Wi-Fiとモバイル通信を切り替えた際の動作には、現在のネットワーク、システムの権限、既存のVPN構成も影響します。条件は一度に1つだけ変更し、再現できるテスト記録を残してください。
Data:通信量とアクティビティの変化を確認
Dataには、クライアントが記録した通信量が表示され、接続中のアップロード、ダウンロードなどの統計項目の変化を確認できます。まずDataで、表示中の統計の対象範囲、集計期間、単位を確認してください。その後、同じWebページを開くなど、操作を1つ決めて実行し、操作前後の変化を比較します。表示される詳細項目は現在の画面で確認してください。
通信量が増えても、その統計範囲でデータが通過したことを示すだけで、接続先のページが完全に読み込まれたとは限りません。また、特定のルールが正しく適用された証拠にもなりません。バックグラウンド同期、メディアの先読み、アプリの再試行でも通信量が発生することがあります。アプリを開いていないのに統計が増え続ける場合は、サーバーの異常と決めつけず、まずバックグラウンドでの動作を確認してください。
クライアントの統計とサービス提供元の請求では、計測範囲、リセット時刻、単位が異なる場合があり、数値が完全に一致するとは限りません。調査の記録を残す場合は、統計の時刻と接続状態を記録してから、画面にあるリセット機能を使ってください。Dataはデバイス全体の通信量を記録する唯一の台帳ではなく、単独でサーバーの速度を判断するためのものでもありません。
Settings:DNS、テスト、ショートカット、同期
Settingsにはよく使う動作設定がまとまっています。項目の役割を確認してから、変更するか判断してください。動作の一部は有効なConfigで制御されることもあるため、問題の調査時にはSettingsとConfigの関連設定を両方記録します。DNS、テスト方法、サーバーを一度に変更すると、結果が変わった原因を特定しにくくなります。
DNS:名前解決の経路と設定元を確認
DNSはドメイン名をIPアドレスに変換します。名前解決に失敗すると、サーバーには接続できているように見えても接続先を開けないことがあります。SettingsのDNS関連項目と有効なConfigを確認し、まず実際に使われている設定元を特定してから該当する設定を変更してください。DNSサーバー自体にも現在のネットワーク経路からアクセスできる必要があります。名前に見覚えがあるという理由だけで置き換えないでください。
テストでは、ドメインの名前解決の失敗と接続先への接続失敗を区別し、IPv4とIPv6で結果が異なるかにも注意してください。暗号化通信を使うDNSの場合は、ドメイン名、証明書の検証、接続経路も確認します。元の設定を保管し、変更するたびに同じリクエストを再実行してください。DNS設定をすべて消去することを、決まった修復手順として扱わないでください。
Test MethodとConnectivity Test:条件をそろえて比較
Test Methodで接続テストの方式を選びます。Settingsで現在の画面に表示されているテスト方法を選択し、Homeに戻ってConnectivity Testを実行してください。方式によって測定する段階が異なるため、結果をそのまま比較することはできません。テストに失敗してもサーバーが完全に利用できないとは限らないため、実際のアクセス状況やログとあわせて判断します。
サーバーを比較する際は、ネットワーク、テスト方法、テスト先をそろえ、できるだけ近い時間帯に繰り返しテストしてください。遅延が短くても継続的な通信が速いとは限らず、テストに成功してもすべての接続先が正常に使えるとは限りません。タイムアウトが発生した場合は、サーバーのタイムアウト対処手順に沿って確認してください。
Today Widget:状態確認と操作のショートカットを設定
Today Widgetでは、関連する状態をすばやく確認したり操作したりできます。まずSettingsでToday Widgetの設定項目を確認し、システムのウィジェット画面でデバイスに表示される項目を追加してください。ウィジェットの形式や操作できる内容は、システムとアプリの対応状況によって異なります。実際の名称や表示はデバイスの画面で確認してください。
ショートカットからの操作だけでは、設定全体の確認にはなりません。ウィジェットで操作した後も、アプリ内で現在のサーバー、Global Routing、接続状態を確認してください。ルールを変更したり失敗の原因を調べたりする場合は、同じショートカットを繰り返すのではなく、Home、Config、Diagnosticsで確認します。
iCloud同期:先にローカルのコピーを保管
iCloud同期では、条件を満たすデバイス間でアプリが対応するデータを同期します。SettingsのiCloud関連項目でスイッチを確認し、システム側でアプリのiCloud利用が許可されているかも確認してください。各デバイスで適切なiCloudアカウントと権限が必要です。App Storeの購入に使うアカウントと、iCloud同期に使うアカウントは役割が異なるため、混同しないでください。
有効にする前に、重要なConfigと必要な情報を保存し、現在の画面に記載された同期範囲を確認してください。すべての設定、統計、接続状態が同期されるとは限りません。同期は過去の状態を保管するバックアップではなく、削除や上書きがほかのデバイスにも反映されることがあります。デバイスを変更した場合は、データがそろっていることを確認してから接続し、同じ設定を2台で同時に大幅編集しないでください。
Diagnostics:最小限の再現手順で問題を特定
Diagnosticsでは、接続問題に関する診断情報を収集できます。Settingsで該当する項目を開き、画面に表示される内容を確認してください。問題を再現する場合は、ネットワークの種類、サーバー、Global Routing、有効なConfig、エラーが発生した時刻を記録してから、失敗した操作をもう一度行います。ログの対象範囲は現在の画面で確認してください。
情報を確認する際は、まず名前解決エラー、接続タイムアウト、認証失敗、接続先からのエラー応答を区別し、該当する設定を確認してください。診断情報を第三者に共有する前に、サブスクリプションのアドレス、パスワード、鍵、個人を特定できる情報を削除し、問題の解決に必要な部分だけを残します。問題が解決したら、一時的に有効にした追加ログ設定を元に戻してください。
設定の確認手順:接続確認からルール適用まで
設定作業を3段階に分けます。最初にサーバーを確認し、次に通信の振り分けを確認してから、自動化と同期を設定してください。各段階で同じ接続先をテストし、結果を確認してから次に進みます。これにより、一度の失敗でプロトコル、DNS、ルール、On Demandを同時に疑わずに済みます。
- ネットワークの基本状態を確認します。まずデバイス自体がネットワークに接続できるか確認し、現在の接続がWi-Fiかモバイル通信かを記録します。ログインが必要なネットワークでは、先に必要な認証を済ませてください。
- すでにお持ちのサーバーを確認します。Homeで使用する項目を選び、プロトコルの設定を確認します。同じTest MethodでConnectivity Testを実行し、接続先に実際にアクセスできるかも確認してください。
- 有効な設定を確認します。Configで使用する設定ファイルを選び、Global RoutingをConfigに設定します。接続先に一致するルールとポリシーを確認し、正常に動作するファイルのコピーを保管してください。
- 設定を1項目ずつ追加します。必要に応じてDNS、On Demand、Today Widget、iCloud同期を調整します。1項目を変更するたびにテストを繰り返し、変更前との違いを記録してください。
- データで動作を確認します。Dataでアクティビティの変化を確認し、必要に応じてDiagnosticsでエラーを再現します。新しい設定で問題が起きた場合は、まず直前の変更を元に戻してから、さらに変更する必要があるか判断してください。
初めて設定する場合はチュートリアルに沿って進めてください。接続済みなのに接続先を開けない場合は、問題の診断で症状別に確認できます。購入、再ダウンロード、デバイスの互換性についてはApp Storeで正規版を確認するページをご覧ください。接続の問題を解決するためにクライアントを再購入する必要はありません。