公式マニュアル · 機能ガイド
Shadowrocketの機能と設定ルーティング・接続・診断
まず通信の処理方法を決め、次にサーバーと設定を確認し、最後に自動接続、DNS、テスト項目を調整します。一度に変更するのは1項目だけにし、同じ接続先で再テストすると、設定が反映されたか判断しやすくなります。
Global Routingで処理方法を決める
Configで振り分けルールを設定する
Settingsで接続動作を調整する
01 · GLOBAL ROUTING
3つのモード、まず処理範囲を選ぶ
Global Routingのモード選択とサーバー選択は別の設定です。サーバーを選んでも、すべてのリクエストがそのサーバーを経由するとは限りません。
概要と場所: Global RoutingはHomeにある全体ルーティングの設定項目で、Config、Proxy、Directの3つのモードがあります。Configは現在の設定にあるルールを適用します。Proxyはアプリが処理するリクエストをプロキシポリシーに渡し、Directは対象に直接接続します。モードが決めるのはリクエストの処理方法であり、サーバーの稼働状況ではありません。
設定方法: HomeでGlobal Routingを開き、用途に合わせてモードを選んでから、選択中のサーバーを確認します。通常、振り分けルールを使う場合はConfigを選びます。特定の接続先を調べるときは、元のモードを記録したうえでProxyまたはDirectに一時的に切り替え、同じ接続先で結果を比較します。テスト後は元の設定に戻し、一時的な確認用の状態を通常設定として使わないようにしてください。
注意点: Directにしてもアプリの接続が無効になるわけではなく、Proxyにしても接続先への到達が保証されるわけではありません。サーバーを選択していても、ルールによってDIRECTになったりREJECTされたりする場合があります。モードを切り替えて結果が変わった場合は、すぐにプロトコルの問題と判断せず、まずルールとDNSを確認してください。初回接続の手順はGlobal Routingの使い方 をご覧ください。
02 · RULES & POLICIES
ルールによる振り分け、マッチ対象と適用ポリシー
ルールは「どのリクエストに一致するか」、ポリシーは「一致後にどう処理するか」を決めます。両方をあわせて確認してください。
マッチタイプ:ドメインからIPまで
DOMAINは完全一致するドメイン名、DOMAIN-SUFFIXはドメイン名とそのサブドメイン、DOMAIN-KEYWORDはドメイン名に含まれるキーワードに一致します。IP-CIDRとIP-CIDR6はIPアドレスの範囲に使い、GEOIPはIPアドレスの地理情報データベースをもとに判定します。USER-AGENTはリクエストから取得できる該当情報に依存するため、あらゆるアプリを識別する汎用ルールとしては使えません。
DOMAIN ,www.example.com,PROXY
DOMAIN-SUFFIX ,example.com,PROXY
FINAL ,DIRECT
基本ポリシー:リクエストの行き先を指定
PROXYはプロキシ経由、DIRECTは直接接続、REJECTはリクエストを拒否します。FINALはそれ以前のルールに一致しなかった場合に適用されるフォールバックルールで、4つ目のポリシーではありません。設定によっては名前付きのポリシーグループを参照するため、ルールに一致しただけで接続経路が決まったと判断せず、グループ内の選択内容も確認してください。
場所と設定方法: Configで現在有効な設定を確認し、該当する設定の編集画面からRuleを開きます。まず元に戻せるコピーを保存してから、対象範囲が明確なルールを追加してください。優先して適用する具体的なルールは範囲の広いルールより前に置き、FINALは最後に配置します。保存後、Configモードでテストし、確認できる接続ログで一致したルールと最終ポリシーを確認します。
注意点: ルールは通常、上から順に照合されます。先に一致したルールがあると、後ろにあるより具体的なルールは適用されない場合があります。例にあるexample.comは書式の説明用で、接続サービスではありません。IPルールはドメイン名の名前解決にも関係する場合があります。ドメインルールとIPルールで結果が異なる場合は、名前解決の結果もあわせて確認してください。設定ファイルの全体構成は設定ファイルのリファレンス をご覧ください。
03 · SERVER MANAGEMENT
サブスクリプションとサーバー、情報源と接続設定を分けて管理
サブスクリプションはサーバー情報の一覧を管理し、設定ファイルはルールなどの設定を管理します。一方をインポートしても、もう一方が設定済みとは限りません。
手元の情報から接続先を登録
概要と場所: Homeには選択可能なサーバーとサブスクリプショングループが表示されます。Add Serverは接続情報の追加、Subscribeはサブスクリプションの追加、Scan QR Codeは既存情報を含むQRコードの読み取りに使います。登録方法が異なっても、最終的にはサーバー側の設定と一致する完全な接続情報が必要です。
設定方法: サブスクリプションをお持ちの場合は、Add Serverで該当する種類を選び、ご自身のサブスクリプションURLを入力します。内容を確認して保存・更新してください。個別のサーバー情報をお持ちの場合は、プロトコルに応じてアドレス、ポート、認証情報を入力します。Homeに戻り、該当グループを開いて使用する項目を選択します。名前だけで判断せず、まずConnectivity Testを実行してから実際の接続先にアクセスしてください。
更新時の確認事項: サブスクリプションを更新すると、その情報源からサーバー一覧を再取得します。サーバー側の障害が解決するわけではありません。更新前にサブスクリプションURLが有効か確認してください。更新後は項目名や設定、一覧の内容が変わる場合があるため、選択中の項目を再確認します。サブスクリプションで管理されている項目は、次回の更新時に変更が上書きされることがあります。長期的に変更する前に、項目の管理元を確認してください。
注意点: サブスクリプションURLにはアクセス情報が含まれる場合があります。スクリーンショットの撮影、同期、診断情報の共有前に、URL全体と機密パラメーターを削除してください。異なるプロトコルの項目を混在させたり、サーバーアドレスをサブスクリプションURLとして扱ったりしないでください。サブスクリプションをインポートする手順はサブスクリプションの使い方 を、既存の設定を有効にする方法は設定ファイルの項目 をご覧ください。
04 · PROTOCOL PARAMETERS
プロトコルの設定、各パラメーターの一致が前提
プロトコル名が一致しているだけでは不十分です。認証、トランスポート、TLS関連のパラメーターも、ご自身のサーバー情報に合わせる必要があります。
プロトコル · Add Server
WireGuard
概要と場所: WireGuardは鍵を使用するトンネルプロトコルで、対応するサーバータイプから設定できます。鍵、アドレス、ピア情報にはそれぞれ異なる役割があり、他のプロトコルのユーザー名やパスワードで代用することはできません。
設定方法: お手元のWireGuard設定をもとに、ローカル側のPrivate Key、アドレス、ピア側のPublic Key、Endpointなどを確認します。元の設定にほかのパラメーターがある場合も、項目ごとに照合してください。インポート後はアドレスとルート関連の項目も確認します。Endpointが入力済みかどうかだけで判断しないでください。
注意点: Private Keyは機密情報です。ハンドシェイクや接続に失敗する場合は、鍵の組み合わせ、Endpoint、ネットワークからUDPへの到達性、アドレス設定を確認してください。設定全体を公開してトラブルシューティングしないでください。Global Routingとアプリのルールも別途確認が必要です。
プロトコル · Add Server
VMess
概要と場所: VMessはサーバータイプの一つです。接続情報にはアドレスとポートのほか、UUIDや対応するトランスポート設定が含まれます。必要な項目はご自身のサーバー設定によって異なります。
設定方法: Add ServerでVMessを選び、お手元の情報に従って入力し、UUIDを確認します。WebSocketやTLSを使用する場合は、Host、Path、Server Nameなどの項目も一つずつ確認してください。これらは同じ値とは限らないため、サーバー側の設定どおりに入力します。
注意点: 端末の時刻がずれていると認証に影響する場合があり、パラメーターの不一致は接続タイムアウトの原因にもなります。エラーが出たら、元の接続情報と端末の時刻を確認してください。エラーを消すために証明書の検証を安易に無効化しないでください。インポートに成功しても、接続が確認されたわけではありません。
Shadowsocks、VLESS、Trojan、HTTP、SOCKS5、Hysteria2なども同じ順序で確認します。まずプロトコル、次にアドレスとポート、最後に認証、トランスポート、TLS関連の項目を確認してください。プロトコルごとに必要なパラメーターや利用できる入力項目は異なります。編集時はアプリに表示される項目と、ご自身のサーバー情報を基準にし、不足情報を推測で補わないでください。
05 · ON DEMAND
On Demand、条件に応じて接続を開始
まず手動接続を確認してから、自動接続の条件を有効にします。自動化しても、サーバーやルールを正しく設定する必要があります。
条件を確認してから接続動作を判断
概要と場所: On Demandは、設定した条件に応じてシステムのVPN接続を開始する機能です。SettingsのOn Demandを開き、利用可能な項目を確認してください。ネットワークの種類やSSIDなどの条件が表示されるか、どのように設定するかは、アプリ内の表示に従います。On DemandとGlobal Routingの役割は異なります。前者は接続するタイミング、後者は接続後のリクエスト処理を設定します。
設定方法: まず自動接続をオフにし、手動で接続して、ご自身のサーバーとConfigが使えることを確認します。その後On Demandを開き、条件が明確な項目から設定します。保存したら条件に合うネットワークに切り替え、システムの接続状態を確認してから、接続先へのアクセスやポリシーが想定どおりか確認してください。条件を追加する場合は、一つずつ追加してテストします。
注意点: 複数の条件が重なったり、順序や動作の設定が結果に影響したりする場合があります。手動で切断した後に再接続される場合は、On Demandが引き続き動作していないか確認してください。システム設定を何度も追加するのは避けましょう。問題を調べる際は、現在のネットワーク、条件、想定される動作を記録してください。On Demandを一時的に無効にして再テストすると、自動接続と通常の接続障害を切り分けやすくなります。
06 · DATA
Data、通信量を確認し、課金量と混同しない
通信量の統計は接続状況の把握に役立ちますが、サービス提供元やシステムの計測値とは異なる場合があります。
概要と場所: Dataでは、アプリが記録した通信量を確認できます。Dataを開いたら、まず表示中の統計範囲と単位を確認し、アップロードとダウンロードを区別します。時間や接続ごとの表示がある場合は、その区分も確認してください。表示値はアプリが記録した通信状況を示すもので、サブスクリプションの残量を直接表すものではありません。
使い方: 操作による変化を確認するときは、テスト前の数値を記録し、接続先を一つ決めてアクセスした後、数値の変化を確認します。リセット機能が表示される場合は、影響を把握してから使用し、リセットした日時を記録してください。接続ログとGlobal Routingの設定もあわせて確認すると、操作が想定どおり処理されたか判断しやすくなります。
注意点: バックグラウンド同期、Webページの読み込み、システムのリクエストによっても通信量は変化します。数値が増えたことだけでは、接続先に想定したポリシーが適用されたとも、応答が正しく返ったとも判断できません。統計の対象範囲、接続時のオーバーヘッド、ほかの計測ツールの値は異なる場合があります。接続を調べるときは、合計通信量の比較より、個々のリクエストとマッチ結果を優先して確認してください。
07 · SETTINGS
よく使う設定、変更は一度に1項目ずつ
以下では機能名をもとに設定箇所を案内します。一部の設定は現在のConfigによって制御される場合もあるため、変更前にどこで設定が有効になっているか確認してください。
DNS:まず名前解決の経路を確認
概要と場所: DNSはドメイン名を接続に必要なアドレスへ変換します。まずSettingsにあるDNS関連の項目を確認し、現在のConfigに含まれるGeneralやHostなどの設定も確認してください。一か所だけ変更して、設定ファイル内の定義を見落とさないようにします。
設定方法: 変更前の値を記録し、選択したDNSサーバーに現在のネットワークから接続できることを確認してから、該当する設定を変更します。同じドメイン名で再テストし、名前解決の結果、ルールのマッチ、接続先への接続状況をあわせて確認してください。現在の設定でDNSが指定されている場合は、まずその適用範囲を確認します。
注意点: IPアドレスでは接続できてもドメイン名では失敗する場合、DNSが関係している可能性がありますが、TLSなどの要因も確認が必要です。ルールの誤りをDNSの頻繁な変更でごまかさないでください。Hostに登録されたマッピングが最終的な結果に影響する場合もあります。
Test Method:テスト条件をそろえる
概要と場所: SettingsのTest Methodでは、接続テストの方法を選択できます。Connectivity Testでサーバーを確認する方法に関わる設定であり、プロトコルのパラメーターやGlobal Routingは変更されません。
設定方法: 現在の画面に表示される選択肢からテスト方法を選びます。接続先などの追加項目がある場合は、その接続先にアクセスできることも確認してください。複数の項目を比較するときは、同じ方法とネットワークを使用し、必要に応じてテストを繰り返して一時的な変動の影響を抑えます。
注意点: テストに成功しても、すべてのWebサイトにアクセスできるとは限りません。失敗した場合も、テスト方法を踏まえて判断してください。ハンドシェイクの到達性、Webページの応答、実際の転送速度はそれぞれ異なる指標です。詳しくは接続トラブルの説明 をご覧ください。
Today Widget:手軽に確認・操作
概要と場所: Today Widgetはシステムウィジェットに関連する機能です。Settingsを開き、利用できる内容と設定項目を確認してください。ウィジェットを追加できるかどうかは、端末のウィジェット画面で確認します。
設定方法: アプリでサーバーを選択して手動接続をテストしてから、システムのウィジェット編集画面で利用可能なウィジェットを追加し、表示内容を確認します。ウィジェットから操作した後、必要に応じてHomeに戻り、実際の接続状態を確認してください。
注意点: ウィジェットの表示は更新まで時間がかかる場合があります。一度表示が変わっただけで、リアルタイムの診断結果と判断しないでください。操作後の状態が想定と異なる場合は、アプリに戻り、権限、選択中のサーバー、On Demandの条件を確認します。
iCloud:同期範囲を確認
概要と場所: SettingsのiCloud関連機能では、アプリが対応する範囲のデータを同期またはバックアップできます。同期しても、システムのすべての許可設定が引き継がれるわけではありません。対象となる内容は、該当項目の説明を確認してください。
設定方法: 端末でご自身のiCloudアカウントにサインインしていることを確認し、システム設定で必要なアクセスを許可します。初めて有効にする前に、現在の設定のコピーを保存してください。別の端末で同期結果を確認してから、既存の内容を置き換えるか判断します。
注意点: App Storeでの購入済みアプリの復元と、iCloudによるデータ同期は別の機能です。アプリを再ダウンロードした後も、サーバー、設定、接続許可を確認してください。同期データにサブスクリプションURLや認証情報が含まれる場合があるため、アカウントと端末へのアクセスを適切に管理します。
Diagnostics:具体的な問題の手がかりを集める
概要と場所: DiagnosticsはSettingsにある診断機能で、取得可能な診断情報を確認・収集できます。原因の範囲を絞るための情報であり、障害が特定の側で発生したことを自動的に証明するものではありません。
使い方: 失敗した接続先、発生条件、現在のGlobal Routingとネットワークの種類を記録してから、問題を一度再現し、Diagnosticsと関連する接続ログを確認します。名前解決の失敗、接続タイムアウト、認証、TLSなどの手がかりを探し、それに応じた設定を確認してください。テスト条件を変えず、一度に複数のパラメーターを変更しないようにします。
注意点: 診断情報には接続先のドメイン名、サーバーアドレス、サブスクリプションURL、認証情報が含まれる場合があります。保存、スクリーンショットの撮影、共有の前に項目ごとに確認し、機密情報を削除してください。問題を第三者に説明する際は、通常、エラーの種類、関連する設定項目、再現手順を伝えれば十分です。設定全体を公開する必要はありません。
設定後、Homeに戻ってサーバーとGlobal Routingを確認し、実際の接続先でテストしてください。インポートから順に操作する場合はShadowrocketの使い方 を、ルールの書式を確認・編集する場合はルールマニュアル をご覧ください。