公式マニュアル / 機能と設定

Shadowrocket
機能と基本設定

まずGlobal Routingを確認し、次にConfigとサーバーを確認します。接続の流れに沿って各機能を理解し、モード、ルール、プロトコル設定を混同しないようにしましょう。

Global Routing / 接続モード Config / ルール設定 Settings / 接続動作
接続モード

Global Routing:Config・Proxy・Direct

Global Routingでは、接続全体の処理方法を指定します。HomeでGlobal Routingを開き、Config、Proxy、Directから選択します。それぞれ設定に従う接続、プロキシ経由、直接接続を意味し、サーバーの種類や接続速度の段階を表すものではありません。選択前に、ルールで通信先を振り分けたいのか、特定の接続経路を一時的に確認したいのかを明確にしましょう。

Global Routingの3つのモード
画面上の選択肢主な動作利用場面確認するポイント
Config(設定)現在有効な設定のルールに従ってリクエストを処理します。通常の利用で、接続先に応じて通信を振り分ける場合。有効なConfig、ルールの順序、最終的なポリシー。
Proxy(プロキシ)プロキシ経由で通信します。ただし、システムやアプリで処理できる範囲に限られます。選択したサーバーへの接続状況を一時的に確認する場合。Homeで選択中のサーバーとプロトコル設定。
Direct(直接接続)現在のローカルネットワークから接続先へ直接アクセスします。ローカルネットワーク経由とプロキシ経由の違いを比較する場合。ローカルネットワークから接続先へ到達できるか、ほかのネットワーク設定が影響していないか。
  1. Homeで現在選択中のサーバーを確認してから、Global Routingを開きます。
  2. 通常の振り分けにはConfigを選び、Configで実際に有効な設定ファイルを確認します。
  3. 接続の問題を切り分ける場合は、一時的にProxyまたはDirectへ切り替え、同じ接続先で比較します。
  4. テスト後は元のモードに戻し、もう一度アクセスします。既存の長時間接続には、新しい設定がすぐ反映されない場合があります。

Proxyは問題がルールに関係しているかを切り分ける手掛かりになりますが、誤ったサーバーアドレス、認証情報、DNSを自動で修正するものではありません。Directも、システムのネットワーク動作をすべて停止するという意味ではありません。接続のオン・オフ、現在のモード、接続先をあわせて記録し、選択中の項目だけで判断しないようにしましょう。

マッチングとポリシー

Configとルールによる振り分け

ルールは「どの接続先にアクセスするか」と「どのポリシーを適用するか」を結び付けます。Configで設定ファイルを選択して有効にし、Global RoutingをConfigに設定すると、その設定に基づく振り分けを確認できます。ファイルがConfigの一覧に保存されているだけでは、現在有効な設定とは限りません。

ルールを読むときは、まずルールの種類、次にマッチ条件、最後にポリシーを確認します。DOMAINはドメインの完全一致、DOMAIN-SUFFIXはドメインのサフィックス一致、DOMAIN-KEYWORDはドメイン内のキーワード一致に使用します。IP-CIDRとIP-CIDR6はそれぞれアドレス範囲を指定します。GEOIPは対応するIPアドレスデータベースを参照します。USER-AGENTはリクエストから識別できる情報に依存するため、すべてのアプリや暗号化されたリクエストに適用できるわけではありません。

ルールポリシーの基本
ポリシー意味主な確認ポイント
PROXYプロキシ経由で処理します。現在のサーバー、または設定で参照されているポリシーを確認します。
DIRECT直接接続を使用します。ローカルネットワークから接続先にアクセスできるか確認します。
REJECT条件に一致するリクエストを拒否します。意図した設定どおりにブロックされているか確認します。
カスタムポリシー名設定内で定義されたポリシーまたはポリシーグループを参照します。名前が存在するか、グループ内の選択が有効かを確認します。

ルールは通常、上から順に確認されます。先に一致したルールが後続の処理に影響するため、具体的な例外は該当する広範なルールより前に配置します。FINALは、それ以前のルールに一致しなかったリクエストを処理します。変更は一度に一つの条件だけにし、元の設定のコピーを残しましょう。ルールの順序、DNS、サーバーを同時に変更すると、原因を特定しにくくなります。

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY

ここに示すのは構文の説明用であり、そのまま利用できる完全な設定ではありません。例のドメインサフィックスにはPROXYを適用し、指定したローカルアドレス範囲にはDIRECTを適用、それ以外のリクエストはFINALで指定したポリシーに渡す例です。実際に使う際は、現在の設定にあるほかの項目やサーバー設定も確認してください。ルールのキーワードは用語クイックリファレンスで一つずつ確認できます。

登録済み情報のインポートと管理

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

サーバー項目には、個々の接続に必要なプロトコルや認証情報が保存されます。サブスクリプションは、複数の項目をまとめて取得・更新するためのものです。Config内のSubscribeで設定のサブスクリプションを扱う場合は、読み込む内容が設定ファイルかサーバー一覧かを先に確認しましょう。リンクの見た目だけで用途を判断しないでください。どちらもネットワークアドレスを使う場合がありますが、同じインポート先を使えるとは限りません。

  1. サーバーを個別に登録するには、HomeでAdd Serverを開き、手元にある情報に合わせてプロトコルを選択してから、アドレス、ポート、認証情報を入力します。
  2. 登録済みの共有リンクは、アプリに表示されるクリップボードからの読み込み方法に従って操作します。QRコードがある場合はScan QR Codeを使い、読み取り後にプレビュー内容を確認してから保存します。
  3. サブスクリプションを登録する場合は、内容の種類に合ったインポート項目を使います。保存後、グループ名、サーバー項目、設定ファイルが想定どおりか確認しましょう。
  4. 接続する前にHomeで項目を一つ選択します。更新後は選択状態を再確認し、無効になった項目や削除済みの項目を使い続けないようにしましょう。

サブスクリプションの更新成功は、該当する内容を取得して処理できたことを示すだけで、すべてのサーバーに接続できることを保証しません。Connectivity Testは初期確認に使えますが、結果はテスト方法、ネットワーク環境、接続先への到達性にも左右されます。並べ替え後はサーバー名とグループを確認し、一覧の位置を固定の識別情報として扱わないでください。

削除する前に、対象が個別の項目、サブスクリプションのグループ全体、Configのいずれかを確認します。サブスクリプションを再取得すると手動変更が上書きされる場合があります。長期的に保持するローカル設定は別途記録してください。共有リンク、QRコード、エクスポートファイル、サブスクリプションURLには認証情報が含まれる場合があります。公開スクリーンショット、ログ、問い合わせ時の添付ファイルに含めないようにしましょう。詳しい整理手順はサブスクリプションとサーバー管理マニュアルをご覧ください。

Add Server

複数のプロトコルと接続設定

Shadowrocketは、Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、WireGuard、Hysteria2など、複数のプロキシ・トンネルプロトコルに対応しています。プロトコル名は接続方式を示すもので、品質のランクではありません。どれを選ぶかは、手元にあるサーバーの設定に基づいて決めてください。利用できる方式を探すためにプロトコルを次々と切り替える方法は適切ではありません。

Add Serverでプロトコルを選択してから、そのプロトコルで必要な項目を入力します。アドレスとポートは基本情報ですが、プロトコルによってはパスワード、識別子、鍵、TLS、トランスポート層の設定も必要です。共有リンクから読み込んだ場合も、各項目が正しく入力されているか確認してください。特に、サーバーアドレスと証明書検証に使う名前が異なる場合があります。

認証やハンドシェイクに失敗した場合は、まず元のサーバー情報と照合し、ポート、認証情報、TLS名、デバイスの時刻を確認します。証明書検証を無効にする方法を、通常の対処として使わないでください。一つのプロトコルで接続できても、別のプロトコルの設定が正しいとは限りません。ほかの条件を変えず、一項目ずつ確認して原因を特定しましょう。

自動接続の条件

On Demand オンデマンド接続

On Demandでは、設定した条件に応じてシステムに接続動作を開始させます。サーバーを提供する機能ではなく、Global Routingによる振り分けの選択を置き換えるものでもありません。SettingsでOn Demandを開き、設定可能なネットワーク条件と動作を確認してください。実際に表示される項目はアプリ内の画面で確認できます。

  1. まず自動接続の条件を無効にし、サーバーを手動で選択して実際のアクセスを一度確認します。
  2. ConfigとGlobal Routingが想定どおりであることを確認してから、On Demandで必要な条件を設定します。
  3. 保存後、該当するネットワーク環境に切り替えて接続状態を確認します。その環境から離れた後も、設定どおりに動作するか確認してください。

手動で切断した後に接続が再開する場合は、システムのVPN設定をすぐに削除せず、まずOn Demandを確認します。ネットワークの切り替え、デバイスのスリープ、システムのスケジュール処理によって、動作するタイミングが変わる場合があります。一度の状態変化だけでルールが機能していないと判断しないでください。原因を調べる間はOn Demandを一時的に無効にし、手動接続のテスト後に元に戻すと、自動動作に影響されずに確認できます。

通信量の確認であり、課金情報ではありません

Data 通信量の統計

Dataでは、アプリが確認できる範囲の通信記録や統計を表示します。接続前後に通信が発生したか、一定時間データ転送が続いているか、リクエストがどのように処理されたかを比べる際に役立ちます。Dataを開いたら、まず統計の対象範囲と記録時刻を確認し、アップロード、ダウンロード、接続情報を読み取ります。累計値だけを切り取ってネットワーク状態を判断しないでください。

まず現在の数値を記録し、対象を明確にしたページを開いてからDataに戻り、変化を比較します。既存の接続がバックグラウンドで通信している場合、数値が増え続けることもあります。ほかのアプリの動作はできるだけ控えてください。画面にリセット機能がある場合は、必要な情報を記録してからリセットし、トラブル調査の手掛かりを失わないようにしましょう。

Dataは、利用者が契約しているサービスの請求明細ではありません。集計方法、プロトコルのオーバーヘッド、対象期間、サーバー側の課金方法はそれぞれ異なる場合があります。また、ローカルの記録がデバイス上のすべての通信を網羅するとは限りません。通信量の増加から分かるのは、該当する経路でデータが転送されたことだけです。接続先のコンテンツが完全に読み込まれた証拠にはならず、サブスクリプションの残量を推定することもできません。

問題に応じて設定項目を選ぶ

Settings よく使う項目

Settingsには一般的な動作やツールの設定があり、Configには現在の設定専用の項目が含まれる場合があります。関連する項目が両方にある場合は、まず適用範囲を確認し、現在のConfigが一般設定を上書きしていないかを調べます。項目の場所はデバイスやアプリの画面によって異なることがあります。英語名を手掛かりに探し、実際に表示される選択肢を確認してください。

DNS:ドメイン名の名前解決

DNSはドメイン名を接続に使うアドレスに変換します。DNSを確認する際は、Settings内の関連項目だけでなく、現在のConfigのDNS設定も確認してください。ドメイン名では開けないが既知のアドレスには到達できる場合、名前解決に問題がある可能性があります。ただし、証明書や接続先のサービスが原因の場合もあるため、DNSだけの問題と決めつけないでください。

まず現在のDNS設定を記録し、指定したDNSサービスに現在のネットワーク経路からアクセスできるか確認します。一度に一つの項目だけを変更し、リクエストを再送して結果を比較してください。DNSを切り替えてもサーバーの認証情報は変わらず、誤った振り分けルールも自動では修正されません。キャッシュや既存の接続によって、変更の効果がすぐに現れない場合もあります。

Test Method:テスト方法

Test Methodでは、接続テストに使う方法を選択します。Settingsで項目を確認してからConnectivity Testを実行してください。方法によって確認する到達性の段階が異なる場合があるため、結果を混ぜて順位付けしないようにしましょう。方法を変更した場合は、同じネットワーク環境でもう一度テストしてください。

テストの応答が速くても、継続的な通信速度が高いとは限りません。テストに失敗しても、実際のリクエストがすべて失敗するとは限りません。まず、テスト対象と方法が現在のネットワークに適しているかを確認し、実際のアクセス結果もあわせて確認します。複数のサーバーを比較する際は、方法、対象、ネットワーク環境を同じにしてください。

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

Today Widgetには、システムウィジェットに関する設定があります。まずSettingsでToday Widgetの利用可能な項目を確認し、現在のシステムで提供される追加方法に従って設定します。追加後は表示中のサーバーと接続状態を確認し、ショートカット操作を行ったらHomeに戻って結果を確かめてください。

ウィジェットを配置できる場所、更新頻度、操作できる範囲はシステムの対応状況に左右されます。ウィジェットに表示された古い状態を、現在の接続状態だと判断しないでください。表示が更新されない場合は、まずアプリを開いて確認し、その後でウィジェットの設定を見直します。サーバーの切り替えや設定の作り直しを繰り返す必要はありません。

iCloud:同期とバックアップの対象

SettingsでiCloud関連の項目を確認し、同期対象を読んでから必要なオプションを有効にします。デバイスが該当するiCloudの利用状態にあり、アプリに必要な機能の使用が許可されている必要があります。初回同期の前に重要なローカル設定を保存し、同期の方向を確認できるまでは複数のデバイスを同時に変更しないでください。

アプリの購入履歴、設定の同期、サーバーの認証情報はそれぞれ別のものです。iCloud同期でサブスクリプションの内容すべてが復元されるわけではなく、App Storeの購入済み記録の代わりにもなりません。複数のデバイスで使う場合も、Homeで選択中のサーバー、現在のConfig、Global Routingをそれぞれ確認してください。

Diagnostics:診断情報

Diagnosticsでは、接続に関する診断情報を確認または収集できます。Settingsでこのツールを開き、再現したい問題を確認してから、画面の案内に沿って操作してください。診断情報を何度も作成するより、発生時のネットワーク、接続モード、接続先、操作の順序を記録するほうが役立ちます。

診断資料には、ドメイン、アドレス、接続記録などの機密情報が含まれる場合があります。共有前に内容を一つずつ確認し、サブスクリプションURLや認証情報を削除してください。フィードバックを送るために設定全体を公開しないでください。調査のため一時的に有効にした記録オプションは、診断後に通常の設定へ戻します。

再現可能な結果から確認

機能設定の確認する順序

設定項目には依存関係があります。まず利用可能なサーバー情報を用意し、次に全体の接続モードを決め、最後にルールと自動接続を設定します。問題が起きたときは、すべてのスイッチを同時に変更するより、次の順に一つずつ確認すると原因を特定しやすくなります。

  1. ローカルネットワークを確認。ネットワーク自体が使えることを確認し、Wi-Fiとモバイル通信のどちらを利用しているか記録します。確認中はネットワーク環境を変えないでください。
  2. Homeを確認。選択中のサーバーが元の情報と一致しているか、接続スイッチとシステムの許可状態に問題がないかを確認します。
  3. Global Routingを確認。通信を振り分ける場合はConfigを使います。比較テストではProxyまたはDirectでのアクセス結果を記録します。
  4. ConfigとDNSを確認。想定した設定ファイルが有効かを確認し、該当するルールとFINALのポリシーを確認してから、名前解決の設定を調べます。
  5. 自動動作と記録を確認。On Demandの影響を切り分け、Data、Connectivity Test、Diagnosticsを使って問題の範囲を絞ります。

設定を変更するたびに同じ接続先へ再度リクエストし、前回の設定と結果を記録してください。問題が解決したことを確認してから、通常のモードと自動接続の条件に戻します。初回接続の手順は使い方ガイドをご覧ください。複数のサブスクリプションを管理したり、サーバーを整理したりする場合はサーバー管理へ進み、設定の管理と接続トラブルを混同しないようにしましょう。