公式ガイド · 機能紹介

Shadowrocket
機能と設定方法

まずGlobal Routingを確認し、次にルール、サーバー、ネットワークの状態を確認します。この順で設定すれば、通信経路と接続開始の条件を切り分けやすくなります。複数の項目を同時に変更して原因が分からなくなることも防げます。

  • 元の設定を残す
  • 一度に変更するのは1項目
  • 同じ対象で再テスト

01 · 通信経路

Global Routingの3つのモード

Global Routingは、クライアントのネットワーク経路に入った通信をどのように処理するかを決める項目です。接続の成否を示すものではありません。Homeで現在選択されているConfig、Proxy、Directを確認し、実際の動作を判断します。

モードと画面表示 処理方法 利用する場面 確認する項目
設定 · Config 現在有効な設定のルールに基づいて処理方法を決定します。 ドメインやアドレスなどの条件に応じて通信を振り分ける場合に使います。 目的の設定が選択されていることを確認し、ルールの順序と最終ポリシーを確認します。
プロキシ · Proxy システムまたは設定で除外されていない、経路内の通信をプロキシ経由で処理します。 ルール設定が問題の原因かどうか、一時的に切り分ける場合に使います。 現在のサーバーが利用可能か確認してください。このモードですべてのシステム通信が処理されるわけではありません。
直接接続 · Direct クライアントが処理する通信を直接接続で処理します。 プロキシ経由の場合と比較し、ローカルネットワークが正常か確認します。 Directは接続スイッチをオフにすることでも、システムのVPN設定を削除することでもありません。

設定するときは、HomeでGlobal Routingを開き、必要なモードを選択します。Configを使う場合は、ファイルが一覧にあるかだけでなく、Configで現在有効なファイルを確認してください。ファイルの読み込み、編集、有効化はそれぞれ異なる状態です。

同じ対象にProxyではアクセスでき、Configではできない場合は、まず適用されたルールとポリシーを確認します。どちらのモードでも失敗する場合は、サーバー、DNS、現在のネットワークを確認してください。比較テストの後は元のモードに戻し、一時的な設定がその後の利用に影響しないようにします。

02 · マッチングとポリシー

ルール設定とConfig

ルールは「何に一致するか」を、ポリシーは「一致した後にどう処理するか」を指定します。Configで現在のファイルに含まれるルールを確認してください。通信を振り分ける場合は、Global RoutingでConfigを選択します。

ルールの種類と順序を確認

DOMAINは指定したドメインに一致し、DOMAIN-SUFFIXはドメインとそのサブドメインに一致します。DOMAIN-KEYWORDはドメイン内のキーワードで判定します。後者2つは対象範囲が広く、短すぎるキーワードを使うと、関係のないリクエストも同じルールに一致することがあります。

IP-CIDRとIP-CIDR6はアドレス範囲を指定し、GEOIPはIPアドレスの地理情報データベースに基づいて分類します。ドメインの名前解決結果、データベースの内容、関連設定によってアドレスルールの判定は変わるため、サイト名だけでどのルールに一致するかを判断することはできません。

通常、ルールは上から順に照合され、最初に一致した有効なルールで処理方法が決まります。具体的なルールを対象範囲の広いルールより前に置き、最後にFINALを確認します。これは前のルールに一致しなかった場合の最終処理に使うもので、通常のドメイン条件として扱うものではありません。

ポリシーが実際の経路と一致しているか確認

DIRECTは直接接続、REJECTは拒否、PROXYはプロキシ経由の処理を表します。設定によってはカスタムポリシーグループを参照します。グループ名だけでなく、グループ内で実際に選択されているサーバーも確認してください。

DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,10.0.0.0/8,DIRECT
FINAL,DIRECT

上記はマッチングの仕組みを説明する例であり、現在の設定と置き換えられる完全なファイルではありません。変更前に元のファイルを保存し、動作が分かっているドメインで再テストしてください。リクエストがREJECTに一致した場合、サーバーを変更しても、そのルールによる拒否は通常変わりません。

03 · 接続情報

サブスクリプションとサーバーの管理

サブスクリプションはサーバー情報をまとめて提供し、個別のサーバー項目には接続パラメーターを保存します。Configにはルールなどの設定が含まれます。これらは関連しますが、いずれか1つを読み込んでも、ほかの設定まで完了するわけではありません。

Home、Add Server、Subscribe

この手順は、利用者がすでにサブスクリプションまたはサーバー情報を持っていることを前提とします。Homeの追加メニューからAdd Serverを開き、内容に合ったTypeを選びます。サブスクリプションリンクを使う場合はSubscribeを選択し、リンク全体を入力して保存します。Homeに戻り、目的のグループが表示されていることを確認してから、使用するサーバーを選択してください。

手動で追加する場合、Typeはサーバーの指定と一致させる必要があります。Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、WireGuard、Hysteria2では入力項目が異なるため、Typeだけを変更して以前のパラメーターを流用することはできません。アドレス、ポート、認証情報、通信方式に関する項目は、手元にある情報に従って入力してください。項目の意味はプロトコル技術資料をご覧ください。

更新後に選択中の項目を確認

登録済みのサブスクリプション項目の操作メニューから更新し、グループ内のサーバーが想定どおりに変わったか確認してください。更新されるのは主に管理対象のサーバー情報で、現在のConfigが置き換わるわけではありません。更新後に名前や項目数が変わることがあるため、選択中のサーバーが引き続き存在するか確認してください。

更新に失敗した場合は、リンクが完全か、現在のネットワークで内容を取得できるか、サブスクリプションが有効かを確認します。アクセス情報を含むリンク全体を、公開するスクリーンショットや診断記録に貼り付けないでください。サブスクリプションや項目を削除する前に、どのグループに属しているかを確認し、手動で管理する項目と混同しないようにします。

04 · 接続の開始条件

On Demandによるオンデマンド接続

On Demandは、条件に応じてシステムに接続の開始や変更を要求します。「いつ接続するか」を決める機能です。一方、Global Routingは「接続後に通信をどう処理するか」を決めるため、両者は異なる設定です。

手動接続を確認してから条件を追加

SettingsでOn Demand関連の設定を探してください。接続オプションから開く画面の場合は、実際の画面表示に従います。有効にする前に手動接続とアクセスをテストし、サーバーと設定が使えることを確認してから、Wi-Fi、Cellular、ドメインに関する条件を追加してください。

Wi-Fi名を条件にする場合は、名前が完全に一致しているか確認します。Cellularを条件にする場合は、実際にモバイル通信へ切り替えて動作を確認してください。Wi-Fi接続中に設定を変更するだけでは、モバイル通信での動作は検証できません。ドメイン条件は、システムによるドメインリクエストの判定に関係し、特定のアプリのアイコンを起動することで作動するものではありません。

条件同士の競合を避ける

一度に追加する条件は1種類にし、保存後に該当するネットワークへ切り替えます。システムの処理を待ってから、接続状態と実際のアクセス結果を確認してください。複数の条件がある場合は、順序、対象範囲、動作を確認し、同じネットワークに接続と切断の相反する条件を設定しないようにします。

手動で切断しても再接続される場合は、On Demandが有効のままになっていないか確認してください。通常の接続トラブルを調べるときは、一時的に無効にして自動起動の影響を避け、手動接続が正常だと確認してから再び有効にします。オンデマンド接続はシステムが実行に関わる機能であり、常時動作するスケジュールタスクではありません。

05 · 利用状況の確認

Dataで通信量を確認

Dataではクライアントが記録した通信量を確認できます。リクエストが現在の接続を経由したか、一定時間内に通信があったかを調べる補助として使います。サービスの課金額や残量を判断する唯一の基準にはしないでください。

まず集計範囲を確認

Dataを開いたら、表示中の期間、アップロードとダウンロードの別、利用できる分類項目を確認します。画面によって現在の接続を表示する場合と累積記録を表示する場合があります。比較するには、同じ範囲の数値を使ってください。記録を消去する場合は、必要な情報を保存したうえで、どの範囲がリセットされるかを確認します。

確認するときは、まず現在の数値を記録し、既知の対象にアクセスしてからDataの変化を見ます。数値の増加は通信があったことを示すだけで、ページが完全に読み込まれたことや、想定したルールに一致したことを単独で証明するものではありません。実際のアクセス結果や接続記録も併せて確認してください。

クライアント側とサーバー側の統計は、プロトコルのオーバーヘッド、集計期間、計測範囲の違いにより一致しないことがあります。Dataに想定した変化がない場合は、接続スイッチ、現在のモード、リクエストが除外されていないかを順に確認してください。それだけでサーバーが利用できないと判断しないようにします。確認後は必要な記録だけを残し、アクセス先の情報を含む記録を長期間蓄積しないでください。

06 · よく使う設定

Settingsの確認リスト

Settingsの項目は、デバイスやシステムの機能に応じて変わる場合があります。項目が見つからないときは、まず現在のアプリ画面を確認してください。ガイドの名称に合わせるためだけに、意味の異なる類似設定を変更しないでください。

DNS:名前解決と接続を切り分ける

DNSはドメイン名をアドレスに変換します。SettingsのDNS関連項目とConfigの全体設定で名前解決の設定を確認してください。設定ファイルが最終的な動作に影響することもあるため、1か所を変更しただけで、すべてのリクエストに新しい設定が適用されたと判断しないでください。

現在正常に使えている値を先に控え、明確な必要性がある場合に変更します。設定にdns-server = systemとある場合は、システムのDNSを使うという意味であり、プロキシサーバーが正常であることを示すものではありません。変更後は同じドメインで再テストしてください。名前解決できても接続できない場合は、DNSを繰り返し変更せず、ルーティングとサーバーを確認します。

Test Method:測定内容を確認

Test Methodは、接続テストの方法を指定します。Settingsで項目を開き、方式とテスト対象を確認してからHomeに戻り、Connectivity Testを実行してください。サーバーを比較するときは、方式、対象、現在のネットワークをそろえます。

テスト値はハンドシェイクの方式、対象の応答、ネットワークの状態によって変化します。実際のダウンロード速度を示すものではなく、すべてのサイトが使えることを保証するものでもありません。タイムアウトした場合は、まずテスト対象が応答するか確認してから、サーバーのパラメーターを調べてください。一度の結果だけで既存の項目を削除しないようにします。

Today Widget:すばやく状態を確認・操作

Today Widgetは、システムが対応するクイックアクセスや状態表示に使います。Settingsで関連項目を探し、システムで利用できるウィジェット領域に設定してください。追加できるか、どの操作ができるかは、使用中のデバイスとアプリ画面で確認します。

まずアプリ内で接続が正常であることを確認し、次にウィジェットの表示や操作結果を確認します。ウィジェットの状態は更新に時間がかかることがあり、アプリ内での確認に代わるものではありません。表示が一致しない場合はHomeを開いて実際の接続状態を確認し、切り替えを何度も繰り返さないでください。

iCloud同期:対象と方向を確認

iCloud関連の設定は、対応する範囲でアプリのデータを保存または同期します。Settingsで同期スイッチを確認し、システムでアプリのiCloud利用が許可されていることも確認してください。有効にする前に画面の説明を読み、Config、サーバー情報、その他のどのデータが対象になるかを確認します。

同期はデバイス全体のバックアップではなく、すぐに完了するとも限りません。デバイスを変更するときは、元のデバイスにある有効な設定を先に保存し、もう一方のデバイスで同期内容を確認してください。上書き、統合、復元に関する確認が表示されたら、処理の方向を確かめます。サブスクリプションリンクと認証情報も慎重に管理してください。

Diagnostics:問題の特定に役立つ記録を収集

Diagnosticsでは、接続の問題を調べたり診断情報を収集したりできます。Settingsで関連項目を開いたら、画面の説明に従って必要な記録を有効にし、問題を一度再現します。そのときのネットワークの種類、Global Routingのモード、対象ドメイン、エラーの内容を記録してください。

診断記録には、アクセス先のドメイン、サーバーアドレス、設定の詳細が含まれる場合があります。共有する前に認証情報や個人情報を確認して削除し、サブスクリプションリンク全体は公開しないでください。必要な結果が得られたら追加の記録を停止します。ログが長いほど問題を特定しやすいわけではなく、再現可能な単一の記録のほうが状況を把握しやすいことがあります。

07 · 変更後の再テスト

同じ手順で設定を確認

接続アイコン、テスト値、ページへのアクセスは、それぞれ異なる段階を示します。「接続が確立した」「想定した経路が適用された」「対象を正常に利用できる」を分けて確認すれば、設定の目的が達成されたか判断できます。

変更前の状態を記録し、一つずつ確認

  1. 現在の状態を記録します。Homeで選択中のサーバー、Global Routingのモード、Configファイルを確認し、変更前の値を残します。自動的に接続を開始する可能性があるOn Demandの条件は、先に一時停止してください。
  2. 基本の接続を確認します。同じネットワークでConnectivity Testを実行し、決まった対象へのアクセスも試します。テストに失敗した場合はパラメーターとネットワークを確認します。テストに成功して対象にアクセスできない場合は、ルールとDNSを引き続き確認してください。
  3. 通信の振り分け結果を比較します。必要に応じてProxyとConfigを一時的に切り替え、同じ対象で再テストします。Configの場合だけ失敗するなら、マッチング順、ポリシーグループ、FINALを確認してください。プロトコルを同時に変更しないようにします。
  4. 通常の設定に戻します。結果を確認したら、目的のモードとOn Demandを元に戻し、一時的な診断記録を停止します。実際に使うWi-Fiまたはモバイルネットワークでもう一度確認してください。

初回の読み込みが終わっていない場合は、ガイドに従って、確認可能な接続を設定してください。画面上の用語は用語集で確認できます。繰り返し再現できる問題は、よくある質問を参考に、一つずつ切り分けてください。変更する条件を一度に1つにすれば、結果と設定の対応を確認しやすくなります。

Shadowrocket をダウンロード