公式マニュアル · 機能ガイド

Shadowrocketの機能と設定

まずGlobal Routingを確認し、次にConfigとサーバーを確認します。接続後はDataとDiagnosticsで問題の箇所を特定します。設定は一度に一つだけ変更し、変更前の状態も記録して比較してください。

iPhone/iPadを対象に、利用者が自身のサブスクリプションまたはサーバー情報を持っていることを前提としています。システム要件と互換性はApp Storeの掲載内容をご確認ください。

  • モードでルーティング方法を選択
  • ルールで一致条件と処理を決定
  • テスト結果は複数の観点から確認

Global Routing:Config・Proxy・Direct

Global Routingは現在の接続で使うルーティング方法を選択する項目で、サーバーのプロトコルを選ぶものではありません。HomeでGlobal Routingを開き、Config、Proxy、Directから選択します。変更前に現在の設定を記録し、トラブル対応後に元へ戻し忘れないようにしてください。

画面上の選択肢 処理方法 利用場面 確認ポイント
Config(設定) 現在有効なConfig内のルールとポリシーに従ってリクエストを処理します。 ドメインやアドレスなどの条件に応じて、通常の通信を振り分ける場合。 現在のConfig、ルールの順序、ポリシーの参照先、最後に適用されるルール。
Proxy(プロキシ) Configの通常のルールによる振り分けではなく、プロキシモードで通信を処理します。 選択中のサーバーで目的の接続が可能か、一時的に確認する場合。 選択中のサーバー設定と、Config内の関連する除外設定の影響。
Direct(直接接続) 接続先に直接アクセスします。 現在のネットワークから直接アクセスできるか比較する場合。 ローカルネットワーク、名前解決の結果、接続先サービスの状態。

モードの選び方と確認方法

既存のルール設定を使う場合は、まずConfigで現在使用中のファイルを確認し、Global RoutingをConfigに設定します。ルールのポリシー選択が原因と思われる場合は、一時的にProxyへ切り替え、同じネットワークと接続先で比較します。現在のネットワークから直接アクセスできるか確認するには、Directでテストします。テストごとに変更するのはモードだけにしてください。サーバー、DNS、ネットワークも同時に変えると、どの変更が影響したのか判断できません。

モード名だけで実際の動作を判断することはできません。Proxyにしてもサーバーが利用できるとは限らず、Directにしてもシステムの接続スイッチがオフになるわけではありません。接続状態、リクエスト記録、実際のアクセス結果を確認して判断してください。トラブル対応後は、必要な元のモードに戻します。一時的なテストモードのまま使い続けると、ルールに基づく通信が変わることがあります。

ルールによる振り分け:一致条件と処理ポリシー

ルールは「どのリクエストを対象にするか」、ポリシーは「どのように処理するか」を指定します。両方をあわせて確認してください。

ルールは主にConfigで確認・管理します。利用前にGlobal RoutingがConfigになっていることと、編集中のファイルが現在有効なConfigであることを確認してください。通常、ルールは記載順に照合されます。具体的な条件を広い条件より前に置き、先行ルールに一致しなかったリクエストはFINALで処理します。無効な別ファイルにルールを追加しても、現在の接続動作は変わりません。

ルールタイプ照合対象使用上の注意
DOMAIN完全一致するドメイン。特定のドメインだけを処理する場合に適しています。
DOMAIN-SUFFIXドメインのサフィックスとそのサブドメイン。意図せず変更したくないサブドメインまで対象に含まれていないか確認してください。
DOMAIN-KEYWORDドメインに含まれるキーワード。広い範囲に一致するため、短すぎるキーワードは避けてください。
IP-CIDR / IP-CIDR6IPv4/IPv6のアドレス範囲。アドレス範囲とプレフィックス長を確認し、単一アドレスとネットワーク全体を混同しないでください。
GEOIPアドレスデータベース上の地域情報。データベースの判定は、接続先サービスの言語やサービス提供地域を示すものではありません。
FINALほかのルールに一致しなかったリクエスト。最後の受け皿として、優先して照合するルールの後に配置します。

PROXY・DIRECT・REJECTの違い

PROXYはプロキシポリシーに渡して処理し、DIRECTは直接接続、REJECTはリクエストを拒否します。Configから名前付きポリシーグループを参照している場合は、ルールだけでなくグループで現在選択されている項目も確認してください。画面上のProxyモードと、ルール内のPROXYキーワードは別の階層です。前者はルーティング方法、後者はルールの処理ポリシーを指定するため、混同しないでください。

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

ここでは構文と順序のみを示しています。個人のConfigをそのまま置き換えられる完全なファイルではありません。ルールを追加したら、まず一つの接続先で確認し、その後、必要に応じて対象範囲を広げてください。別のポリシーが選ばれる場合は、より前に一致するルールがないか確認し、リクエスト記録から実際のドメインやアドレスを調べます。画面に表示されるドメインが、そのサービスのすべてのリクエストを示すとは限りません。

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

サーバー項目には接続パラメータを保存し、Subscribeでは利用者がすでに持っているサーバーリストを読み込み、更新します。これらはConfig内の完全なルール設定とは別のものです。HomeでAdd Serverを選ぶとサーバーを個別に追加できます。Subscribeを選ぶ場合は、既存のサブスクリプションを入力してください。QRコードがある場合はScan QR Codeを使えますが、まず自分が利用している設定元から取得したコードであることを確認してください。

追加・更新時の確認項目

手動で追加する場合は、既存のサーバー情報と同じプロトコルを選び、サーバーアドレス、ポート、認証情報、プロトコル固有のオプションを一つずつ確認してください。Shadowsocks、VMess、VLESS、Trojan、WireGuardなどのパラメータは相互に置き換えられません。保存できても、項目が作成されたことを示すだけで、接続先サービスが利用可能とは限りません。項目を選択してConnectivity Testを実行し、実際のアクセスも確認してください。

Subscribeを読み込む際は、URL全体を正確に入力してください。特にクエリパラメータや、コピー時に混入した空白・改行に注意します。サブスクリプションを更新すると内容が再取得され、サーバー項目が追加・変更・削除されることがあります。読み込まれた項目を手動で編集する前に、次回の更新で変更が上書きされる可能性を考慮してください。残しておきたい個人設定は別途記録し、一時的な編集を恒久的な保存方法として扱わないようにします。

複数のリストと機密情報

複数のサブスクリプションを管理する場合は、メモで登録元や用途を区別し、整理・削除する前に対象のリストを確認してください。同じメモでもパラメータが同じとは限りません。アドレスが重複していても、ポート、プロトコル、認証方式が異なる場合があります。削除後はConfigに削除した項目やポリシー名への参照が残っていないか確認し、ルールの参照先が存在しない状態を防いでください。

サブスクリプションURLにアクセス認証情報が含まれる場合があります。QRコード、エクスポートしたデータ、診断記録にもサーバー情報が含まれることがあるため、公開用のスクリーンショットにそのまま載せないでください。当サイトではサーバーやサブスクリプションの提供・販売・推奨は行っていません。接続先のパラメータを確認する場合は、利用者がすでに持っている情報を使い、該当するサービス提供元に問い合わせてください。関係のない設定を次々に切り替えて正しい値を推測しないようにしましょう。

On Demand:条件に応じた接続

まず手動接続が正常に動作することを確認してから、自動接続を設定してください。自動接続では、誤ったサーバーパラメータは修正されません。

On Demandでは、ネットワークなどの条件に応じて接続を開始するかどうかを設定します。アプリ内のOn Demand設定を開き、現在のルールとアクションを確認してから、実際の使い方に合わせてWi-Fi、モバイル通信、ドメインに関する条件を設定してください。設定画面の場所や利用可能な選択肢は、端末上のアプリ表示で確認してください。別の端末での画面位置から判断しないでください。

条件を一つずつ有効にする

まず、特定の既知のWi-Fiに接続したときに接続を開始するなど、繰り返し確認できる場面を一つ選びます。ネットワーク名の入力に誤字や余分な空白がないか確認し、アクションが意図どおりか確認してください。保存後、該当するネットワークに切り替えて、システムの接続状態と実際のアクセス結果を確認します。最初のルールを検証してからほかの条件を追加し、互いに重なるルールを一度に複数追加しないでください。

ドメインに関する条件は、システムがいつ名前解決やアクセスを開始するかにも関係します。ドメインを入力したからといって、関連するすべてのリクエストに同じアクションがすぐ適用されるわけではありません。複数の条件が重なる場合は、ルールの順序、各アクション、実際に一致した結果を確認してください。ネットワークを切り替えた後に動作が変わる場合、ネットワーク自体がサーバーに接続できない可能性もあるため、ルールの発動失敗と区別してください。

Global Routingとの役割の違い

On Demandは接続を開始する条件を扱い、Global RoutingとConfigは接続後の通信処理を決めます。自動接続できても、通信の振り分けが意図どおりとは限りません。現在のモードとConfigを引き続き確認してください。手動で切断しても再接続される場合は、サーバーをすぐに削除せず、まずOn Demandが有効になっていないか確認します。自動接続を一時停止するには該当設定をオフにし、状態を改めて確認してください。

Data:通信量の確認

Dataでは、アプリに記録された通信量を確認できます。Dataを開いたら、まず表示中の集計範囲、期間、単位を確認し、アップロード量とダウンロード量を確認してください。リセット機能がある場合は、リセット前に比較に必要な記録を残します。リセット後の数値を、それまでの累計値と直接比較することはできません。

通信量を使った状況確認

問題を調べるときは、先に数値を記録し、目的のページを一つだけ開いてからDataに戻り、変化を確認できます。通信量が増えてもページが表示されない場合、「通信が発生したこと」と「目的のリクエストが成功したこと」は同じではありません。DNS、接続先からの応答、ルールとポリシーも確認してください。バックグラウンドのアプリが通信する場合もあるため、同じ時間帯の増加をすべて直前に開いたページの通信とみなさないでください。

Dataはサービス提供元の残り通信量を表示する画面ではなく、端末のシステム設定にあるモバイル通信量とも異なります。集計開始時点、対象ネットワーク、プロトコルのオーバーヘッド、課金基準は異なる場合があるため、アプリ内の累計値から接続先アカウントの残量を直接推定できません。また、通信量が表示されても、リクエストがプロキシポリシーを経由した証拠にはなりません。実際の経路はGlobal Routing、適用されたルール、リクエスト記録をあわせて確認してください。

問題を再現する場合は、一定の観察時間を決めて現在のネットワークを記録するほうが、累計値だけを切り取るより有用です。見栄えのよい数値にするために何度も記録を消去しないでください。重要なのは、単独の数値ではなく、変更前後で比較できる変化です。

Settings:基本設定と診断機能

まず現在のConfigを確認してからアプリ設定を変更してください。Config内の関連項目が最終的な動作に影響する場合もあります。

DNS:問題が発生した段階を確認

DNSはドメイン名をIPアドレスに変換します。関連設定はSettingsのDNS項目と、現在のConfigの内容で確認できます。まず現在のDNS設定を記録し、利用中のConfigの要件に沿って変更してください。ドメインを解決できない場合、解決後に接続できない場合、接続後に接続先から正常な応答がない場合を区別します。それぞれ必要な対処は異なります。

設定後は同じドメインで再テストし、キャッシュによって変更前後の結果がしばらく変わらない可能性も考慮してください。一部のドメインだけに問題がある場合は、該当ルール、名前解決の経路、IPv4/IPv6の結果を確認し、すべてのリクエストを同じポリシーに変更しないでください。DNSを変更しても、ポートや認証情報の誤り、接続先サーバーの利用不可は解決しません。むやみにDNSアドレスを入れ替えず、確認できたエラーに沿って調べてください。

Test Method:Connectivity Testのテスト範囲

SettingsでTest Methodを確認してから、HomeでConnectivity Testを実行します。テスト方式によって測定対象と成功条件が異なるため、異なる方式の所要時間をそのまま比較しないでください。テスト対象の指定が必要な場合は、その対象自体にアクセスできることも確認します。テスト対象に問題があると、結果はサーバーの能力全体ではなく、対象の状態を反映することがあります。

一度テストに成功しても、すべてのWebサイト、通信方式、サービスが正常とは限りません。一度のtimeoutだけでConfig全体が無効とも判断できません。まず何度か再テストし、アドレス、ポート、プロトコルのパラメータ、システム時刻、現在のネットワークを確認します。最後に実際に利用する接続先でも確認してください。結果を記録するときはテスト方式も併記し、数値だけを比較しないようにします。

Today Widget:ショートカットと状態確認

Today Widgetでは、関連するショートカット操作や情報表示を利用できます。SettingsでToday Widgetの項目を確認し、端末のシステムに用意されたウィジェット追加手順に従ってください。追加できるかどうか、表示方法、利用できる操作は、現在のシステムとアプリの表示で確認してください。端末によってレイアウトが異なる場合があります。

ショートカットを実行した後も、Homeに戻って選択中のサーバー、Global Routing、接続状態を確認してください。ウィジェットは操作の入口や状態情報を表示するもので、サーバーパラメータの検証は行いません。操作後の状態が想定と異なる場合は、ウィジェットの見た目だけで接続済みと判断せず、アプリ内の状態とOn Demandの条件を確認してください。

iCloud:同期と購入済みアイテムの復元は別

iCloud同期を使う前に、Settingsで同期のオン・オフと対象データを確認し、システムでアプリのiCloud利用が許可されていることを確認してください。新しい端末では、追加の変更を行う前に同期結果を確認します。データがすぐに表示されない場合は、項目を重複して作成する前にアカウント、ネットワーク、システムのアクセス許可を確認してください。

同期によってすべての設定や機密情報が必ず完全に移行されるとは限りません。実際に同期された内容を確認し、重要なConfigは復元できる形で保管してください。エクスポートしたデータも適切に管理します。iCloud同期とApp Storeでの購入済みアイテムの復元は別の手続きです。クライアントを再入手する場合は購入済みアイテムの復元方法を確認してください。同期設定で購入履歴の確認を代用することはできません。

Diagnostics:具体的な問題の記録

SettingsでDiagnosticsを開き、アプリに用意されているツールで接続や記録を確認します。操作前に、すべてのリクエストが失敗するのか、特定のドメインだけ失敗するのか、ネットワーク切り替え後に限って失敗するのか、症状を明確にしてください。現在のGlobal Routing、使用中のConfig、サーバー項目、エラーの発生条件を記録してから一度再現します。関係のない大量の記録で重要なエラーを埋もれさせないようにしてください。

診断ツールが示すのは観察結果であり、自動修復を保証するものではありません。ログを確認するときは、発生時刻が一致するエラーと該当リクエストを探し、一つの警告だけから全体の原因を推測しないでください。記録を共有する前に、サブスクリプションURLの認証情報、認証フィールド、個人のネットワーク情報を削除します。エラーの種類、再現手順、必要最小限のマスキング済みパラメータを残すと、問題を特定しやすくなります。

設定の確認手順

まず基本接続ができるかを確認し、次にリクエストが適切なポリシーで処理されるかを調べます。自動化と同期の設定は最後に行います。以下の順に進めると、複数の設定が影響し合うことによる誤判断を減らせます。

  1. 既存の情報を確認します。サーバーのプロトコル、アドレス、ポート、認証情報を確認します。サブスクリプションの読み込み後は、選択可能な項目がリストに表示されていることを確認してください。
  2. 現在のルーティング方法を確認します。HomeでGlobal Routingを確認してください。Configを使う場合は、保存済みファイルを確認するだけでなく、現在有効なファイルとポリシーの参照先を確認します。
  3. まず手動で接続します。必要なシステムVPNの使用許可を設定してから、Connectivity Testと実際の接続先で確認します。テスト中は新しい自動接続条件を追加しないでください。
  4. ルールとDNSを一つずつ確認します。接続できない対象について、どのルールが適用されたかを調べます。一度に変更するのは一か所だけにし、変更前後の状態を記録してください。改善しなければ元の値に戻します。
  5. 最後にOn Demandと同期を設定します。基本接続が安定してから、オンデマンド条件、ウィジェット操作、iCloudを有効にし、それぞれの動作を個別に確認してください。

初期設定については使い方ガイドをご覧ください。購入状況や端末の互換性を確認する場合は、App Storeでの正規購入ガイドをご覧ください。このページはShadowrocket公式マニュアルの機能ガイドです。利用できる項目はアプリ内の表示でご確認ください。