この記事では、Shadowrocket に自分の Subscribe または手動のサーバー情報を登録済みの方を対象に、サーバーの選択確認、Global Routing の設定、システム VPN の許可、Connectivity Test の結果から設定・ネットワーク・ルールの問題を切り分ける方法を説明します。
接続前に Subscribe とサーバー項目を確認する
初回接続には、Home に利用可能なサーバー項目が表示されている必要があります。Shadowrocket は Apple プラットフォーム向けの有料クライアントで、買い切り料金に含まれるのはアプリの利用権のみです。回線サービスは含まれません。Subscribe の URL、サーバーのドメイン、ポート、パスワード、プロトコル設定は、利用中のサービス提供元から取得してください。アプリがこれらの情報を自動生成することはありません。
Home のリストが空の場合は、まず読み込み手順を確認します。Subscribe を追加するには、Home 右上から追加画面を開き、Type を Subscribe に設定して、手元の Subscribe URL を入力します。形式確認用のダミー値は https://example.com/sub?token=xxxx とできますが、実際の操作では自分の有効な URL を使用してください。保存して Home に戻り、リストをプルダウンして更新します。
アプリを確認する
App Store から Shadowrocket を入手し、開発者が Shadow Launch Technology Limited、アプリ ID が 932747118 であることを確認します。システム要件は App Store の掲載内容を確認してください。
Subscribe を更新する
Home で保存済みの Subscribe 項目をプルダウンして更新し、サーバーリストの更新が完了するまで待ちます。更新中にネットワークを何度も切り替えないでください。
設定値を確認する
Add Server で手動追加した場合は、Type、Address、Port、Password または UUID、さらに TLS、Transport などプロトコル関連の項目を一つずつ確認します。
サーバーを選択する
Home で使用するサーバー項目をタップし、左側または項目の前に選択中の丸印が表示されることを確認します。読み込んだだけで選択していない場合、接続スイッチの対象サーバーが明確になりません。
現在のネットワークを維持する
初回確認中は同じ Wi-Fi またはモバイルネットワークを使い続け、テスト完了後にネットワークを切り替えます。これにより、ネットワークの変化を設定ミスと誤認しにくくなります。
Home でサーバーを選択し、Global Routing を設定する
Home のリストには複数のサーバーが表示される場合があります。いずれかをタップすると、選択中の丸印が現在の接続先を示します。遅延時間はその時点のテスト結果だけを示すため、完全な接続確認の代わりにはなりません。遅延が表示されなくても、すぐに項目を削除せず、プロトコル設定を確認して Connectivity Test を試してください。
サーバーを選択したら、Global Routing を確認します。この設定により、トラフィックを Config のルールで処理するか、すべて現在のプロキシに送るか、すべて直接接続するか、Scene に応じて切り替えるかが決まります。初回の日常的な確認では、サーバー接続とルールファイルの動作を同時に検証できる Config が適しています。ルールによって対象アドレスがプロキシを経由していない疑いがある場合は、一時的に Proxy に切り替えて比較し、確認後に戻します。
Config
推奨現在の Config にあるルールを上から順に照合し、最初に一致したルールのポリシーを実行します。先に一致しなかったトラフィックは FINAL で処理されます。
適している用途:基本接続の完了後に日常的な振り分けを確認する場合
Proxy
トラフィックを現在選択中のプロキシサーバーに送り、通常の振り分け結果による直接接続を行いません。問題がルールに起因するかを確認する際に使えます。
適している用途:Config のルール照合による問題を一時的に切り分ける場合
Direct
トラフィックを現在のサーバーを経由せず、対象へ直接接続します。この状態では、総合スイッチがオンでもプロキシサーバーが動作しているとは判断できません。
適している用途:ローカルネットワークから対象へ直接アクセスできるか比較する場合
Scene
設定済みのネットワークシーンに応じてポリシーを使用します。事前にシーンの条件と、それに対応する動作を確認してください。
適している用途:基本接続を完了し、ネットワークシーンを設定済みの場合
Config のルール順序は結果に直接影響します。Shadowrocket は上から最初に一致するルールを探し、一致するとそれより下のルールは確認しません。以下の構文は照合関係を説明するためのもので、手元の完全な設定をそのまま置き換えるものではありません。
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
DOMAIN-SUFFIXはドメインのサフィックスで照合します。たとえばサブドメインもexample.comに一致します。IP-CIDRは IP アドレスの範囲で照合します。上記のプライベートアドレス帯は Direct のままにします。GEOIPは対象 IP の地理情報をもとに照合します。結果は現在の設定で使用しているデータに左右されます。FINALは、それまでのルールに一致しなかったトラフィックを処理します。通常はルールの末尾に置きます。
総合スイッチをオンにしてシステム VPN を許可する
サーバーと Global Routing を確認したら、Home で総合接続スイッチをオンにします。システム VPN 構成を初めて作成するときは、iPhone または iPad にシステムレベルの許可画面が表示されます。画面の指示に従い、デバイスのパスコード、Face ID、または Touch ID で確認してください。この許可は Apple のシステムが管理します。Shadowrocket は許可を得て初めて接続構成を作成できます。
許可後は Home に戻り、スイッチの状態を確認します。スイッチがすぐオフに戻る場合は、連続して素早く再試行せず、まずアプリに表示されたエラーを確認してください。Port、Password、UUID、証明書名、TLS、Transport のいずれかが一致しないと、接続確立時に終了する可能性があります。
接続前の状態
- 画面
- Home
- サーバー
- 項目の前に選択中の丸印がある
- ルーティング
- Global Routing が Config
- ネットワーク
- Wi-Fi またはモバイルネットワークで正常に通信できる
この4項目で、再現可能な初回テスト条件を整えます。
システム許可
- 実行のタイミング
- 初めて Home の総合スイッチをオンにしたとき
- 許可の対象
- システム VPN 構成
- 確認方法
- デバイスに表示された手順で認証を完了する
- 完了後
- Home に戻って接続状態を確認する
許可を拒否するとシステム VPN 構成を作成できません。スイッチを再度オンにして、システムの指示に従って処理してください。
- まず Home でサーバーの選択中の丸印を変えず、現在の Global Routing の状態を記録します。
- 総合スイッチをオンにし、システムに実際に表示された VPN 構成の要求だけを処理します。
- 許可が完了したら接続状態が安定するまで待ち、短時間にスイッチを何度も切り替えないでください。
- 接続が自動的に切れる場合は、まずエラー表示を確認し、その後サーバーのプロトコル項目を確認します。
- スイッチが接続状態を維持したら Connectivity Test を実行します。スイッチの状態だけで最終判断しないでください。
Connectivity Test で接続を確認する
総合スイッチをオンにしたまま、Home から Connectivity Test を開きます。この手順では実際の接続性を確認できます。サーバーリストに表示される一度の遅延時間だけを見るより、現在の接続状態を正確に確認できます。テスト中はアプリを前面に表示し、各項目の結果が返るまで待ってください。テスト中に Global Routing を切り替えないでください。
結果はテスト対象と併せて判断します。所要時間が表示される場合は、通常、制限時間内に応答を受信したことを示します。Timeout は待機時間内に完了しなかったことを示します。タイムアウトの原因は、サーバーに到達できない、プロトコル項目が誤っている、DNS 解決に失敗している、現在のネットワークに制限がある、Config のルートが想定と異なるなどさまざまで、Timeout だけで特定の原因を断定することはできません。
テスト結果が返る
- 入口
- Home → Connectivity Test
- 状況
- テスト項目に所要時間または成功状態が表示される
- 次の手順
- 確認したい実際の対象へアクセスする
- 再確認
- Config に戻して再テストする
テスト成功は、そのテスト要求が完了したことを示します。実際の対象とルールの一致結果も併せて判断してください。
テストがタイムアウトする
- 1つ目
- サーバーが選択されたままか確認する
- 2つ目
- Config と Proxy を一時的に比較する
- 3つ目
- Address、Port、認証項目を確認する
- 4つ目
- 正常に通信できる元のネットワークに戻して再テストする
一度に変更する変数を1つだけにすると、前後の結果から問題の層を特定できます。
遅延テストと実際の接続を区別する
- サーバーリストにミリ秒単位の数値が表示される場合、その遅延探索で応答を受信したことを示します。すべての対象にアクセスできるとは限りません。
- サーバーリストに Timeout と表示された場合は、まず現在のネットワークとサーバー設定を確認し、すぐにルールファイルの問題だと決めつけないでください。
- Connectivity Test は成功するのに特定のドメインに接続できない場合は、そのドメインがどの
DOMAINまたはDOMAIN-SUFFIXルールに一致したかを確認します。 - Proxy は利用できるのに Config が利用できない場合は、ルールの順序、ポリシー名、
FINALの転送先を重点的に確認します。 - Direct は利用できるのに Proxy がタイムアウトする場合は、現在選択中のサーバーとプロトコル項目を重点的に確認します。
たとえば Config では特定のドメインにアクセスできないのに、Proxy では同じドメインのテストに成功する場合、サーバー自体は応答できているため、Config のルール一致を重点的に確認します。より上にある DOMAIN-SUFFIX、GEOIP、IP-CIDR ルールがリクエストを Direct に送っていないか、またポリシー名が設定内の定義と一致しているかを確認してください。
状況別に初回接続の失敗を切り分ける
初回接続に失敗した場合は、変数を固定するのが最も効果的です。同じネットワーク、同じサーバー、同じテスト対象を維持し、一度に1つの設定だけを変更します。まず Home の選択状態を確認し、次に総合スイッチがオンのままか確認し、最後に Config、Proxy、Direct で Connectivity Test の結果を比較します。
スイッチをオンにするとすぐオフに戻る場合は?
まず Shadowrocket に現在表示されているエラーを確認し、その後サーバー詳細で Address、Port、Password、または UUID を確認します。Shadowsocks では Method、VMess と VLESS では UUID、TLS、Transport、Trojan では Password と TLS、Hysteria2 ではポート、認証情報、TLS 名、WireGuard ではキー、Address、Peer の項目を確認します。
サーバーの前に選択中の丸印がない場合は?
Home で使用するサーバー項目を直接タップし、前に選択中の丸印が表示されてから総合スイッチをオンにします。リストが空の場合は、まず既存の Subscribe を更新します。更新に失敗する場合は、Subscribe URL が完全か確認してください。
スイッチは接続状態なのにウェブページを開けない場合は?
まず Global Routing が Direct になっていないことを確認し、Home → Connectivity Test を実行します。Proxy では結果が返るのに Config で失敗する場合は、ルールの順序と FINAL を確認します。どちらもタイムアウトする場合は、サーバー設定と現在のネットワークを確認してください。
Subscribe の更新後にサーバーが突然変わった場合は?
更新により、リストの名前、並び順、項目内容が変わる場合があります。選択中の丸印が付いたサーバーを改めて確認し、更新後の Type、ポート、Transport の設定がサービス提供元の現在の設定と一致しているか確認してください。
モバイルネットワークに切り替えると接続できない場合は?
サーバー設定を変えずに Connectivity Test を実行し、その後元の Wi-Fi に戻して比較します。片方のネットワークだけで失敗する場合は、Settings → On Demand にそのネットワーク種別向けの Connect または Disconnect 条件がないか確認してください。
プロトコル項目を別の種類と混在させない
Add Server の Type ごとに使用する項目は異なります。Shadowsocks の主な項目は Address、Port、Password、Method です。VMess と VLESS では通常 UUID を使い、TLS や WebSocket などの Transport 設定が加わる場合があります。Trojan では Password と TLS 関連の項目を、Hysteria2 では UDP と QUIC を前提に、認証情報に加えて TLS 名を確認します。WireGuard ではローカル秘密鍵、Address、DNS、Peer の公開鍵と Endpoint を使用します。項目名が似ていても相互に置き換えられるとは限りません。
| 状況 | 優先して確認する項目 | 比較操作 |
|---|---|---|
| スイッチがすぐオフに戻る | プロトコルの認証と Transport 項目 | Type、Address、Port、認証情報を確認する |
| Proxy は成功、Config は失敗 | ルールの一致とポリシー名 | DOMAIN-SUFFIX、GEOIP、IP-CIDR、FINAL の順序を確認する |
| Wi-Fi は成功、モバイルネットワークは失敗 | ネットワーク条件と On Demand | サーバーを変えず、2種類のネットワークでテストする |
| 更新後に接続できない | 現在選択中のサーバー | 項目を再選択し、更新後の設定を確認する |
初回接続後に固定する確認手順
Connectivity Test が結果を返し、実際の対象にも想定どおりアクセスできたら、切り分けの順序を固定できます。以後、接続に異常があった場合は、まず Home のサーバー選択状態、次に Global Routing、続いて接続性を確認し、最後にプロトコル設定やルールを変更します。複数の場所を同時に変更して比較条件を失うことを防げます。
On Demand は後から設定する自動化機能で、初回の手動接続に必須ではありません。Wi-Fi やモバイルネットワークに応じて自動接続する場合は、Settings → On Demand を開いて条件を確認・設定します。有効にする前に手動接続を一度安定させ、各条件に Connect、Disconnect、または想定した動作が設定されていることを確認してください。自動動作が切り分けの妨げになるのを防げます。
日常の接続手順
- ステップ1
- Home でサーバーの選択を確認する
- ステップ2
- Global Routing で Config を選択する
- ステップ3
- 総合スイッチをオンにする
- ステップ4
- Connectivity Test を実行する
- ステップ5
- 実際の対象を確認する
手順を固定すると、異常がどの段階で起きたか判断しやすくなります。
On Demand
- 入口
- Settings → On Demand
- 前提条件
- 手動接続の成功を確認済みである
- 条件
- Wi-Fi またはモバイルネットワークで照合する
- 動作
- 既存のルールに従って接続動作を実行する
- 再確認
- ネットワーク切り替え後に実際の状態を確認する
自動接続の条件は1つずつテストし、初回の手動切り分けと同時に有効にしないでください。
- Subscribe を更新した後はリストの内容や並び順が変わる可能性があるため、現在のサーバーを改めて確認してください。
- Config を変更した後は、まずルール構文を確認してから Connectivity Test を実行します。
- Wi-Fi とモバイルネットワークを切り替えるときはサーバーを変えず、同じ対象で比較します。
- トラブル対応時は、Global Routing が Config、Proxy、Direct、Scene のどれになっているかを記録します。
- 一度の遅延時間だけで継続的な利用可能性を判断せず、現在のネットワークで実際にテストした結果を基準にしてください。