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

Shadowrocketの機能 と主な設定ガイド

まずHomeでサーバーとGlobal Routingを確認し、次にConfigでルールを確認します。このページでは各機能について、概要、設定場所、設定方法、注意点を説明します。サブスクリプションまたはサーバー情報をお持ちの方向けです。

  • Home / 接続とサーバー
  • Config / 設定ファイル
  • Data / 通信量の記録
  • Settings / 主な設定
01 / Home

Global Routingの3つのモード

Config、Proxy、Directは、それぞれ設定、プロキシ、直接接続に対応します。接続の処理方法を決めるもので、サーバーのプロトコルとは異なります。

Global Routingは、全体のルーティングモードを選ぶ項目です。通常はHomeで切り替えます。Configは現在有効な設定ファイルのルールを適用します。Proxyは、アプリが処理する接続を選択中のサーバーに送ります。Directは、アプリが処理する接続を宛先へ直接つなぎます。システムに保持された通信や除外項目、既存の接続には別の処理が適用される場合があります。モード名だけで、端末上のすべての接続の動作を判断しないでください。

宛先ごとに処理を分ける場合はConfigを選びます。特定の宛先でルールの振り分けに問題があるか確認するときは、一時的にProxyに切り替えて比較できます。ローカルネットワークから宛先へ直接アクセスできるか調べる場合は、Directで確認します。切り替え後は、宛先を開き直すかリクエストを再送信してください。既存の接続結果を新しいモードの動作と混同しないようにします。

画面上のモード 主な処理方法 利用場面 設定前の確認項目
Config / 設定 現在の設定ファイルにあるルールに従ってポリシーを選択 通常のルール振り分け。ドメインやアドレス範囲ごとに処理 有効なファイル、ルールの順序、FINAL
Proxy / プロキシ アプリが処理する接続に選択中のサーバーを使用 Configと比較してルール関連の問題を切り分ける サーバーの設定値、稼働状況、実際のアクセス結果
Direct / 直接接続 アプリが処理する接続を宛先へ直接接続 ローカルネットワークと宛先への到達性を確認 現在のネットワーク、宛先アドレス、ローカルDNS環境
02 / Config

ルールによる振り分けとマッチ順

まずマッチ対象を確認し、次にポリシーを確認します。上から順に評価され、最初に一致したルールが適用されます。

ルールによる振り分けでは、接続をサーバー経由にするか、直接接続するか、拒否するかを決めます。Configを開き、最初に現在有効な設定ファイルを確認してから、ルールを表示または編集してください。ファイルを読み込んだり保存したりしただけでは、有効になったことにはなりません。有効でないファイルを編集しても、Homeでの接続動作は変わりません。

一般的なルールは、タイプ、マッチ対象、ポリシーで構成されます。DOMAINは完全一致のドメイン、DOMAIN-SUFFIXは指定したドメインとそのサブドメイン、DOMAIN-KEYWORDはドメインに含まれるキーワードにマッチします。細かく制御する場合は、対象範囲が明確なドメインルールを優先し、関係のない宛先まで一致するような広いキーワード指定は避けてください。

IP-CIDRとIP-CIDR6は、それぞれ対応するアドレス範囲にマッチします。GEOIPはIPアドレスの位置情報データベースに基づいて判定するもので、Webサイトの内容やユーザーの所在地を識別する機能ではありません。ドメインを先に解決するか、どの解決結果を使うかによって、アドレス系ルールのマッチ結果が変わる場合もあります。トラブル時はルールとDNS設定をあわせて確認してください。

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

以下は構文の説明用であり、あらゆるネットワークで使える完全な設定ではありません。例示したドメインは、接続サービスを示すものではありません。

PROXY

一致した接続をプロキシポリシーで処理します。参照先のサーバーまたはポリシーが有効かどうかも確認してください。ルールを設定しても、利用可能なサーバーが自動で作成されるわけではありません。

DIRECT

一致した接続を宛先へ直接接続します。ローカルネットワークからアクセスする必要があるアドレスに適していますが、結果はネットワークや接続先のサービスにも左右されます。

REJECT

一致した接続を拒否します。適用前にマッチ範囲を確認してください。ページのリソースやログイン用APIに誤って一致すると、ページが表示されなかったり操作に失敗したりする場合があります。

ルールを調整するときは、対象範囲の狭い例外を広いルールより前に置き、FINALは最後のフォールバックとして残します。先行するルールに一致すると、後続のルールは評価されません。一度に変更するルールは1組に絞り、対象、想定するポリシー、実際の結果を記録してください。サーバー、DNS、ルールを同時に変更すると、どの変更が影響したのか特定しにくくなります。

USER-AGENTなど、リクエスト情報に依存するルールでは、現在の接続がマッチに必要な情報を備えているかも確認してください。すべての通信から該当フィールドを取得できるとは限りません。ルールの優先順位とフォールバックについて詳しくは、カスタムルールの優先順位とFINALをご覧ください。

03 / Home · Add Server

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

サーバー項目には接続パラメータを保存します。サブスクリプションは複数の項目を管理し、設定ファイルはルールなどの設定を管理します。それぞれ役割が異なり、相互に置き換えることはできません。

登録済みのサーバー情報を追加する

HomeでAdd Serverを選び、サーバー項目を追加します。提供された情報に合わせてTypeを選び、アドレス、ポート、認証情報、通信方式に関する項目を入力してください。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardなどのプロトコルでは必要な項目が異なります。アドレスとポートが同じだからといって、別のTypeに同じパラメータを使わないでください。

Scan QR Codeで読み込む場合は、情報の入手元と読み取り後の項目を確認してください。QRコードはパラメータを渡す手段であり、記載内容が検証済みであることを保証しません。保存後、Homeで目的の項目を選び、Connectivity Testを実行してから実際にアクセスしてください。テストに失敗した場合は、入力漏れ、認証情報、サービスの有効性を先に確認し、すぐにルールが原因だと決めつけないでください。

登録済みのサブスクリプションを追加・更新する

サブスクリプションURLをお持ちの場合は、追加画面でSubscribeを選び、URL全体を貼り付けて保存します。サブスクリプションには機密性の高い認証情報が含まれることがあるため、スクリーンショットや公開文書、チャットに載せないようにしてください。コピー時に前後の空白や改行が入ったり、クエリパラメータが欠けたりすると、解析に失敗したりリストが空になったりする場合があります。見た目が似ていても、サブスクリプションURLと通常のWebページURLは置き換えて使えません。

サービス提供元がリストを更新したら、該当するサブスクリプションの更新操作で新しい項目を取得します。リストが更新されても、現在のConfigが置き換わるわけではなく、更新前に選択していた項目が残るとも限りません。更新後はグループ、選択中のサーバー、実際の接続を確認してください。サブスクリプションから作成された項目への手動変更は、次回の更新で上書きされる場合があります。重要なパラメータは、ご自身で安全な方法を使って保存してください。

削除する前に項目の入手元を確認する

リストを整理する前に、手動で追加した項目とサブスクリプションの項目を区別します。サブスクリプショングループを削除すると、複数のサーバー項目に影響する場合があります。また、表示名だけを変更しても接続パラメータは変わらないことがあります。サブスクリプションを入れ替える場合は、新しいリストが使えることを確認してから古い項目を整理してください。復元方法を確認せずに、すべての項目を一度に削除しないでください。解析の問題については、サブスクリプションの解析に失敗する場合の確認リストをご覧ください。

04 / Settings · On Demand

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

条件に応じて接続を開始します。選択中のサーバーが目的に適しているかを判断する機能ではありません。

On Demandは、設定したネットワーク条件に応じてシステムがVPN接続を開始する機能です。SettingsでOn Demand関連の設定を開き、画面に表示される項目に沿って条件を設定します。Homeの手動接続スイッチとは役割が異なります。手動スイッチは現在の接続を制御しますが、On Demandは条件が再び満たされると接続を開始する場合があります。

設定する前に、手動接続が安定して行えることを確認し、選択中のサーバーとGlobal Routingが意図どおりか確認してください。その後、条件を1つずつ設定し、条件を満たしたとき、満たさなくなったとき、画面ロックから復帰したとき、ネットワークを切り替えたときの動作を確認します。複数の条件を一度に設定すると、一方が他方に影響し、「切断したのに再接続した」と誤解しやすくなります。

端末が再接続する場合は、On Demandが有効のままか確認し、次にシステムのVPN設定や関連する自動化条件を確認してください。一時的に自動接続を止めるには、Homeのスイッチを何度も切り替えるのではなく、接続を開始する条件を見直します。条件が実行されるタイミングはシステム環境によって異なる場合があります。保存後はネットワークを実際に切り替えて動作を確認してください。

05 / Data

Dataの通信量統計と記録

アプリが記録した通信状況を確認する機能です。サービス提供元の請求額と同じとは限りません。

Dataでは、アプリが提供する通信量の統計や関連記録を確認できます。まず画面に表示されている統計の対象範囲と期間を確認してから、アップロード、ダウンロード、合計の数値を読み取ってください。記録によって、現在の接続、特定の項目、一定期間など、対象範囲が異なる場合があります。異なる基準の数値をそのまま合算したり、1つの画面の数値を端末全体の通信量とみなしたりしないでください。

操作によって通信が発生したか確認するには、最初に表示値を記録し、対象を単独で開いて通信が終わるまで待ってからDataに戻り、変化を確認します。バックグラウンド同期、メディアの先読み、アプリ自体のリクエストも同時に通信を発生させる場合があります。短時間の増加は原因の絞り込みに役立ちますが、特定のドメインが指定したポリシーに一致した証拠にはなりません。

サービス提供元の計測には、期間の境界、プロトコルのオーバーヘッド、集計ルールが含まれる場合があります。Dataの表示と使用量が一致しない場合は、それぞれの集計基準を確認してください。統計を消去する前に、必要な記録を保存し、消去対象の範囲を確認します。端末上の記録をリセットしても、サービス提供元の使用量は変わりません。振り分けが正しいか確認するには、合計通信量だけでなく、対象リクエストの接続情報と現在のルールをあわせて確認してください。

06 / Settings

Settingsの主な項目

以下の項目名は英語表示を基準にしています。設定画面の階層や利用できる項目は、アプリの現在の表示を確認してください。設定によっては、現在の設定ファイルから提供される場合もあります。

DNS:ドメインの名前解決経路を確認

DNSはドメイン名を接続先のアドレスに変換します。SettingsのDNS関連設定を確認するときは、現在のConfigにDNSパラメータが含まれていないかも確認してください。画面の設定を1つ変更しただけで、実際の名前解決経路が変わったと判断しないでください。変更前の設定を記録し、入力するアドレスと形式が選択項目の要件に合っていること、DNSリクエストがどの経路で送信されるかを確認します。

ドメインにアクセスできない、アドレス系ルールが想定どおりに動かない、一部のリソースが不定期に読み込めない場合は、名前解決の結果を確認し、実際の接続先アドレスと照合してください。1つのドメインから複数のアドレスが返される場合や、キャッシュに以前の結果が残る場合があります。変更後はリクエストを再送信し、必要に応じてアプリに用意されている関連の消去操作を行ってください。DNSアドレスを変更した後に一度アクセスできたからといって、すべての接続問題が解決したと判断しないでください。

Test Method:Connectivity Testの仕組み

Test Methodは接続テストの方式を指定します。Settingsのテスト関連項目から確認してください。方式によって確認する範囲が異なり、テストに成功しても認証、Webサイトへのアクセス、通信全体が正常とは限りません。テスト方式と対象を確認してから、Homeで選択中のサーバーにConnectivity Testを実行します。

サーバー項目を比較するときは、方式、対象、ローカルネットワークをそろえ、できるだけ近い時間にテストします。項目によって結果が表示されない場合、テスト対象や方式が影響している可能性もあります。実際にアクセスする必要がある宛先でも確認してください。1回のテスト結果を長期的な安定性の判断に使ったり、数値を小さくするために無関係な設定を何度も変更したりしないでください。

Today Widget:状態確認と操作へのショートカット

Today Widget関連の設定では、対応するウィジェットの表示や操作内容を設定します。Settingsでアプリが提供する項目を確認してから、システムが対応するウィジェット画面で追加してください。表示の可否、追加方法、実行できる操作は、システムとアプリの対応状況によって異なります。特定のレイアウトがすべての端末で使えるとは限りません。

ウィジェットは状態をすばやく確認するのに便利ですが、表示の更新には時間がかかる場合があります。操作後はHomeに戻り、実際の接続状態と選択中のサーバーを確認してください。ウィジェットの表示だけで接続成功と判断しないでください。アプリ内の表示と異なる場合は、まずアプリで状態を確認し、その後システム側のウィジェット更新状況と利用条件を確認します。

iCloud:同期後に反映内容を確認

iCloud関連機能では、条件を満たす端末間でアプリが対応するデータを保存または同期できます。Settingsで関連項目を確認し、システムにサインインしているAppleアカウントとiCloudのアクセス許可も確認してください。有効にする前に、アプリが説明する同期対象を確認します。すべてのサーバー、設定ファイル、統計、システムのVPN状態が同期されるとは限りません。

複数の端末で使う場合は、まず重要なデータを別途保存し、同期が完了してから項目ごとに確認してください。設定ファイルが同期されても、それが現在のファイルとして選択されているか、対応するサーバーが有効かどうかは別途確認が必要です。同期は独立したバックアップではありません。削除や変更がほかの端末にも同期される場合があるため、接続情報も慎重に管理してください。

Diagnostics:1つの問題を再現して手掛かりを集める

Diagnosticsでは、アプリが提供する診断情報を確認したり、関連するチェックを実行したりできます。Settingsで該当項目を探し、問題が起きたときのネットワーク、Global Routing、選択中のサーバー、操作手順を記録してから再現します。診断項目ごとに確認できる内容は異なります。名前解決、接続の確立、その後のデータ転送のどれを調べるのか、先に明確にしてください。

診断結果を読むときは、宛先アドレスや失敗した段階を設定内容と照らし合わせてください。エラーメッセージを1つ見ただけで、複数の設定を続けて変更しないでください。診断情報を保存または共有する場合は、サブスクリプションURL、認証情報、個人のアクセス履歴などの機密情報を先に削除します。診断は問題の切り分けに役立つもので、サービス提供元側の状態を自動修正する機能ではありません。お手持ちのサービス情報の確認に代わるものでもありません。

07 / 確認手順

設定後に結果を確認する

一度に変更するのは1つの項目だけにし、元に戻せるよう変更前の設定を記録してください。

まず接続の基本を確認

  1. Homeで選択中のサーバーを確認し、古い項目を選んでいないか確かめます。
  2. Type、認証情報、通信パラメータを確認し、Connectivity Testを実行します。
  3. 接続スイッチとシステムのVPN状態を確認してから、実際にアクセスします。
  4. 自動再接続が起きる場合は、On Demandが有効か、設定条件がどうなっているか確認します。

次に振り分け結果を確認

  1. Global RoutingがConfigになっていることと、目的の設定ファイルが有効になっていることを確認します。
  2. ルールを上から順に確認し、最初に一致する可能性のあるルールとポリシーの参照先を調べます。
  3. DNSの結果とアドレス系ルールのマッチ条件を確認します。
  4. 宛先へのリクエストを再送信して接続情報を確認し、完了後に通常のモードへ戻します。
Configを変更しても接続動作が変わらないのはなぜですか?

まず、現在有効なファイルを編集したか確認し、次にGlobal RoutingでConfigが選択されていることを確認します。その後、対象がより上位のルールに一致していないか確認し、接続を作り直してください。既存の接続、DNSキャッシュ、有効になっていないファイルの編集が、変更が反映されないように見える原因となる場合があります。

サブスクリプションの更新に成功すれば、すべてのサーバーが使えるということですか?

更新成功は、今回のリスト取得と解析が完了したことを示すもので、すべてのサーバーの認証や実際のアクセス確認が済んだことを意味しません。更新後は選択中の項目を確認し、テストを実行してから宛先にアクセスしてください。一部の項目だけ失敗する場合は、すべての設定をすぐにリセットするのではなく、パラメータとサービスの状態を個別に確認します。

Dataに通信量が表示されるのに、ページを正常に開けないのはなぜですか?

通信記録があることは、リクエスト全体が成功したことを意味しません。名前解決、接続の試行、一部のリソース、バックグラウンド処理でも通信量が発生する場合があります。失敗した宛先と段階を確認し、REJECTへの誤マッチ、認証エラー、接続先サービスの障害がないか調べてから、Diagnosticsで手掛かりを集めてください。

初めて設定する方は、使い方ガイドの手順に沿って進めてください。入手、認証、日常の管理までまとめて確認するには、初心者から応用までの総合マニュアルをご覧ください。