Shadowrocket ガイド · 機能と設定

Shadowrocketの機能と設定

まずルーティングモードを確認し、サーバー、構成ファイル、名前解決の設定を見直します。このページではiPhoneとiPadでの操作を中心に、主な機能を「概要・場所・設定方法・注意点」に分けて解説します。画面の項目や利用できる選択肢は、実際の表示をご確認ください。システム要件はApp Storeの掲載内容をご確認ください。

通常の利用で、多くの設定を一度に変更する必要はありません。手元にあるサーバー情報で接続を確認してから、適切なGlobal Routingモードを選びます。変更は一度に一項目にとどめ、変更前の値を記録しておくと、接続に問題が起きた際にサーバー、ルール、DNS、ローカルネットワークのどこに原因があるか切り分けやすくなります。

Global Routing:Config・Proxy・Direct

Global Routingでは、接続に使用するルーティング方式を選択します。Homeで項目を開き、Config、Proxy、Directのいずれかを選びます。3つのモードはそれぞれ構成ファイル、プロキシ、直接接続を指します。サーバーそのものを選ぶ項目ではなく、サーバーのアドレス、認証情報、プロトコル設定を置き換えるものでもありません。

モード 主な動作 利用場面 確認ポイント
Config(構成ファイル) 現在有効な構成ファイルのルールに基づいて接続方法を決定します。 ドメイン名やアドレスなどの条件に応じて通信を振り分ける場合。 正しい構成ファイルが選択されているか、ルールが参照するポリシーが有効か。
Proxy(プロキシ) プロキシモードで通信を処理します。具体的な動作は関連設定にも左右されます。 構成ファイルの振り分けルールが問題の原因か、一時的に切り分ける場合。 選択中のサーバーに接続できるか、プロキシ経由の通信が利用できるか。
Direct(直接接続) 選択したプロキシサーバーを経由せず、直接接続します。 ローカルネットワークでの接続状況と比較する場合。 ローカルネットワークとDNSが正常か、接続先に直接アクセスできるか。

モードの選び方と確認方法

通信を振り分ける必要がある場合は、まずConfigで有効なファイルを確認し、Global RoutingをConfigに設定します。接続先にアクセスできないときは、一時的にProxyへ切り替え、同じ接続先で結果を比べます。プロキシモードでは正常でConfigモードでは問題が起きる場合、すべてのサーバー設定をすぐに変更するのではなく、ルールの一致条件とポリシーの参照先を優先して確認してください。

Directはローカルネットワークとの比較に使えますが、システムのVPNをオフにする設定ではありません。接続が切れているかどうかは、Homeの接続スイッチとシステムの状態を確認してください。テスト後は元のモードに戻し、一時的な切り分け設定を普段の設定として残さないようにします。

ルールと振り分け:条件に一致した後にポリシーを適用

ルールは「マッチタイプ」「照合する内容」「ポリシー」などで構成されます。特定の接続をどう処理するかを指定するもので、サーバーの接続パラメーターではありません。通常はConfigで現在の構成ファイルを開き、[Rule]セクションを確認します。編集前に復元できるコピーを用意し、変更後はその構成ファイルが実際に有効になっていることも確認してください。

ルールの種類と照合対象

DOMAINは完全一致するドメイン名、DOMAIN-SUFFIXはドメインの末尾、DOMAIN-KEYWORDはドメイン名に含まれるキーワードを照合します。それぞれ一致する範囲が異なります。ドメインに関する問題では、完全一致が必要かサブドメインも含めるかを確認してから選びます。URLのパス部分をドメイン名として指定しないでください。

IP-CIDRとIP-CIDR6は、それぞれIPv4とIPv6のアドレス範囲を指定します。GEOIPはアドレスデータベースに基づいて照合するため、結果はデータベースや名前解決の結果に左右されます。USER-AGENTはリクエストから識別できる該当フィールドを対象としますが、参照できる情報には制限があり、すべてのアプリの通信に適用できるとは限りません。リクエストを判定できるかどうかは、その時点で取得できる情報によります。

ポリシーとルールの順序

DIRECTは直接接続、PROXYはプロキシポリシー、REJECTは一致した接続の拒否を表します。構成ファイルで独自のポリシー名を参照する場合は、実際に定義されている名称と一致させてください。ルールは通常、記述順に照合されます。具体的なルールを広範囲に一致するルールより前に置き、先行するルールに一致しない接続はFINALで処理します。

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

ここでは構文と記述順のみを説明しています。完全な構成例ではありません。例示したドメイン名は説明用です。ルールを追加した後は、対象ドメインへの新しい接続で結果を確認してください。すでに確立している長時間接続は、変更後すぐに経路が切り替わるとは限りません。再接続が必要な場合は、テスト中のリクエストを終了してから新しいリクエストを行ってください。

ルールキーワードとポリシー用語を見る →

Config:構成ファイルと適用範囲

Configは構成ファイルを管理する項目です。構成ファイルには共通設定、DNS、ルール、ポリシー定義などが含まれるため、個々の振り分けルールだけでなく、通信全体に影響することがあります。サーバーがリストに登録されていても、構成ファイルが有効とは限りません。また、構成ファイルを編集・保存しても、現在のルーティングモードがそのファイルに基づいて通信を振り分けるとは限りません。

構成ファイルを選ぶ前の確認

  1. Configを開き、使用するファイルの入手元と内容を確認します。用途を理解し、信頼できる入手元の構成ファイルのみを使用してください。
  2. 現在正常に使えている構成ファイルのコピーを保存し、新しいファイルのポリシー名、ルールの順序、DNS設定を確認します。
  3. 有効にする構成ファイルを選択し、Homeに戻ってGlobal RoutingがConfigになっていることを確認します。
  4. 接続先を一つ決め、新しい接続で動作を確認します。問題があればコピーを復元し、差分を一項目ずつ調べてください。

リモート構成は、更新時にローカルでの変更を上書きすることがあります。独自の設定を長期的に保持する場合は、現在のファイルがどのように更新されるかを確認してから管理方法を決めてください。内容を把握していない構成ファイルの設定を、そのまま普段の環境へすべて移さないでください。特に証明書、リクエスト処理、名前解決に関する設定は、用途と影響範囲を個別に確認してください。

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

Homeのサーバーリストから接続先を選択します。個々のサーバーにはプロトコル、アドレス、ポート、認証情報などを設定します。Subscribeでは、登録済みのサブスクリプションURLを使ってサーバー情報を更新します。インポートする情報は、ご自身が利用中のサービスから取得し、各パラメーターを提供元の情報に合わせてください。

Add Server:手動追加と設定の確認

HomeからAdd Serverを開き、適切なプロトコルを選んでからアドレス、ポート、認証情報を入力します。Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、WireGuard、Hysteria2では必要なパラメーターが異なります。サーバー名だけでプロトコルを判断しないでください。サービス情報にTLS、トランスポート方式、サーバー名などが含まれている場合は、各項目に正しく対応させます。設定を適当に切り替えて、偶然接続できる組み合わせを探す方法は避けてください。

保存後、リストに戻ってサーバーを選択し、まずConnectivity Testを実行してから、実際のアクセスを試します。テストに成功しても、その条件で応答があったことを示すだけで、すべての接続先、プロトコル、長時間の通信が正常とは限りません。失敗した場合も、ローカルネットワークやテスト方法を踏まえて判断してください。

Subscribe:インポート・更新・削除

既存のサブスクリプションを登録するには、Add ServerでSubscribeを選び、ご自身のサブスクリプションURLを入力して保存します。更新後、グループとサーバー情報が表示されることを確認し、項目を一つ選んでテストしてください。更新できない場合は、URL全体、サブスクリプションの状態、現在のネットワークからそのURLにアクセスできるかを確認します。同じ情報を続けて何度もインポートしないでください。

サブスクリプションの更新によってサーバー情報が再生成されることがあるため、重要な手動変更をサブスクリプション管理対象の項目だけに保存するのは避けてください。サーバー一件の削除とサブスクリプション全体の削除では影響が異なります。削除前に対象を確認し、現在使用しているグループを記録してください。サブスクリプションURLにはアクセス情報が含まれることが多いため、スクリーンショット、ログ、バックアップではURL全体と認証情報を必ず隠してください。

サブスクリプションの更新に失敗したときの確認方法 →

On Demand:条件に応じて接続を開始

On Demandでは、設定したネットワーク条件に応じて接続動作を開始できます。「いつ接続するか」を決める機能であり、「特定のドメインをどのポリシーで処理するか」は決めません。後者はGlobal Routingと構成ファイルのルールで設定します。SettingsでOn Demandを探してください。項目の場所や利用できる条件は、現在の画面で確認してください。

設定と動作確認

まず自動接続をオフにし、現在のサーバーと構成ファイルで手動接続できることを確認してから、On Demandで必要な条件を設定します。ネットワークの種類や特定のネットワークに関する項目が表示される場合は、必要な条件だけを選びます。保存後、該当するネットワーク環境でテストしてください。接続前後の状態を確認し、意図した動作になっていることを確かめてから設定を有効にします。

自動接続は、サーバー障害時の復旧を保証するものではありません。ネットワークの切り替え、システムの動作、サーバーの状態によって接続の確立に影響が出ることがあります。接続をオフにした後で自動的に再接続する場合は、接続スイッチの不具合と判断する前にOn Demandを確認してください。一時的な切り分けでは自動接続を無効にし、手動テスト後に元の設定へ戻します。

Data:通信量の確認

Dataでは、クライアントに記録された通信量を確認できます。画面を開いたら、集計対象、期間、分類を確認してからアップロード量とダウンロード量を比較してください。累計値と現在の通信速度は別の指標です。一定期間の合計値を現在の接続速度として扱わないでください。

通信量の記録を使った確認方法

アクセス一回分の変化を確認するには、まず現在の値を記録し、ページを一つ開くなど、対象を明確にした操作を行ってからDataで変化を確認します。システムアップデート、クラウド同期など、大量の通信が発生する作業を同時に行うと、変化の原因を特定しにくくなります。リセット機能を使う場合は、必要な値を先に記録し、リセットの対象範囲を確認してください。

クライアント側の統計とサービス提供元の利用量は、集計期間、通信量の算出方法、プロトコルのオーバーヘッドの扱いが異なるため、数値が一致しないことがあります。Dataは傾向の確認や不審な通信の特定に役立ちますが、サービス提供元の利用記録の代わりにはなりません。累計通信量だけでサブスクリプションの有効期限を判断することもできません。接続がオンでも通信量が変化しない場合は、実際のリクエストと診断情報を併せて確認してください。

Settings:よく使う項目と変更時の注意

Settingsには、名前解決、テスト、ショートカット、同期、診断などの項目があります。一部の動作は現在の構成ファイルで制御されることもあります。変更前に、アプリ内の設定と構成ファイル内のパラメーターを区別し、元の値と実際に適用されている設定箇所を記録してください。両方を重複して変更すると、結果を説明しにくくなります。

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

DNSはドメイン名を接続に必要なアドレスへ変換します。SettingsのDNS関連項目と、Config内に名前解決の設定があるかを確認してください。ドメインへのアクセスに問題がある場合は、接続先やローカルネットワークを変えて状況を比較し、名前解決の結果と接続経路を確認します。あらゆる接続失敗をDNSが原因だと決めつけないでください。

設定を変更する場合は、一度に一つの名前解決項目だけを変更し、同じ接続先で再テストしてください。キャッシュが結果に影響することも考慮します。選択したDNSサービスへ、現在の接続経路からアクセスできる必要があります。DNSを変更しても、サーバーのパスワード間違い、無効なサブスクリプション、トランスポート接続の失敗は解決しません。ローカルネットワーク内の名前と一般のドメイン名では、名前解決の要件が異なる場合があります。変更後は両方を個別に確認してください。

Test Method:テスト対象を確認

Test Methodでは、接続テストの方法を選択します。Settingsで項目を確認してください。方法によって確認する通信経路の段階が異なるため、結果をそのまま並べて比較することはできません。切り分けの目的に合う方法を選び、Homeに戻ってConnectivity Testを実行します。同じネットワーク、同じテスト方法で結果を比較してください。

テスト時間が短くても、長時間の通信が速いとは限りません。テストに応答があっても実際のアクセスに失敗する場合は、接続先、ルール、DNS、トランスポート設定を確認してください。一種類のテスト方法だけが失敗する場合は、サーバーをすぐに削除せず、その方法のテスト条件が満たされているかを確認します。

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

Today Widgetでは、関連するショートカット操作や情報表示を利用できます。Settingsで設定可能な項目を確認し、システムで対応している場所に追加してください。表示方法や利用できる機能は、実際のデバイス画面で確認してください。

設定後、まず手動で一度操作し、Homeに戻ってサーバーの選択と接続状態を確認します。ショートカットは操作手順を短縮するもので、サーバー設定の代わりにはなりません。表示が一時的に更新されない場合も、それだけを根拠に判断しないでください。

iCloud同期:同期前にコピーを保存

iCloud同期では、条件を満たすデバイス間でアプリが対応するデータを同期できます。Settingsの関連項目に加え、システムのiCloudの状態とアプリのアクセス権を確認してください。有効にする前に各デバイスで必要なコピーを保存し、どのデバイスのデータを整理の基準にするか決めておきます。

統計情報、システムの許可、一時的な接続状態がすべて同期されるとは限りません。同期対象と処理方法は、現在の画面の説明を確認してください。複数のデバイスで同時に編集すると変更を追跡しにくくなるため、まず一台で整理し、もう一台に意図した内容が反映されたことを確認してから続けてください。機種変更後のアプリ復元と構成ファイルの同期は、別々の作業です。

Diagnostics:問題の切り分けに必要な情報を記録

Diagnosticsは問題の原因を調べるための機能です。Settingsで項目を確認してください。問題が起きたときのネットワークの種類、ルーティングモード、接続先、操作を記録してから、画面で利用できる診断機能を使います。一度に一つの問題を再現すると、診断記録と実際の現象を照合しやすくなります。

記録を整理する際は、エラーの種類、発生順序、必要な設定名を残し、サブスクリプションURL、認証情報、個人のドメイン名、ネットワーク識別情報を隠してください。診断出力は接続の過程を理解するためのもので、表示されたパラメーターをすべて変更すべきという意味ではありません。切り分けのために一時的に有効にした記録設定は、テスト後に通常の状態へ戻してください。

設定の確認手順:接続から自動化まで

基本接続、通信の振り分け、自動化を分けて確認すると、多くの設定を同時に変更するより問題を特定しやすくなります。以下の手順は、新しい構成の確認にも、変更後に問題が起きた場合にも使えます。

  1. サーバー情報を確認する。Homeで選択中の項目、プロトコル、認証パラメーターを確認します。サブスクリプションから追加した項目は、最後の更新が成功したかも確認してください。
  2. ルーティングモードを確認する。Global Routingの現在の設定値を記録します。ルールを調べる場合は同じ接続先でモードごとの結果を比較し、テスト後に元の値へ戻してください。
  3. 有効な構成ファイルを確認する。Configを開き、ファイル、ポリシー名、ルールの順序を確認します。編集したファイルが保存されているかだけでなく、実際に有効になっているかも確認してください。
  4. DNSと実際のリクエストを確認する。名前解決、接続の確立、接続先からの応答を切り分けます。一回のテスト時間だけで経路全体を判断しないでください。
  5. Dataを確認し、必要に応じて診断する。対象を明確にした一回のアクセスをサンプルとして、Diagnosticsの記録と照らし合わせてください。統計の違いをそのまま料金の異常と判断しないでください。
  6. 最後に自動化と同期を有効にする。手動接続が安定してから、On Demand、ショートカット、iCloud同期を一つずつ確認してください。復元できる構成ファイルのコピーも保管しておきます。

特定のローカルネットワークでのみ問題が起きる場合は、同じサーバーと構成ファイルを使ってネットワーク環境を比較してください。Configモードでのみ問題が起きる場合は、ルールを優先して確認します。条件を一つずつ絞り込めば、関係のない設定変更を減らし、問題の発生箇所も記録しやすくなります。