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

Shadowrocket
機能と設定

まずGlobal Routingを確認し、次にルールとサーバーを確認します。
画面上の場所、操作方法、影響範囲を順に見ながら設定してください。

  • 場所Home → Global Routing
  • 設定Config → Rule
  • 確認Data / Settings

このページでは、主にiPhoneとiPadでの操作を説明します。デバイスやアプリのバージョンによって、設定項目の場所や画面構成が異なる場合があります。設定名や選択肢はアプリ内の表示を確認してください。システム要件はApp Storeの記載をご確認ください。初めて使う場合は、まず手元にあるサーバー情報を読み込み、接続を許可してから各項目を設定します。

アプリの買い切りと接続サービスの契約は別です。Shadowrocketは有料のクローズドソースアプリで、入手先はApp Storeのみです。ここでは、ご自身のサブスクリプションまたはサーバー情報をすでにお持ちであることを前提に説明します。サブスクリプションURLはご利用のサービス提供元から入手してください。当サイトではサーバーやサブスクリプションの提供、販売、推奨は行っていません。

01 / ROUTING

Global Routing:Config・Proxy・Direct

Global Routingでは、リクエスト全体の処理方法を選択します。HomeでGlobal Routingを開き、Config、Proxy、Directから選択してください。この設定はサーバーのプロトコルや接続のオン・オフを切り替えるものではありません。サーバーのパラメータは接続方法を決め、Global Routingは通信をどのように処理するかを決めます。

モード処理方法使用例確認する項目
Config(設定)有効な設定ファイル内のルールとポリシーに従ってリクエストを処理します。ドメインやアドレスなどの条件に応じて、通常の通信を振り分ける場合。現在の設定ファイル、ルールの順序、マッチするポリシー、FINAL。
Proxy(プロキシ)クライアントが処理するリクエストをプロキシ経由で処理します。実際の動作は関連する除外設定にも左右されます。選択中のサーバーで対象のリクエストを処理できるか、短時間で確認する場合。選択中のサーバー、プロトコルのパラメータ、プロキシ関連の設定。
Direct(直接接続)クライアントが処理するリクエストを直接接続で処理します。現在のネットワークで直接接続した場合の動作と比較し、問題の範囲を絞り込む場合。ローカルネットワーク、名前解決の結果、接続先サービスの状態。

普段使いでは、まずConfigを確認

信頼できる設定ファイルがある場合は、まずConfigで使用中のファイルを確認し、Homeに戻ってGlobal Routing → Configを選択します。ファイルを一覧に読み込んだだけでは、そのファイルが有効になったとは限りません。ルールのPROXYが常に同じサーバーを指すとも限りません。ポリシーグループを使っている場合は、グループ内の選択も確認してください。

ProxyとDirectを比較して確認

特定のWebサイトが開かない場合は、ほかの条件を変えずにProxyとDirectで結果を比較します。Proxyでは開けるのにConfigでは開けない場合は、そのリクエストに誤ったポリシーが適用されていないか、ルールを確認してください。どちらでも失敗する場合は、DNS、現在のネットワーク、接続先サービスを確認します。テスト後は元のモードに戻し、一時的な確認用設定を常用しないようにしてください。どのモードを選んでも、すべてのシステム通信が必ず同じ経路を通るとは限りません。実際の接続記録も確認してください。

02 / RULE

ルールによる振り分け:マッチ条件と処理ポリシー

ルールは、Configでリクエストの処理方法を定める条件の一覧です。Global Routing → Configを使用している場合、通常は上から順にルールを照合し、マッチしたルールのポリシーが適用されます。そのため、ルールの内容だけでなく順序も重要です。Configで有効な設定のルールを確認するか、設定テキストの[Rule]セクションで個々の項目を確認してください。編集前に元のファイルを保存しておきましょう。

キーワードマッチ対象使用上の注意
DOMAIN完全一致するドメイン。特定のホスト名を個別に指定する場合に使います。
DOMAIN-SUFFIXドメインとそのサブドメイン。サブドメインを一つずつ列挙するより、同じドメイン配下をまとめて扱うのに適しています。
DOMAIN-KEYWORDドメインに含まれるキーワード。広い範囲にマッチする場合があります。短すぎる語や意味が曖昧な語は避けてください。
IP-CIDR / IP-CIDR6IPv4 / IPv6のアドレス範囲。ドメインの名前解決結果や解決のタイミングが、IPアドレス系ルールの判定に影響します。
GEOIPアドレスデータベース上の地域情報。データベース上の地域情報は、サービスのコンテンツ提供地域を示すものではありません。エッジのアドレスは変わることがあります。
USER-AGENT取得可能なUser-Agent情報。通信の種類や取得できる情報に依存するため、アプリを汎用的に識別する方法にはなりません。
FINAL前のルールにマッチしなかったリクエスト。通常はルール一覧の末尾に置き、最終的な処理を受け持ちます。

PROXY、DIRECT、REJECTの意味

PROXYはプロキシポリシー、DIRECTは直接接続、REJECTはリクエストの拒否を表します。いずれも処理方法を示すもので、ドメインやサーバーのプロトコルではありません。以下の例は順序と記述方法を説明するためのもので、例示したドメインは実際のサービス接続先ではありません。コピーする前に、各行の対象と範囲を確認してください。

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

対象を限定した例外ルールは、範囲の広いルールより前に置くのが適切です。ドメインが前のDOMAIN-SUFFIXにマッチすると、後ろのDOMAINルールは適用されない場合があります。変更後は実際のリクエスト記録を確認し、どのルールにマッチしたかを確かめてください。Webサイトが開くかどうかだけで、設定全体が正しいと判断しないでください。リモート設定の更新でローカルの変更が上書きされることもあります。継続して管理する場合は、自分で追加したルールとリモートファイルの範囲を分けて把握しましょう。

03 / SERVER

SubscribeとAdd Server:サブスクリプションとサーバーの管理

サーバー項目には接続に必要なパラメータを保存し、サブスクリプションでは複数の項目をまとめて取得・更新します。どちらもConfigのルールファイルとは別のものです。Homeのサーバー一覧から接続先を選択できます。Add Serverから個別のサーバーを追加するか、アプリ内のSubscribeから既存のサブスクリプションを読み込みます。画面構成によって入口の場所が異なる場合があるため、実際に表示される項目名を確認してください。

サブスクリプションURLと個別の接続情報を区別する

ご利用のサービス提供元からサブスクリプションURLを入手し、SubscribeまたはURL入力欄に完全なURLを貼り付けて保存し、更新を実行します。その後、想定したサーバー項目が追加されたことを確認してください。個別のサーバーパラメータがある場合は、Add Serverで該当するTypeを選び、アドレス、ポート、認証情報を入力します。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardでは必要な項目が異なります。プロトコル名だけを変更し、前のプロトコルのパラメータをそのまま使うことはできません。

TLS、SNI、トランスポート方式などの項目は、サーバー側の要件に合わせてください。WireGuardのAddress、Endpoint、鍵の各項目にも、それぞれ異なる役割があります。根拠のない項目は推測で入力せず、既存の値を維持してください。詳しい読み込み手順は初回接続ガイド、WireGuardの各項目の意味はWireGuardのパラメータ解説をご覧ください。

更新しても、すべての設定が置き換わるわけではありません

サブスクリプションの更新は通常、管理対象のサーバー一覧を更新するためのものです。現在のConfigを更新したり、Global Routingを切り替えたり、最適なサーバーを自動選択したりするとは限りません。更新後は項目名、選択中のサーバー、テスト結果を確認してください。サブスクリプション管理下の項目は、次回の更新時に再生成される場合があります。手動で変更する前にバックアップを取りましょう。サブスクリプションを削除する際も、その配下のサーバー情報が不要かどうかを確認してください。

04 / ON DEMAND

On Demand:ネットワーク条件に応じて接続

On Demandは、設定したネットワーク条件に応じてVPN接続を開始する機能です。「いつ接続を試みるか」を決めるもので、「リクエストにどのポリシーを適用するか」を決めるものではありません。アプリのOn Demand画面で条件と動作を確認してください。通信の振り分けは引き続きGlobal Routingと現在の設定ファイルで制御されます。

設定する前に、手動接続が正常に動作することを確認してください。その後、条件を一つずつ追加します。たとえばWi-Fi環境に応じて動作を変える場合は、条件に指定したネットワーク名、マッチ範囲、対応する動作を確認し、条件に一致するネットワークと一致しないネットワークの両方でテストしてください。条件名が正しく見えても、現在のネットワークが実際に条件を満たすとは限りません。最初から似た条件を複数重ねないようにしましょう。

有効にすると、条件を満たした際にシステムが接続を再試行することがあります。そのため、手動で切断しても再接続される場合があります。完全に停止した状態をテストするには、まずOn Demandが有効のままになっていないか確認し、次にシステムのVPN状態を確認してください。ネットワークの切り替え、システムの動作スケジュール、デバイスの権限によって、接続が開始されるタイミングは変わります。ネットワークを切り替えるたびに、すぐ接続が完了するとは限りません。デバイスにほかのVPN設定がある場合は、現在どの設定が使われているかも確認してください。

05 / DATA

Data:通信量の統計とリクエストの手がかり

Dataでは、アプリが記録した通信量を確認し、トラブル対処の手がかりを得られます。Dataを開いたら、まず統計の対象、期間、単位を確認してから、アップロードとダウンロードの変化を比較してください。画面によって接続中の通信量など異なる範囲のデータが表示されるため、数値をそのまま請求量や特定アプリの総通信量とみなすことはできません。

特定のリクエストを確認するには、まずDataのカウンターを記録し、対象の操作だけを一度実行してから、数値の変化を確認します。数値が変わらない場合は、接続のオン・オフ、Global Routing、リクエストがクライアントの処理対象に含まれているかを確認してください。数値が増えても読み込みに失敗する場合、サーバー側が正常とは限りません。名前解決、接続、応答の各段階を確認する必要があります。

クライアントのカウンターには接続時のオーバーヘッドが含まれる場合があり、サービス提供元がアカウント、期間、課金方向ごとに集計する方法とも異なることがあります。そのため、Dataの数値はサービス提供元の利用量記録の代わりにはなりません。カウンターを消去またはリセットする前に確認メッセージを読み、トラブル対処に必要なデータを残しておきましょう。通信量とリクエストの成功率は別の指標です。数値が増えたからといって、ページ全体が読み込まれたとは限りません。

06 / SETTINGS

Settingsの主な項目:DNS、テスト、同期

Settingsの項目はそれぞれ異なる範囲に影響し、現在のConfigと合わせて最終的な動作を決めるものもあります。ここでは用途ごとに説明し、特定の値をすべてのネットワークに共通する推奨値として示すことはしません。初期値、選択肢、設定画面の場所はアプリ内の表示を確認してください。変更前に元の値を記録し、一度に変更する要素は一つに絞りましょう。

DNS:まず名前解決の経路を確認

DNSはドメイン名をアドレスに変換します。名前解決に失敗すると、接続がタイムアウトしたり、アドレス系ルールが想定どおりに判定されなかったりすることがあります。SettingsでDNS関連の項目を確認し、現在のConfigにDNS設定が含まれているかも確認してください。Settingsの一項目を変更すれば、設定ファイル内のすべての動作が必ず上書きされると考えないでください。

設定を変更する前に、名前解決のタイムアウトを解消したいのか、取得されるアドレスを確認したいのか、DNSリクエストの経路を変えたいのか、目的を明確にします。サービス提供元から指定がある場合は、その指示に従ってください。指定がなければ、まず現在動作している設定を維持し、一項目ずつテストします。暗号化DNSが変えるのは名前解決リクエストの通信方式であり、すべてのアプリ通信の経路が自動的に変わるわけではありません。Webサイトに問題が起きた場合は、「ドメインを名前解決できない」のか「アドレスは取得できたが接続に失敗する」のかを切り分け、DNSを何度も変更して原因を見えにくくしないようにしましょう。

Test Method:同じ条件でテスト結果を比較

Test Methodでは接続テストの方法を選択します。Settingsで設定を確認してから、HomeのConnectivity Testで登録済みのサーバーをテストしてください。方法によって確認する段階は異なります。トランスポート層の接続性を中心に見る方法もあれば、テスト先からの応答にも依存する方法もあります。具体的な方法やテスト先は、現在のバージョンで選択できる項目を確認してください。

サーバーを比較するときは、テスト方法、テスト先、ローカルネットワークを同じ条件にします。遅延の数値が小さくても、スループットが高いとは限らず、長時間接続の安定性も保証されません。タイムアウトはテスト先が一時的に応答できない場合にも発生します。まず少数の項目をテストし、実際に使うサービスでも確認してください。一度の結果を恒久的な順位とみなさないようにしましょう。

Today Widget:ショートカットだけで判断せず、メイン画面も確認

Today Widgetでは、システムが許可する範囲で情報の表示や操作をすばやく行えます。まずSettingsで関連する設定を確認し、システムのウィジェット編集画面から利用可能なコンポーネントを追加してください。ウィジェットの形式や操作内容は、システムのバージョンとアプリの対応状況によって異なります。ほかのデバイスの画面構成をそのまま参考にしないでください。

ウィジェットから操作した後は、Homeに戻って現在のサーバー、接続状態、Global Routingを確認してください。表示は更新のタイミングに左右されることがあります。すぐに表示が変わらない場合は、スイッチを何度も操作するのではなく、メイン画面とシステムのVPN状態を確認します。自動接続を一時停止する場合は、On Demandもあわせて確認してください。

iCloud同期:同期前にローカルのコピーを保存

iCloud同期では、対応デバイス間でアプリが同期を許可しているデータを共有できます。対象のApple Accountでデバイスにサインインしていること、アプリにiCloudの使用を許可していることを確認し、Settingsで同期関連の項目を確認してください。同期されるデータやタイミングはアプリ内の説明に従います。サーバー、設定、統計、すべてのスイッチが完全に複製されるとは限りません。

初めて同期を有効にする前やデバイスを変更する前に、残しておきたい設定をバックアップしてください。2台のデバイスでそれぞれ変更を加えた場合は、同時に何度も保存せず、どちらの内容を使うか決めてから、もう一方のデバイスの状態を確認します。同期が完了しても接続が確立したとは限りません。新しいデバイスでは、現在の設定、サーバーの選択、システムのVPN許可を確認してください。購入履歴と設定データは別のものです。購入済みアプリを復元しても、ローカル設定がすべて戻るとは限りません。

Diagnostics:問題が起きた段階ごとに手がかりを集める

Diagnosticsは、名前解決、接続、リクエスト処理などの確認を支援します。SettingsでDiagnosticsまたは該当する診断画面を開き、まず確認対象を決めてから、問題に関連する項目を実行してください。項目名は現在の画面で確認します。診断ツールで成功しても、確認対象となった段階が正常だったことを示すだけで、すべてのリクエストの成功を保証するものではありません。

問題が起きたときのネットワークの種類、Global Routing、選択中のサーバー、エラーメッセージを記録し、確認できるLog情報とあわせて失敗した段階を調べます。詳細な記録が必要な場合は、一時的に有効にして問題を一度再現し、終わったら普段使いに適した記録レベルに戻してください。ログにはドメイン、アドレス、接続パラメータが含まれることがあります。共有する前に機密情報を伏せ、設定全体をスクリーンショットで送らないようにしてください。

07 / CHECK

設定変更後の確認手順

一度のトラブル対処でルール、サーバー、DNS、テスト方法を同時に変更すると、結果を比較できなくなります。以下の順に確認し、各手順の結果を記録してください。新しい設定で改善しない場合は、元の値に戻してから次の項目に進みます。

  1. 接続の基本を確認。Homeの接続状態とシステムのVPN許可を確認し、選択中のサーバーが既存のサブスクリプションまたは自分で設定した有効な項目であることを確かめます。
  2. Global Routingを確認。Config、Proxy、Directを短時間比較し、ルールの問題か接続経路の問題かを切り分けます。テスト後は元のモードに戻してください。
  3. 現在のConfigを確認。有効なファイル、ルールの順序、ポリシーグループの選択、FINALを確認し、使用していないファイルを編集していないか確かめます。
  4. 名前解決とテスト条件を確認。DNSの結果を確認し、Test Methodとテスト先を同じ条件にしてから、Connectivity Testと実際のリクエストを比較します。
  5. 自動接続と同期を確認。On Demandによって接続が再試行されていないか、iCloud経由で別のデバイスの変更が反映されていないかを確認し、DataとDiagnosticsで再確認します。

各設定項目の影響範囲を詳しく確認するには、Settingsの設定項目ガイドをご覧ください。特定のサーバーに接続できない場合は、接続タイムアウトの確認手順に沿ってプロトコルのパラメータとシステム時刻を確認します。設定全体を何度も入れ替えるより、再現できる手順を保つほうが原因を特定しやすくなります。