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

Shadowrocket
プロキシモードと基本設定

まずGlobal Routingを確認し、次にサーバーと設定を確認します。接続スイッチ、ルーティングモード、ルールのポリシーはそれぞれ役割が異なり、互いに置き換えることはできません。

  • Home
  • Config
  • Data
  • Settings
モードを確認ルールを確認接続をテスト

Global Routingの3つのモード

設定/プロキシ/直接接続。画面上の表記はConfig/Proxy/Directです。

Global Routingでは、クライアントが処理する接続の出口を選択します。HomeでGlobal Routingを開き、目的に応じてConfig、Proxy、Directを選択したら、Homeに戻って接続状態を確認します。これは接続スイッチでもサーバー一覧でもありません。Proxyを選択してもトンネルが有効になるとは限らず、サーバーを切り替えてもモードは自動で変わりません。

接続先ごとに処理を分ける場合は、通常Configを選びます。ルールの影響を一時的に除いて比較する場合はProxy、直接接続時の状態を確認する場合はDirectを使えます。ここでの比較はトラブルの切り分けを目的としており、モードの優劣を示すものではありません。テスト後は、予定していたモードに戻し、一時的な設定をそのまま使い続けないようにしてください。

画面上の選択肢処理方法利用例確認ポイント
Config現在有効な設定のルールに従ってポリシーを選択します。ドメイン、IPアドレス、地域などの条件で通信を振り分ける場合。有効な設定とルールの順序を確認します。
Proxyクライアントが処理する接続をプロキシ経由で処理します。選択中のサーバーを一時的にテストし、ルールの確認範囲を絞り込みます。サーバーが利用可能で、必要なパラメーターがそろっているか確認します。
Direct直接接続の経路を使用します。プロキシサーバーを経由しない場合の接続状態を確認します。システムのVPN接続をオフにする操作とは異なります。

Configモードでは有効な設定を確認

Configは設定管理画面の項目名であると同時に、Global Routingの選択肢のひとつですが、それぞれ役割が異なります。Config画面にファイルを保存しただけでは、そのファイルが現在の設定として有効になったとは限りません。有効な設定を確認してください。ルールのPROXYはプロキシポリシー、DIRECTは直接接続、REJECTは接続拒否を表します。設定にポリシーグループがある場合は、そのグループで現在選択されている接続先も確認します。

モードを切り替えたらテスト接続をやり直す

既存の接続では、切り替え前の処理状態が引き続き使われる場合があります。同じ画面に変化が見えないだけで、切り替えに失敗したと判断しないでください。元のモードを記録し、切り替え後にリクエストを再実行してから、接続ログとルールの適用状況を確認します。サーバー、DNS、モードを同時に変更すると結果を判断しにくくなるため、一度に変更する条件はひとつにしてください。

ルールの種類とポリシー

ルールは「何に一致するか」、ポリシーは「どのように処理するか」を指定します。

ルール分岐では、接続先ごとに異なる経路を割り当てます。編集するのはConfig画面で現在使用中の設定です。ルールを編集して保存したら、Global RoutingでConfigモードが選択されていることを確認します。ルールは通常上から順に照合され、最初に一致したルールのポリシーが適用されます。そのため、具体的な条件は広い条件より前に置き、FINALは最後にフォールバックとして配置します。ファイルにルールを書いただけで、必ず適用されるとは限りません。

DOMAINは完全一致のドメイン、DOMAIN-SUFFIXはドメインとそのサブドメイン、DOMAIN-KEYWORDはドメインに含まれるキーワードに一致します。IP-CIDRとIP-CIDR6はそれぞれIPv4とIPv6のアドレス範囲を指定し、GEOIPはIPアドレスの地理情報に基づいて照合します。USER-AGENTはリクエストから識別できるUser-Agent情報を使うため、すべての接続で利用できる条件ではありません。アプリ名から推測するのではなく、実際に確認できる情報に合わせてルールの種類を選んでください。

[Rule] · 構文例
[Rule]
DOMAIN,example.com,PROXY
DOMAIN-SUFFIX,example.org,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY

以下のドメインは構文の説明用であり、そのまま有効にするための完全な設定ではありません。1行目はexample.comのみ、2行目はexample.orgとそのサブドメインを対象にします。IP-CIDRの例は該当するプライベートアドレス範囲を対象とし、FINALはそれ以前のルールに一致しなかった接続を処理します。FINALを前に置くと、後続のルールは照合されません。

PROXY / DIRECT
プロキシポリシーと直接接続をそれぞれ使用します。PROXYの最終的な出口は、現在選択されているサーバーまたはポリシーグループも確認してください。
REJECT
一致した接続を拒否します。対象範囲が広すぎると通常のリクエストにも影響するため、対象を事前に確認してください。すべてのページ内容を制御できるとは限りません。

ルールが想定どおりに適用されない場合は、まず現在のモード、次に有効な設定、最後に前方のルールが一致していないかを確認します。ドメインルールとIPルールでは照合に使う情報が異なり、DNSの解決結果が後者に影響する場合もあります。各ルールの適用範囲、設定セクションの構造、その他の記述例についてはルールマニュアルをご覧ください。同じ種類のルールを重ねて追加するだけで済ませず、原因を特定しましょう。

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

サーバー情報と設定ファイルを区別し、適切な方法で読み込みます。

サーバー項目には接続に必要なアドレス、ポート、プロトコル、認証情報を保存します。サブスクリプションは、こうした項目をまとめて読み込んだり更新したりするためのものです。設定ファイルにはルールやその他の接続設定を保存します。それぞれ関連していますが、同じものではありません。すでにサブスクリプションをお持ちの場合は、アプリのSubscribeから読み込みます。単体のサーバーパラメーターをお持ちの場合は、HomeのAdd Serverから手動で登録できます。読み込み後は一覧に戻って内容を確認してください。名前が表示されたことだけを、接続成功の根拠にしないでください。

Add Server:手元の情報を入力

Add Serverを開き、まずサーバーに合ったプロトコルを選択してから、アドレス、ポート、認証情報を入力します。Shadowsocks、VMess、VLESS、Trojan、WireGuard、Hysteria2などでは入力項目が異なるため、あるプロトコルのパラメーターを別のプロトコルにそのまま適用することはできません。元の情報にTLS、サーバー名、通信方式が含まれる場合は、それぞれ確認します。表示名は識別用のラベルであり、実際の接続先アドレスの代わりにはなりません。

Scan QR Codeやクリップボードから既存の共有情報を読み込んだ場合も、項目を開いて重要な情報を確認してください。QRコードは入力方法のひとつであり、接続先がオンラインかどうかを確認するものではありません。QRコード画像、共有リンク、認証情報を含む画面は適切に管理してください。問題を調べる際は、必要な項目名と症状のみを伝え、情報全体を公開しないでください。

Subscribe:読み込み後も更新状態を確認

ご自身のサブスクリプションURLを使用する場合は、URLが完全か、アクセス権があるか、返される内容がアプリ対応の形式かを確認します。サブスクリプションの更新では通常、リモートの一覧を再取得します。長期的に残したいローカル変更を、サブスクリプションから生成された項目だけに依存させないでください。更新前に現在の選択を記録し、更新後は項目の変化を確認して、選択中のサーバーが引き続き存在することを確かめます。

更新後に一覧が空になった場合は、サブスクリプションが有効か、その時点のネットワークからURLにアクセスできるか、通常のWebページURLをサブスクリプションとして入力していないかを確認します。復旧を試みるために、設定をすべて何度も削除するのは避けてください。Config画面で管理するルールファイルは、有効状態を別途確認します。サブスクリプションの更新に成功しても、ルール設定が切り替わったとは限りません。読み込み手順は使い方ガイドをご覧ください。

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

接続を自動で開始します。ルーティングルールの代わりにはなりません。

On Demandは、設定した条件に応じてシステムにVPN接続を要求する機能です。手動操作を減らしたい場合に利用できます。On Demandが制御するのは「いつ接続するか」、Global Routingが制御するのは「接続後にどの経路を使うか」です。SettingsでOn Demand関連の設定を確認し、現在の条件を読んでから、必要な動作を有効にしてください。ネットワーク条件やWi-Fi関連ルールで選べる項目は、アプリの現在の表示に従ってください。

初めて設定する場合は、まず手動接続が正常に動作することを確認してからOn Demandを有効にします。テストは2段階で行います。接続する想定のネットワークで接続されるかを確認し、次に接続しない想定のネットワークに切り替えて動作を確認します。これにより、発動条件の設定ミスとサーバー自体の利用不可を切り分けやすくなります。

接続を一時停止する場合は、On Demandによって再接続が発生しないかも確認してください。Homeのスイッチをオフにした後で接続が再開しても、スイッチの故障とは限りません。システムが再びオンデマンドの条件を満たした可能性があります。同じデバイスに複数のVPN設定が残っている場合は、システムが現在どの設定を使用しているかも確認し、別の設定の状態をShadowrocketの結果と取り違えないようにしてください。

Data:通信量の統計

クライアントが記録した通信量を確認する機能で、請求額を示すものではありません。

Dataでは、クライアントが記録した通信量を確認できます。Dataを開いたら、表示対象の範囲、集計期間、単位を確認してから、アップロードやダウンロードなどの数値を読み取ります。アップロードとダウンロードは通信の方向を示すもので、サーバーの品質評価ではありません。ある期間の通信量が少なくても、新しいリクエストを送っていないだけの場合があり、接続異常とは限りません。

特定の操作による変化を比べる場合は、まず現在の数値を記録し、内容が明確な操作をひとつ実行してからDataに戻り、増加分を確認します。リセット機能がある場合は、どの記録が消去されるか確認してください。必要な統計値は事前に保存します。問題の確認中に何度もリセットしながら、同じ期間の変化を後から追おうとするのは避けてください。

クライアントの統計、システムのモバイルデータ使用量、ご利用中のサービスの計測方法は異なる場合があります。対象となる接続範囲、プロトコルのオーバーヘッド、集計期間も同じとは限りません。そのためDataは、利用傾向を確認するための参考として使うのが適切です。モバイルデータの請求やリモート側の使用量については、それぞれの情報源を確認してください。通信量が増えたことだけでは、ルールが想定どおりに適用されたとは判断できません。接続ログとあわせて出口を確認してください。

Settingsの基本項目

目的に応じて調整し、変更理由と変更前の値を記録します。

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

DNSはドメイン名を接続に必要なアドレスへ変換します。関連する動作は、SettingsのDNS設定と現在の設定ファイルをあわせて確認してください。ひとつの入力欄だけを見て判断するものではありません。変更前に現在の名前解決設定を記録し、使用中の設定ファイルで指定されているか確認してから、利用中のネットワーク環境に合わせて調整します。IPアドレスでは接続できてもドメイン名ではアクセスできない場合、DNSは確認すべき項目のひとつです。ただし、それだけで障害の原因がすべてDNSにあるとは限りません。

出所のわからないDNSアドレスをむやみに複数追加しないでください。変更後はテスト接続をやり直し、同じ接続先で結果を比較します。IPv4とIPv6の動作が想定どおりかも確認してください。DNSの変更はドメインの解決結果や、その後のIPルールの照合に影響する場合があります。ルールを確認するときはDNS設定も記録し、テスト条件が変わり続けないようにしてください。

Test Method:テスト条件を統一

Test Methodでは接続テストに使う方法を選択します。Settingsでこの項目を確認してから、HomeでConnectivity Testを実行してください。複数のサーバーを比較する場合は、同じ方法を使います。異なる方法では、同じ種類の処理結果を比較できない可能性があります。テストにかかった時間は、その時点で選択した方法による応答状況を示すもので、Webページの表示速度や継続的な転送能力と同じではありません。

特定の項目でテストに失敗した場合は、まず現在の環境からテスト対象にアクセスできるかを確認し、次にサーバーのアドレス、ポート、認証情報を確認します。特定のアプリだけでアクセスに問題がある場合は、実際の接続先のログを確認してください。一覧のテスト結果ひとつだけを根拠に設定を何度も切り替えるのは避けてください。

Today Widget:クイック操作の対象を確認

Today Widgetは、システムが提供する情報表示やクイック操作の入口です。Settingsで関連設定を確認し、システムで利用できるウィジェットの追加画面から追加または表示状態を確認できます。表示方法は、システムとアプリが現在提供する機能によって異なります。デバイスごとに同じ場所へ表示されるとは限りません。

クイック操作を使った後は、Homeに戻り、実際の接続状態、選択中のサーバー、Global Routingを確認してください。ウィジェットは操作への入口であり、独立した別の設定ではありません。状態表示が更新されていない場合は、アプリ内の状態とシステムのVPN状態をあわせて判断してください。誤認を防ぐため、短時間に何度も切り替えないでください。

iCloud同期:範囲を確認してから同期

iCloud関連の設定では、アプリが対応する範囲のデータを同期できます。まずデバイスでご自身のAppleアカウントにサインインしていることと、システムで該当するiCloudの使用が許可されていることを確認します。次にSettingsで実際に表示されている同期範囲を確認してください。すべての接続ログ、統計データ、機密情報が同期されるとは限りません。また、アプリの購入履歴と設定の同期は別の機能です。

別のデバイスで変更する前に、両方のデバイスの内容と同期状態を確認し、必要であれば復元できる設定のコピーを保存してください。内容が一致しない場合は、まずネットワーク、アカウント、同期権限を確認してから、どちらの内容を残すか判断します。App Storeで購入済みアプリを復元しても、設定ファイルやサーバー情報まで必ず復元されるとは限りません。

Diagnosticsと接続のトラブルシューティング

現象から問題の箇所を絞り、必要な診断情報を選びます。

Diagnosticsは接続問題の確認を補助する機能です。SettingsでDiagnosticsの項目を探し、画面に表示されるツールを使って確認してください。診断結果は、発生時刻、ネットワーク環境、Global Routingのモード、接続先とあわせて判断します。エラーがひとつ表示されただけでは、原因の全体像がわかるとは限りません。また、その結果だけを根拠に高度な設定をむやみに変更しないでください。

  1. 現象を記録する。接続を確立できない、接続後にすべての接続先で失敗する、特定のドメインだけ失敗する、サブスクリプションの更新に失敗する、といった状況に分けて記録します。それぞれ問題が発生している段階が異なります。
  2. 基本情報を確認する。現在のサーバー、認証情報、有効な設定、ルーティングモードを確認します。デバイス自体のネットワークが正常であることを確かめてから、Connectivity Testを実行してください。
  3. 変数を絞り込む。サーバーは変えずに、ConfigとProxyの結果を比較します。差が大きい場合はルール、ポリシーグループ、DNSを確認し、テスト後に元のモードへ戻してください。
  4. 再テストして記録する。設定をひとつだけ変更して接続をやり直し、変化を記録します。改善しない場合は元の値に戻し、一時的な変更を重ねないようにしてください。

診断情報には、アクセス先のドメイン、サーバーアドレス、認証関連情報が含まれる場合があります。保存または共有する前に内容を確認し、機密部分を隠してください。問題の説明に必要なエラーの種類、時刻、操作手順だけを残します。サブスクリプションURL全体を公開のトラブルシューティング資料に載せるのは避けてください。形式を説明する場合は、実際のアドレスではなくexample.comなどの例示用ドメインを使用します。

設定の確認とよくある質問

設定画面を離れる前に、現在の状態が意図どおりか確認してください。

設定の最終確認では、Homeの接続状態、Global Routingの現在の選択肢、実際に選択中のサーバー、Configで有効になっている設定の4点を確認します。On Demandを使う場合は、発動条件も確認してください。これらの情報を記録しておけば、問題が起きた際に安定した比較ができ、毎回すべての項目を最初から変更する必要がありません。

Configを選択しているのに、なぜプロキシ経由になるのですか?

Configはルールに従って接続を処理するモードであり、すべての接続が直接アクセスするという意味ではありません。一致したルールのポリシーがPROXYになっているか、最終的にFINAL,PROXYが適用されていないかを確認してください。また、一覧にファイルが保存されているだけではなく、想定した設定が有効になっていることも確認します。

Directに切り替えた後、接続スイッチをオフにする必要はありますか?

Directへの切り替えと接続の停止は別の操作です。前者は接続経路を変更し、後者は現在の接続を停止します。クライアントの接続を完全に一時停止する場合は、On Demandによって再接続しないか、システムのVPN状態も確認してください。

Connectivity Testが正常なら、すべてのアプリに問題なくアクセスできますか?

そうとは限りません。テストで確認できるのは、選択したTest Methodによる処理だけです。実際のアクセスには接続先のサイト、DNS、ルール、リモート側の応答も関係します。対象のリクエストを改めて実行し、その接続がどの経路で処理されたか確認してください。

サーバーのサブスクリプションを更新すると、ルールも更新されますか?

読み込んだ内容ごとに確認が必要です。サーバー一覧とルール設定は役割が異なるため、サーバーのサブスクリプションを更新しても、ルールファイルが更新または有効化されたとは限りません。更新後の一覧を確認してから、Configで現在のファイルとルールを確認してください。

初めて使う場合、まずどの設定を変更すればよいですか?

まず、すでにお持ちのサーバーまたはサブスクリプションを読み込み、接続パラメーターを確認してから、Global Routingを選択して手動接続します。基本の接続を確認できたら、ルールとOn Demandを設定してください。具体的な手順は使い方ガイド、高度なルール構文はルールマニュアルをご覧ください。