Shadowrocket 公式マニュアル · 機能紹介

Shadowrocketの機能と基本設定

まずリクエストのルーティング方式を決めてから、ルール、接続条件、診断オプションを調整します。適切な設定かどうかは、利用中のサーバーやネットワーク、実際のアクセス結果を踏まえて判断してください。

  • Global Routing
  • Config / Proxy / Direct
  • Settings / Data

5つの機能を用途別に確認

ここでは機能を説明します。アプリ画面ではありません。分類を切り替えて用途を確認し、具体的な操作や注意点は後続の各章をご覧ください。

ルールでリクエストの処理先を決める

ルールでは、リクエストのドメインや宛先アドレスを設定済みの条件と順に照合し、該当するポリシーで処理します。設定の入口はConfigです。ルールを適用するには、HomeのGlobal RoutingをConfigに設定してください。まず現在有効な設定ファイルを確認してから、個々のルールを変更します。有効でないファイルを編集しても接続結果は変わりません。問題を調べるときはリクエストのログで適用されたルールを確認し、サーバーの遅延だけで振り分けの正しさを判断しないでください。

DOMAIN-SUFFIX,example.com,PROXY
Home

Global Routing:Config / Proxy / Direct

Global Routingでは全体のルーティング方式を設定します。ドメインやアドレスに応じて日常的に振り分ける場合はConfig、プロキシ経由の経路を一時的に確認する場合はProxy、直接アクセスの結果を確認する場合はDirectを選びます。3つは速度の設定ではありません。

モードと画面上の表示処理方法主な用途確認するポイント
設定 · Config現在有効な設定のルールとポリシーに従ってリクエストを処理します。日常的な振り分け、自作ルールの動作確認。設定が有効か、ルールの順序、ポリシーの振り分け先。
プロキシ · Proxy通信全体をプロキシ経由で処理します。ただし、対象範囲はシステムやアプリの処理仕様に制限されます。現在のサーバーを使ったプロキシ接続経路の一時確認。選択中のサーバーが有効か。テスト後は通常のモードに戻します。
直接接続 · Direct通信全体を直接接続で処理します。ローカルネットワークや直接アクセスの結果を確認。Directにしても、システムのVPN接続が解除されるわけではありません。

設定手順と再テストの方法

HomeでGlobal Routingを開き、必要なモードを選んで戻り、現在の表示を確認します。Configを使う場合は、Configで設定が有効になっているか確認してください。Proxyを使う場合は、選択中のサーバーを確認します。その後、対象に再度アクセスしてください。必要に応じて既存の接続を終了してからテストします。確立済みの接続には、新しい設定がすぐ反映されないことがあります。

Configでのみ問題が起き、Proxyでは同じ対象にアクセスできる場合は、まずルールの適用状況、ポリシーグループの選択、名前解決の経路を確認してください。これは調査範囲を絞る方法であり、原因を断定するものではありません。どちらのモードでも失敗する場合は、サーバーパラメータ、認証状態、現在のネットワークも確認します。

Config

ルールの種類、処理ポリシー、照合順序

ルールは「どのリクエストをどの方法で処理するか」を決めます。Configで現在の設定を開き、ルール編集の画面に進んだら、既存の項目を確認してから例外を追加してください。ルールは通常、上から順に照合され、最初に一致した項目のポリシーが適用されます。条件が具体的なルールは、広い条件の前に配置します。FINALは一致しなかったリクエストの最終処理として末尾に置きます。

対象に合わせてマッチタイプを選ぶ

  • DOMAIN:指定したドメインに一致します。完全なホスト名1つだけを対象にする場合に適しています。
  • DOMAIN-SUFFIX:指定したドメインとそのサブドメインに一致します。ドメインの範囲でリクエストを管理する場合に適しています。
  • DOMAIN-KEYWORD:ドメインに含まれるキーワードで照合します。対象範囲が広いため、追加前に意図しない一致が起きないか確認してください。
  • IP-CIDRとIP-CIDR6:IPv4またはIPv6のアドレス範囲で照合します。名前解決の影響や、宛先に動的アドレスが使われているかを確認してください。
  • GEOIP:IPアドレスの位置情報データベースに基づいて分類します。データベースの結果だけで、サービスの実際の所在地や用途を判断することはできません。
  • USER-AGENT:確認可能なリクエスト情報に依存します。すべてのアプリを確実に識別できる方法ではありません。

ポリシー名と画面上のモードを区別する

DIRECTは直接接続、REJECTは一致したリクエストの拒否、PROXYはプロキシ経由の処理を表します。具体的な接続先は設定で確認してください。ルール内の大文字のポリシー名と、Global RoutingのConfig / Proxy / Directは異なる階層の設定です。独自のポリシーグループ名が使われている場合もあるため、参照先の名前が設定と一致しているか確認します。

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

ここに示したのはルール構文の例であり、既存の設定をそのまま置き換えられるファイルではありません。変更前に元の設定を保存し、変更後はそのファイルが引き続き有効になっていることを確認してから、リクエストログで実際に適用されたルールを確認してください。広範囲に一致するキーワードルールだけで問題を処理しようとすると、どのドメインの処理が変わったのか追いにくくなります。

Home / Add Server

サーバー管理とプロトコルの設定項目

サーバー項目には接続先に必要な情報を保存します。名前は識別用のラベルで、プロトコルの種類を決めるものではありません。ユーザーがすでに持っているサーバー情報をもとに、HomeのAdd Serverから該当するプロトコルを選び、アドレス、ポート、認証情報を入力してください。プロトコルによって項目の意味が異なるため、Shadowsocksのパスワードを別の認証情報が必要な項目にそのまま入力しないでください。

Scan QR Codeで既存の情報を取り込む際、カメラへのアクセスはQRコードの読み取りに使用します。取り込み後は項目を開いて、種類とアドレスを確認してください。QRコードには単一のサーバー情報が含まれる場合も、サブスクリプションを参照する情報が含まれる場合もあります。見た目だけで内容を判断できません。クリップボードから取り込む場合も、説明文まで一緒にコピーしていないか確認してください。

変更前に元に戻せる状態を保つ

元のパラメータを記録するか、項目を別に複製してから、確認したいフィールドだけを変更してください。TLS、サーバー名、通信パラメータは、利用中のサービス情報に合わせます。接続できないからといってポートを次々に変えたり、検証条件を緩めたりしないでください。HTTP、SOCKS5、WireGuard、Hysteria2などは、それぞれ実際の項目の説明に従って設定します。あるプロトコルの設定方法を別のプロトコルにそのまま当てはめないでください。

保存後、Homeで対象のサーバーを選び、Connectivity Testを実行してから実際にアクセスします。項目が一覧に表示されても、保存が完了しただけです。テスト方法、接続先への到達性、サービスへのアクセスはそれぞれ別に確認してください。項目を削除する前に、ポリシーグループや現在の設定から参照されていないかも確認します。

Subscribe

既存のサブスクリプションの追加・更新・管理

Subscribeではサーバー一覧をまとめて取得・更新できますが、ルール設定とは別の機能です。ユーザーがすでに持っているサブスクリプションURLを該当欄に入力して保存し、更新後に必要な項目が追加されたか確認してください。URLは利用中のサービス情報から取得します。Web管理画面や決済ページのURLとは用途が異なり、代わりにはなりません。

更新後に確認する3つのポイント

  1. 更新が成功したかを確認し、ネットワークへの接続失敗と内容の解析エラーを区別します。同じURLを何度も追加しないでください。
  2. 現在選択中のサーバーが一覧に残っているか確認します。名前やグループが変わった後、別の項目を選択していないかも確認してください。
  3. 実際にアクセスして再確認し、ルール内のポリシーグループが正しいサーバーを参照しているか確認します。

サブスクリプションを更新すると、管理対象の項目が上書きされる場合があります。特定のパラメータを個別に管理する場合は、更新時の動作を確認してから、手動項目を別に残すか判断してください。元のURLが手元にない状態で一覧全体を削除することのないよう、削除前に再追加できることを確認し、必要な情報を安全に保管します。

アプリの買い切り購入と通信サービスのプランは別です。Shadowrocketの購入と、既存サービスを利用できるかどうかは別々に管理されます。このサイトではサーバーやサブスクリプションを提供、販売、推奨せず、ユーザーがすでに持っている情報の使い方のみを説明します。

サブスクリプションURLには認証情報が含まれることがあります。問題を報告するスクリーンショットでは、URL全体と認証情報を隠してください。リンクを公開ドキュメントに載せないでください。取得に失敗した場合は、設定を変える前に、URLが有効か、現在のネットワークからアクセスできるか、正しい内容が返されているかを確認します。

On Demand

On Demand:必要に応じた接続条件

On Demandは自動接続の条件を設定する機能で、ルールによる振り分けとは異なります。アプリでOn Demandを開き、画面に表示される条件と動作を確認したうえで、利用するネットワーク環境に合わせて設定してください。具体的な場所や選択肢は、現在のアプリ内の表示に従ってください。他のデバイスでの設定場所をそのまま探さないようにします。

条件を1つ設定してテストする

Wi-Fiに応じて使い分ける場合は、SSIDの綴りと適用する動作を確認してください。モバイル通信でも接続する場合は、対応する条件を個別に確認します。Wi-Fiの条件がすべてのネットワークにも適用されるとは限りません。ドメインを使った接続条件は、ルールファイル内のドメインポリシーとは役割が異なり、前者は接続開始、後者はリクエスト処理に作用します。

まず検証しやすい条件を1つ設定し、対象のネットワークに切り替えたときのシステムVPNの状態を確認してから、別のネットワークに移動して再テストしてください。条件が複数ある場合は、画面上の順序と実際の動作を確認し、条件が重なって異なる動作を要求していないか確認します。条件をすべて一度に設定するより、1つ追加するたびに接続時と切断時の両方をテストするほうが、問題を見つけやすくなります。

手動で切断しても再接続する場合は、On Demandを一時的に無効にして再テストし、条件による接続か確認してください。日常的に完全に切断する必要がある場合は、アプリの接続状態とOn Demandの設定の両方を確認します。通常の利用を始める前に、システムが求めるVPN設定の許可も完了させてください。接続を許可しただけで、利用可能なサーバーが用意されるわけではありません。

Data

Data:通信量の変化と統計の見方

Dataでは、アプリで計測できる通信量を確認できます。Dataを開き、統計の対象範囲、方向、集計期間を確認してから、実際のアクセス前後の変化を見てください。アップロードとダウンロードはデータの送受信方向を示すもので、Webページが完全に読み込まれたかを直接表すものではありません。数値だけで、ルールやサーバーの問題を判断することもできません。

問題を調べる際は、ほかの目立った通信を一時停止し、テスト前の表示値を記録してから、既知の対象にアクセスして変化を比較します。通信量が変化してもページが表示されない場合は、名前解決、ハンドシェイク、アプリケーション層のエラーを引き続き確認してください。変化がほとんどない場合は、接続状態、ルーティング方式、リクエストが想定した経路に入っているかを確認します。

アプリの統計はサービスの利用明細ではありません

アプリ、システム、利用中のサービスでは、計測範囲が異なる場合があります。通信時のオーバーヘッド、集計期間、課金ルールも同じとは限りません。Dataは傾向の確認や問題の調査に役立ちますが、サービス側の残量や利用履歴の代わりにはなりません。数値を比較する場合は、合計値をそのまま差し引くのではなく、期間と単位をそろえてください。

現在の画面に統計をリセットする操作がある場合は、調査記録を残す必要がないか確認してから実行してください。表示記録をリセットしても、サービスで実際に使用した通信量は変わりません。機種変更や再インストール後に、過去の統計がすべて復元されるとは限りません。

Settings

よく使うSettings:問題に応じて調整

まず正常に動作する基本状態を保ち、項目を1つずつ変更します。現在のConfigが一部の設定を管理している場合があります。アプリの設定とあわせて、設定ファイルに該当項目がないか確認してください。以下では用途ごとに説明します。すべての項目を変更する必要はありません。

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

DNSはドメイン名をアドレスに変換します。Settingsと現在のConfigで関連設定を確認し、まずどの名前解決先を使っているか、設定が上書きされていないかを確認してください。Webページを開けない一方、Connectivity Testが正常な場合は、対象ドメインの名前解決を優先して確認します。

変更前に元の値を記録し、関連する項目を一度に1つだけ変更して、新しいリクエストで確認してください。用途が不明なDNS設定を複数重ねないでください。名前解決に成功しても、その後の接続が成功するとは限りません。

Test Method:テスト方法

SettingsでTest Methodを確認し、現在の方法で接続経路のどの部分を検査しているか把握してください。テスト方法によって使うリクエストや接続先が異なるため、同じサーバーの結果でも単純に比較できない場合があります。

既存のサーバーを比較する場合は、できるだけ同じネットワーク、同じテスト方法、近い時間帯で確認してください。テストに成功しても、実際の対象にアクセスして確かめます。失敗した場合も、すべてのサービスが使えないと判断せず、エラーの種類を確認してください。

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

Today Widgetは、システムが対応する場合に状態の確認や操作をすばやく行うための機能です。まずアプリ内で関連設定を確認し、次にシステムのウィジェット管理画面から追加します。利用できる表示や操作は、現在のシステムとアプリ内の説明に従ってください。

表示された状態が想定と異なる場合は、まずHomeに戻って実際の接続状態を確認し、次にOn Demandを確認します。ウィジェットはショートカットであり、サーバー設定、システムの許可、接続全体の確認に代わるものではありません。

iCloud:同期する範囲を確認

SettingsでiCloud関連の項目を確認し、システム側で対応するiCloudのアクセス許可も確認してください。現在の画面の説明に従って同期範囲を把握し、サーバー、設定、統計、システムの許可がすべて同期されると思い込まないようにします。

初めて有効にするときや機種変更の前には、大切な設定を別途保存してください。複数のデバイスで内容が一致しない場合は、並行して編集せず、まず作業を止めます。アプリの購入履歴と設定の同期は別の手続きです。システムのVPN許可は、使用する各デバイスで確認してください。

Diagnostics

Diagnostics:記録・再現・確認

Diagnosticsでは、問題の調査に役立つ情報を取得できます。通常はSettings内の該当する項目から開きます。まず発生時のネットワーク、選択中のサーバー、Global Routingのモード、アクセス先を記録し、画面の説明に従って必要な診断を開始してください。すべての問題で長時間の記録が必要なわけではありません。再現できるリクエストに絞って情報を集めると、内容を確認しやすくなります。

手順を決めて原因を絞り込む

  1. 接続の基本を確認。システムのネットワークが使えること、アプリの接続状態が想定どおりであること、既存サーバーの設定を誤って変更していないことを確認します。
  2. 名前解決を確認。名前解決の失敗やタイムアウトがないか確認します。アドレスでは接続できるのにドメインで失敗する場合は、DNSの経路を詳しく調べてください。
  3. ルールの適用状況を確認。Configモードでリクエストに適用されるポリシーを確認し、ポリシーグループで実際に選択されているサーバーも確認します。
  4. 接続エラーを確認。タイムアウト、認証失敗、TLS関連の問題をそれぞれ切り分けます。すべてのエラーに同じ設定変更を適用しないでください。
  5. 1項目だけ変更して再テスト。同じ対象へのリクエストを新たに開始し、結果を確認してから変更を維持するか元に戻すか判断します。

調査が終わったら、必要に応じて追加の記録を停止し、問題の説明に必要な最小限の情報を残してください。外部に報告する前に、サーバーアドレス、認証情報、サブスクリプションURL、アクセス先のドメインが含まれていないか確認します。機密情報を取り除いてから、再現手順と試した変更を説明してください。

Proxyでは接続できるのに、Configに戻すと失敗するのはなぜ?

現在有効な設定、対象に一致するルール、ポリシーグループの接続先を確認し、次にDNSを確認してください。2つのモードでは処理経路が異なる場合があるため、この現象だけでサーバーの故障とは判断できません。変更後はリクエストを新しく開始し、既存の接続が判断に影響しないようにしてください。

遅延テストが正常でも、ほかに確認することはありますか?

テスト結果は、選択したTest Methodで確認した範囲に限られます。実際のアクセス先について、名前解決、ルールの適用、TLS接続、アクセス結果を確認してください。また、現在選択中のサーバーがテストした項目と同じかも確認します。

設定が増えすぎた場合、調査しやすい状態に戻すには?

現在の設定を保存してから、動作確認済みの基本状態に戻します。On Demandの条件を一時的にシンプルにし、既存サーバーを1つ、テスト対象を1つ選んでください。一度に1項目ずつ設定を戻します。バックアップを取らずに内容をすべて消去しないでください。

操作の順序をまとめて確認するには入門ガイドをご覧ください。初回起動、設定管理、日常的なメンテナンスを章ごとに確認するには初心者から応用までの公式マニュアルをご利用ください。