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

Shadowrocketの機能と設定

まず通信経路を確認し、接続条件や診断設定を調整します。Home、Config、Data、Settingsの各画面に沿って解説します。画面上の項目名は英語表記のまま記載しています。

Global Routing Config / Proxy / Direct ルールとポリシー 既存サブスクリプションの管理 Settings リファレンス

機能一覧

6つの機能とその役割

機能を選ぶと概要を確認できます。具体的な操作方法と確認手順は、下の各項目をご覧ください。ルールの記述例は構文の説明用であり、既存の設定ファイルを置き換えるものではありません。

Global Routingとルールの照合

ルール振り分けでは、条件に応じてリクエストの処理方法を指定します。まずHomeでGlobal Routingを確認し、次にConfigで使用中の設定ファイルを確認してください。Configが選択されている場合に限り、そのファイルのルールに沿って通信経路を判断できます。編集前に元の設定を保存し、ルールの順序、ポリシー名、最後に適用されるルールを確認します。広い条件のルールが前にあると、後続の詳細なルールより先に一致する場合があります。確認時は対象を1つに絞ってログと照合し、接続スイッチの状態だけでルールの適用結果を判断しないでください。

DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

Home / Global Routing

Config・Proxy・Directの3つのモード

Global Routingでは、Shadowrocketが処理する通信の経路を選択します。HomeでGlobal Routingを開き、現在選択されている項目を確認してから切り替えてください。設定に従うConfig、プロキシを使うProxy、直接接続するDirectは、画面上の英語名で識別します。モードを切り替えてもサーバーは変更されず、サーバー情報の誤りも修正されません。

画面上の項目通信の処理方法使用する場面最初に確認する項目
Config現在の設定ファイル内のルールに従ってポリシーを選択します。宛先などの条件に応じて通信を振り分ける場合。使用中の設定、ルールの順序、ポリシーの参照先、FINAL。
Proxy選択したプロキシ経由で、処理対象の通信を送ります。選択したサーバーのプロキシ接続を一時的に確認する場合や、すべての通信にプロキシを使う場合。選択中のサーバーとプロトコル設定が正しいか。
Direct処理対象の通信を直接接続します。現在のネットワークで直接接続できるか確認する場合や、直接接続が必要な場合。現在のネットワークとDNSが利用可能か。

通常利用と一時的なトラブル調査を分ける

振り分け設定を用意している場合はConfigを使い、リクエストの記録でルールの動作を確認します。ルールが原因と思われる場合は、元のモードを記録したうえで、同じ対象にProxyまたはDirectを使って比較してください。テスト後は元のモードに戻し、一時的な状態を通常の設定として残さないようにします。特定のモードで対象にアクセスできても、DNS、サーバー、ルールのどれが原因かを単独で特定したことにはなりません。

Directに切り替えても、システムのVPN設定が無効になるわけではありません。接続が完全に停止しているか確認するには、Homeの接続スイッチとシステムのVPN状態を両方確認してください。通信経路を確実に把握する必要がある場合は、ステータスバーのアイコンだけで判断しないでください。

Config / Rule

ルールの種類と処理ポリシー

通常、ルールは照合タイプ、照合対象、処理ポリシーで構成されます。ルールの種類は「どの条件でリクエストを識別するか」、ポリシーは「一致した後にどう処理するか」を示します。Configで使用中の設定ファイルのルールを確認し、まず具体的な条件、次に広い条件とFINALを確認してください。ルールは通常、上から順に照合されます。項目が存在するかだけでなく、実際に適用される順序かどうかも確認してください。

宛先に応じて照合条件を選ぶ

DOMAINはドメイン名の完全一致、DOMAIN-SUFFIXはドメイン名のサフィックス一致に使います。DOMAIN-KEYWORDはドメイン名に含まれるキーワードで照合するため、想定より広い範囲に一致することがあります。サフィックスルールにはドメイン名だけを指定し、Webページのパスは付けません。特定のドメインだけ例外にする場合は、対象を広く含むルールより前に、通常はより具体的な条件を置きます。

IP-CIDRとIP-CIDR6はアドレス範囲で照合し、GEOIPはIPアドレスの所在地データを参照します。ドメイン名のルールとIPアドレスのルールでは、照合対象が異なります。ドメイン名の名前解決結果や、IPv4・IPv6の経路も確認結果に影響する場合があります。USER-AGENTはリクエストから識別できる情報に基づくため、すべてのアプリに適用できるアプリ単位のセレクターではありません。

ポリシー名とFINAL

DIRECTは直接接続、PROXYはプロキシ経由の処理、REJECTは一致したリクエストの拒否を表します。独自のポリシー名を使う場合は、定義が存在することと、名前のつづりが一致していることを確認してください。FINALは、それ以前のルールに一致しなかったリクエストを処理します。個別に指定されていない多くの宛先の経路を決めるため、変更時は意図する動作を明確にしてください。

[Rule]
DOMAIN,example.com,DIRECT
DOMAIN-SUFFIX,example.org,PROXY
FINAL,DIRECT

上の例は、具体的な条件から最終処理へ進む順序を示しています。ルールを置き換える前に元の設定を保存してください。設定の詳しい範囲は設定リファレンス →をご覧ください。

Home / Add Server / Subscribe

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

Homeでは、登録済みサーバーの確認、選択、管理を行います。サーバー情報はAdd Serverからプロトコルを選んで登録できます。既存のサブスクリプションリンクはSubscribeから、既存のQRコードはScan QR Codeから読み込めます。どの方法を使うかは、手元の情報の形式で決まります。読み込む方法によってサーバー側の機能が変わるわけではありません。読み込み前に情報がご自身の利用するサービスから提供されたものかを確認し、照合用に元の情報を保管してください。

読み込み後は、接続前に内容を確認

  1. サーバー一覧に想定した項目が表示されていることを確認します。一覧が空の場合は、ルールを変更する前にサブスクリプションの取得と解析を確認してください。
  2. 項目を開き、プロトコル、アドレス、ポート、認証情報を確認します。TLSや通信方式の設定は手元の情報に合わせ、名称から推測しないでください。
  3. 使用する項目を選び、Connectivity Testを実行してから、実際のリクエストでも確認します。テスト方式によって結果の意味は異なります。
  4. Global Routingと使用中のConfigを確認してから、接続を開始します。これらをすべて把握しておくと、通信経路を判断しやすくなります。

サブスクリプションを更新すると、リモートの項目が再取得されます。名称の変更、項目の増減、選択中の項目がなくなる場合があります。更新後は「更新完了」の表示だけで済ませず、選択中のサーバーを確認してください。手動で保持したい特別な設定がある場合は、更新前に記録し、更新によって該当項目が再作成されるか確認します。

サーバー名は識別用のラベルであり、接続品質を示すものではありません。用途を区別しやすい名前を付けられますが、認証情報は名前に含めないでください。サブスクリプションリンク、QRコード、エクスポートデータには認証情報が含まれる場合があります。問題の確認に使う資料には必要な項目だけを残してください。読み込み手順の詳細はチュートリアルをご覧ください。

Settings / On Demand

On Demandによる自動接続

On Demandは、保存した条件を満たしたときにシステムがVPN接続を開始する機能です。「いつ接続するか」を扱う機能であり、「接続後にどう経路を選ぶか」を決めるGlobal Routingとは役割が異なります。SettingsでOn Demand関連の項目を開き、現在の条件を確認してから有効にするか判断してください。設定項目やシステムの動作は、端末の現在の画面で確認してください。

手動接続を確認してから自動接続の条件を有効にする

まず自動接続の条件を無効にし、サーバーを手動で選んでWebリクエストを確認します。サーバー、DNS、ルールが正しく動作することを確認したら、必要なOn Demandの条件を有効にしてください。設定を一つ変更するたびに、該当するネットワーク環境でテストします。接続条件とルールを同時に変更すると、原因の切り分けが難しくなるため避けてください。

手動で切断した後に再接続する場合は、まず自動接続の設定を確認します。ネットワークを切り替えてもすぐに接続が戻らない場合は、条件、システムのVPN状態、現在のネットワークを確認してください。システムのスケジュール、ネットワークの利用可否、サーバーの応答によって実際の動作は変わります。On Demandは常時接続を保証しません。切断状態を保ちたい場合は、接続を開始する条件が残っていないかを確認してから、システムの状態を確認してください。

Data

通信量の統計と接続記録

Dataでは、アプリに記録された通信量や接続状況を確認できます。問題を調べるときは、表示されている統計の対象範囲、期間、リセットの有無を確認してから、送受信量や接続記録を見ます。接続時に通信量が増えても、データ交換が発生したことを示すだけです。ハンドシェイク、名前解決、失敗後の再試行でも通信量が発生するため、カウントの増加だけでサービスへのアクセス成功とは判断できません。

再現可能なリクエストを記録と照合する

開始前に、選択中のサーバー、Global Routing、テスト対象を記録します。対象のページを一度開いた後、Dataに戻って新しい記録を確認し、表示された宛先、ポリシー、時刻から想定した経路か判断します。処理の詳細を確認する必要があれば、必要な範囲でLogを参照してください。テスト中はほかのアプリのバックグラウンド通信を減らし、別々のリクエストを混同しないようにします。

Dataの統計をサーバー側の請求情報や端末のモバイルデータ通信量と同じものとして扱わないでください。集計範囲、プロトコルの追加データ、再接続、時間帯の違いによって数値に差が出ます。比較する場合は対象期間をそろえ、リセット前のデータを保存してください。記録にはアクセス先やアドレスが含まれる場合があります。スクリーンショットやエクスポートの前にプライバシー情報を確認してください。

Settings

よく使う設定項目の確認と調整

以下では設定の用途と確認方法を説明します。すべての端末に共通する設定値を指定するものではありません。設定ファイルにも関連項目が含まれる場合があるため、変更前に現在の設定とSettingsで実際に適用されている内容を確認してください。

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

DNSはドメイン名をIPアドレスに変換します。SettingsのDNS関連項目と現在のConfigで設定を確認し、まず現在の値を記録してから、変更する目的を明確にしてください。ドメイン名を解決できない場合と、アドレスを取得した後に接続できない場合は、別の問題です。診断記録で切り分けてから、該当する設定を調整します。複数のDNS設定を一度に変更し、Webページが開くかどうかだけで原因を判断するのは避けてください。

DNSのリクエストにも、利用可能なネットワーク経路が必要です。設定した名前解決方法が現在のプロキシに依存し、そのプロキシが未接続の場合、相互に依存する問題が起きることがあります。確認時はサーバーへの到達性、ルール、IPv4とIPv6の結果をあわせて確認してください。名前解決では問い合わせ情報が処理されるため、テスト時間だけで比較せず、通信経路を理解したうえで設定を選びます。

Test Method:テスト方式と結果の見方

Test Methodは接続テストの方式を設定します。Settingsで項目を確認し、Homeに戻ってConnectivity Testを実行してください。複数の項目を比較するときは、テスト方式、対象、ネットワーク環境をそろえます。テストがタイムアウトしても、サーバーが完全に利用できないとは限りません。テスト対象や方式が適切でない場合もあります。同様に、テストに成功してもすべてのリクエストが完了するとは限りません。

一度のテスト結果だけを見て、すべてのサーバーの順序を変更しないでください。テストを繰り返し、実際の対象へのリクエストで確認してから、ログをあわせて判断します。テスト関連の設定を変更した場合は変更前の状態を記録し、異なる条件での結果を混ぜて比較しないようにしてください。

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

Today Widgetは、システムのウィジェットに関連する設定項目です。対応する情報の表示や操作を設定できます。まずSettingsで利用可能な項目を確認し、端末のシステムが提供する方法でウィジェットを追加してください。表示内容、追加方法、更新のタイミングは実際の画面で確認します。ウィジェットの表示を、継続的なリアルタイム監視と捉えないでください。

ショートカットから操作した後も、重要なテストではHomeに戻り、接続スイッチ、現在のサーバー、Global Routingを確認してください。ウィジェットがすぐ更新されない場合は、アプリを開いて実際の状態を確認します。古い表示だけを見て、接続の切り替えを繰り返さないでください。

iCloud:同期対象と上書きの確認

iCloud関連の設定は、アプリが対応する同期機能に使われます。Settingsで同期可能な項目を確認し、システム側でiCloudの使用が許可されていることを確認してください。有効にする前に重要な設定を保存し、端末を変更した後は、編集する前に同期結果を確認します。すべての種類のデータが同期されるとは限りません。iCloudを有効にしただけで、すべての接続情報が復元されるわけではありません。

複数の端末で同時に変更する場合は、各端末に表示されている内容を確認してから、どのデータを残すか決めてください。同期には時間がかかることがあります。アカウントの切り替えや機能の無効化の前に、端末内のデータを確認します。iCloudの同期とApp Storeの購入履歴は別のものです。購入を復元しても、サーバー情報や設定が同期済みであることの証明にはなりません。

DiagnosticsとLog:問題の記録を集める

Diagnosticsは接続の問題を詳しく調べる機能、Logはリクエストの処理過程を確認する機能です。Settingsの該当項目を開き、利用可能な機能を実行してください。記録を集める前に、失敗した対象、発生条件、現在のモードを書き留めてから問題を一度再現し、そのリクエストに関係する記録を優先して保存します。長時間記録を続けてから原因を推測するより、問題を特定しやすくなります。

ログにはドメイン名、アドレス、サブスクリプション情報など、接続に関する詳細が含まれることがあります。共有する前に機密情報を削除またはマスキングし、問題の説明に必要な時刻、エラー、ポリシーの情報だけを残してください。詳細な記録を取った後は、普段の利用に適した記録設定に戻します。情報が不十分な状態で、単一のエラーからすべての接続が機能していないと判断しないでください。

確認手順

一度に変更する条件は一つだけ

設定項目が多い場合、いくつも同時に試すより、決まった順に確認するほうが元に戻しやすくなります。まず現在のネットワークが使えるかを確認し、次にサーバー情報と選択中の項目、Global Routing、使用中のConfig、DNS、最後にOn Demandとショートカットによる状態変化を確認してください。各手順の変更前の値を記録し、一時的な調整はテスト後に元に戻します。

  1. Home:選択中のサーバーと接続スイッチを確認します。サブスクリプションの更新成功、テストの成功、実際のリクエストの成功を区別してください。
  2. Global Routing:現在のモードがConfig、Proxy、Directのどれかを確認します。モードを比較するときは、必ず同じ対象を使ってください。
  3. Config:適用中のファイル、適用されたルール、ポリシーの参照先、FINALを確認します。対象ドメインが設定にあるかどうかだけでは不十分です。
  4. Settings:問題に応じてDNS、Test Method、On Demandを確認します。統計の表示項目を通信経路の切り替え設定と混同しないでください。
  5. Data / Diagnostics:再現可能なリクエストを使って記録を照合し、必要な情報を保存したら通常の状態に戻します。