OFFICIAL MANUAL / SETTINGS

Shadowrocket 機能と設定

まず通信の処理方法を決め、その後に自動接続や補助機能を設定します。本ガイドではiPhoneとiPadのShadowrocketを対象に、各機能の概要、場所、設定方法、注意点を説明します。

設定を始める前に、利用者がすでに用意しているサブスクリプションまたはサーバー情報をご準備ください。画面上の項目や選択肢はアプリのアップデートで変わる場合があります。実際の端末に表示される英語表記をご確認ください。システム要件はApp Storeの掲載内容をご確認ください。

ROUTING / HOME

Global Routingの3つのモード

Global Routingは、現在の通信を全体としてどのように処理するかを決めます。使用するサーバーの選択とは別の設定です。サーバーを選択しても、すべてのリクエストがそのサーバーを経由するとは限りません。

Homeで現在のモードを確認

HomeでGlobal Routingを開き、Config、Proxy、Directから選択します。日常的にドメインやアドレスごとに処理を分ける場合は、通常Configを使います。ルールが原因か一時的に切り分けるにはProxyまたはDirectに切り替えて比較し、その後、元のモードに戻してください。

切り替える前に、現在のモード、選択中のサーバー、有効なConfigを記録してください。Proxyを使うにはサーバーの設定とネットワーク接続が必要です。Directにしても、すべての宛先へアクセスできるとは限りません。3つのモードはルーティングの方針を示すもので、接続成功を保証するものではありません。

モード 主な役割 使用する場面 注意点
Config · 設定ファイル 現在有効なConfig内のルールとポリシーに従ってリクエストを処理します。 日常的なルールベースの振り分け。プロキシ、直接接続、拒否するリクエストを分けます。 ファイルの編集後は、そのファイルが有効になっていることと、ルールの順序を確認してください。
Proxy · プロキシ 通信をプロキシ経由で処理します。システムやConfigによるバイパスの動作も考慮してください。 サーバーが利用可能か一時的に確認し、ルールの問題と接続の問題を切り分けます。 端末上のすべてのリクエストがプロキシ経由になるとは限りません。テスト後は通常のモードに戻してください。
Direct · 直接接続 通信を直接接続で処理します。 ローカルネットワーク、接続先サービス、プロキシ経由の経路の違いを確認します。 VPNの切断とは異なります。クライアントの接続を完全に停止するには、接続スイッチをオフにしてください。

CONFIG / RULE

ルールの種類と処理ポリシー

ルールは、リクエストをどのように処理するかを指定します。Configで現在の設定を開き、ルールの内容と順序を確認してください。ルールによる振り分けには、Global RoutingをConfigに設定します。ルールは通常、上から順に照合され、一致した時点で対応するポリシーが適用されます。そのため、具体的な条件を広い条件より前に置き、FINALはリスト末尾に置いて、他に一致しないリクエストを処理します。

ドメイン、アドレス、リクエストの特徴で照合

DOMAINは指定したドメインに一致します。DOMAIN-SUFFIXはドメインの末尾とサブドメインに一致し、DOMAIN-KEYWORDはドメイン内のキーワードで照合します。IP-CIDRとIP-CIDR6は、それぞれIPv4とIPv6のアドレス範囲を指定します。GEOIPはIPアドレスの地域情報に基づいて照合します。USER-AGENTは取得可能なリクエスト情報に依存するため、すべての通信に適しているわけではなく、アプリを汎用的に識別する方法としては使えません。

ポリシーとルールの種類は分けて考えてください。PROXYはプロキシ経由、DIRECTは直接接続、REJECTはリクエストの拒否を表します。拒否ルールはページのリソース、ログイン、通知に影響する場合があります。ルールを追加したら、ホーム画面が開くかだけでなく、関連機能も確認してください。

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

これは構文の例であり、完全なConfigファイルではありません。最初のルールはexample.comとそのサブドメインに先に一致するため、該当するリクエストは後続のDOMAIN-KEYWORDルールで照合されません。FINAL,DIRECTは残りのリクエストを直接接続にする指定であり、すべての利用環境に適した既定値ではありません。変更前に元のファイルを保存し、条件を一度に1つだけ変更してください。そのうえで接続ログを確認し、実際にどのルールに一致したかを確かめます。

用語一覧でルールキーワードを確認 →

HOME / SUBSCRIBE / ADD SERVER

登録済みサブスクリプションとサーバーの管理

サブスクリプションはサーバー情報をまとめて管理するためのもので、個々のサーバー項目には接続パラメータが保存されます。インポートが成功しても、情報がクライアントに取り込まれただけで、サーバーが利用可能とは限りません。

Subscribe:登録済みサブスクリプションを管理

Homeで追加メニューからSubscribeを選び、利用者がすでに用意しているサブスクリプションURLを入力し、判別しやすい名前を設定します。保存または更新したらHomeに戻り、想定したサーバーグループと項目が表示されていることを確認してから、いずれかを選んで接続します。サブスクリプションを読み込めない場合は、URLが完全か、期限切れでないか、認識可能なサブスクリプションデータが返されているかを確認してください。

サブスクリプションURLには認証情報が含まれる場合があります。公開ページに掲載したり、相談用のスクリーンショットに全文を写したりしないでください。更新によって提供元が管理する項目が上書きされることがあります。長期保管が必要な個人設定は事前に別途バックアップし、サブスクリプション由来の項目と区別してください。サブスクリプショングループを削除する前に、必要な情報が含まれていないか確認してください。

Add Server:個別のサーバー項目を確認

HomeでAdd Serverを開き、利用者がすでに用意しているサーバー情報に従ってプロトコルを選び、アドレス、ポート、認証情報、転送パラメータを入力します。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardなどでは必要な項目が異なります。アドレスだけを変更して、別のプロトコルのパラメータをそのまま流用しないでください。

Scan QR Codeでインポートする場合も、認識されたプロトコルとサーバーアドレスを確認してください。TLS、SNI、転送パスなどの項目は、手元にあるサーバー情報に従って設定します。設定の問題を隠すために、検証を安易に無効化しないでください。保存後にその項目を選択し、まず手動接続を確認してから、ルールによる振り分けやOn Demandを設定します。

AUTOMATION / ON DEMAND

On Demand 設定

On Demandは、条件に応じてシステムがVPN接続を開始または制御する機能で、別のサーバー設定ではありません。接続を開始するタイミングを制御します。接続後の通信処理はGlobal RoutingとConfigで決まります。まず手動接続でサーバー、DNS、接続先へのアクセスが正常であることを確認してから、SettingsでOn Demandの項目を探してください。

まずは条件を1つ設定

画面に表示される条件に従って、Wi-Fi、モバイル通信、ドメインに関するルールを設定します。Wi-Fi名で区別する場合はSSIDを正確に確認してください。名前が似ていても完全に一致しないネットワークは、同じ条件として扱えません。ドメインを使ったトリガーは、システムの名前解決とOn Demandの仕組みに依存します。特定のページを開くたびに必ず再接続するわけではなく、任意のアプリの動作を監視する機能でもありません。

保存後、該当するネットワーク環境で、接続の開始、切断、再接続をテストします。複数のルールがある場合は、条件、動作、表示順を1つずつ確認してください。広い条件が先に一致すると、後続の詳細な条件が適用されないことがあります。接続スイッチをオフにしても接続が自動的に再開する場合は、サーバー項目を繰り返し削除するのではなく、まずOn Demandを確認してください。

自動接続とルーティングの確認を分ける

テストでは、まずシステムが接続を確立しているかを確認し、次にGlobal Routingの現在のモードを確認し、最後にリクエストが想定したルールに一致しているかを確認します。Wi-Fiとモバイル通信を切り替えると、接続が再確立されることがあります。切り替え中に一時的に失敗しても、サーバー設定の誤りとは限りません。手動で切り分け直す場合は、先にOn Demandを一時停止し、同じ接続先で繰り返しテストしてください。

OBSERVATION / DATA

Dataで通信量を確認

Dataでは、クライアントから確認できる通信量を表示し、接続中のデータ通信を把握できます。Dataを開き、実際に表示される集計や詳細を確認してください。比較の前に、集計対象、期間、リセット操作の有無を確認し、2回の操作の前後で変化を見ます。表示された数値を、サービス提供元の請求額や残量とそのまま同一視しないでください。

小さな操作で変化を確認

特定の操作で通信量が発生するか確認する場合は、現在の表示を記録し、明確な操作を1回行ってからDataで変化を確認します。バックグラウンド同期、通知、他のアプリもリクエストを発生させる場合があります。そのため、数値の増加だけでは特定のドメインがPROXY経由だと判断できません。ルーティングの判断には、現在のモード、ルール、利用可能な接続ログも併せて確認してください。

統計を消去する場合は、比較に必要な情報を先に保存し、消去対象が統計データであってConfigファイルではないことを確認してください。クライアント、システム、サービス提供元の統計は、集計範囲、通信のカプセル化、再送、リセット時刻が異なるため、数値に差が出ることがあります。サブスクリプション情報に表示される使用量が提供元から返された値である場合も、Dataのローカル統計とは分けて考えてください。

PREFERENCES / SETTINGS

Settingsの主な項目

補助設定を一度に大きく変更しないでください。現在の値を記録し、アプリ全体の設定か現在のConfigに属する設定かを確認したうえで、一度に1項目ずつ変更して検証します。

DNS:まず適用元を確認

DNSはドメイン名をアドレスに変換するもので、サーバーへの接続とは別の処理です。DNSの動作にはSettingsの項目と現在のConfig設定の両方が関係する場合があります。変更前に、実際に適用されている設定元を確認してください。Configファイルのdns-server = systemはシステムDNSを使う指定です。設定項目を理解するための例であり、すべての環境に推奨される値ではありません。

ドメインにアクセスできない場合は、名前解決の失敗、接続の失敗、接続先サービスの応答異常を切り分けてください。リゾルバー、ルーティングモード、サーバーを同時に変更すると、原因を特定しにくくなります。DNSサーバーを指定する場合は、アドレスと通信形式を確認し、現在のネットワークから到達できるかを確かめてください。名前解決が正常でも、その後の接続が成功するとは限りません。

Test Method:テスト対象を理解する

SettingsでTest Methodを開き、選択中のテスト方法と対象を確認してからConnectivity Testを実行します。テスト方法によって確認できる通信の段階が異なります。テスト対象、ネットワーク環境、サーバー負荷、DNSはいずれも結果に影響する可能性があります。複数のサーバーを比較する場合は、方法と対象を揃え、条件の異なる結果をそのまま順位付けしないでください。

テストに成功しても、そのテストで確認した経路から応答があったことを示すだけで、すべてのWebサイト、プロトコル、アプリが正常に使えるとは限りません。失敗の原因がテスト対象自体にある場合もあります。実際に必要な接続先を使って確認し、エラー内容も踏まえて判断してください。1回のテスト結果だけで全体の問題を判断しないでください。

Today Widget:確認と操作の補助

Today Widgetはシステムコンポーネントに関連する補助機能です。利用できる方法は、端末のシステムとアプリが現在サポートしている内容によって異なります。SettingsでToday Widgetの項目を確認し、システムのウィジェット追加画面で利用可能かを確認してください。表示内容や操作方法は端末の実際の画面に従い、メインアプリと同じ機能が使えるとは限らない点に注意してください。

ウィジェットの表示がすぐに更新されない場合は、Shadowrocketを開いて実際の接続状態を確認し、システムの更新動作とウィジェット設定を調べてください。ウィジェットは、初回のVPN設定時に必要な許可を代替するものでも、通信ポリシーを判断する唯一の手段でもありません。サーバーやConfigを変更した後は、HomeとConfigに戻って最終的な選択を確認してください。

iCloud:同期ですべてが復元されるわけではない

SettingsでiCloud関連の同期設定を確認し、システムに自身のApple Accountでサインインしていることと、アプリに必要なiCloud機能の使用が許可されていることを確認してください。有効にする前に画面の説明を読み、同期対象と方法を確認します。アプリ内のすべてのデータ、システムの許可、各種設定が同じ方法で同期されるとは限りません。

別の端末で初めて使う場合は、ローカルにある設定を先に保持してからクラウド上の内容を確認し、内容がわからないまま上書きしないようにしてください。同期後はサーバー、Config、接続状態を個別に確認します。App Storeで購入したアプリの再ダウンロード、iCloudのデータ同期、VPN設定の許可はそれぞれ別の手順であり、相互に代替できません。

TROUBLESHOOTING / DIAGNOSTICS

Diagnosticsと設定の確認手順

Diagnosticsでは、トラブルシューティングに必要な情報を収集または確認できます。SettingsでDiagnostics関連の項目を開き、画面に表示される確認項目の結果を見てください。問題の範囲を絞り込むための機能であり、サーバー情報を補完したり、無効になったサブスクリプションを自動的に有効化したりするものではありません。

再現可能なテスト条件を整える

  1. ネットワークの状態を確認します。Wi-Fiとモバイル通信のどちらを使っているか記録し、テスト対象を一定に保ちます。ネットワーク自体が未接続でないか、追加のログインが必要でないかも確認してください。
  2. サーバーとサブスクリプションを確認します。Homeで現在選択中の項目、プロトコル、パラメータを確認してください。サブスクリプションの更新で問題が起きた場合は、インポートと読み込みの問題から対処します。
  3. 全体モードを確認します。Global Routingで現在選択されているモードを記録してください。比較のために一時的に切り替える場合も、一度に変更する要素は1つにしてください。
  4. ConfigとDNSを確認します。Configで有効なファイル、ルールの照合順、FINALを確認し、ドメインの名前解決の失敗と接続の失敗を切り分けます。
  5. 自動接続の影響を確認します。On Demandを一時停止してテストを繰り返し、自動トリガーやネットワーク切り替えが影響しているかを確認してください。
  6. 関連情報を保存します。操作手順、エラーメッセージ、テスト条件を記録し、Diagnosticsから今回の問題に直接関係する情報を抽出してください。

診断情報を共有する前に個人情報を確認

診断ログ、Config、スクリーンショットには、アクセス先のドメイン、サーバーアドレス、サブスクリプションの認証情報など、個人情報が含まれる場合があります。共有前に認証情報と無関係な記録を削除し、問題を再現するために必要な部分だけを残してください。サブスクリプションURL全体を公開したり、エラーを示すために個人用Configを丸ごと送ったりしないでください。

トラブルシューティングが終わったら、普段使うGlobal Routing、Config、On Demandの設定に戻し、よく使う接続先で再確認してください。初回のインポートと接続を順に確認する場合は使い方ガイドをご覧ください。正規購入、App Storeの国または地域、購入済みアプリの再ダウンロードを確認する場合は正規購入ガイドをご覧ください。Shadowrocketの入手先はApp Storeのみです。アプリの互換性とシステム要件はApp Storeの掲載内容をご確認ください。