Shadowrocketをインストール済みで、手元にある接続設定を使う方に向けた記事です。システムのVPN許可とサーバー情報を区別したうえで、Homeの接続スイッチ、SERVER、Global Routing、Connectivity Testの順に確認します。最後に手動接続とOn Demandを比較し、初回接続時の問題を切り分けます。読み終えると、問題が許可、設定、接続、ルールのどこにあるか判断しやすくなります。
初回接続:設定を準備してからVPNを許可する
ShadowrocketはAppleプラットフォーム向けの有料アプリです。主にiPhoneとiPadで利用でき、入手先はApp Storeのみです。アプリを購入した後、利用するには手元にあるサブスクリプションまたはサーバー情報が必要です。本記事ではサーバーやサブスクリプションの提供・販売・推奨は行いません。システム要件とデバイスの互換性はApp Storeの記載をご確認ください。
VPN構成の追加を求める表示は、Shadowrocketがデバイス上にネットワークトンネルを作成するためのシステム権限の確認です。リモートサーバーへのログイン画面ではなく、利用可能な接続先が自動で作成されるわけでもありません。初回起動時にすぐ表示されるとは限らず、通常は初めて接続を試み、システムVPN構成が必要になったときに表示されます。
-
アプリを確認する
App StoreからインストールしてShadowrocketを開きます。購入元を確認する場合は正規アプリの確認ページで、デベロッパがShadow Launch Technology Limited、アプリIDが
932747118であることを確認してください。 -
接続情報を準備する
Homeの右上にある「+」をタップしてAdd Serverを開き、手元の情報に合わせてTypeを選びます。手動で入力する場合は、サーバーアドレス、ポート、認証情報を一つずつ確認してください。既存のサブスクリプションを使う場合はSubscribeを選び、自分のアドレスを入力します。保存後、SERVERに選択できる項目が表示されていることを確認します。
-
手動で接続する
Homeに戻り、テストする項目を選んでからNot Connectedの接続スイッチをオンにします。初回のテストでは手動操作にとどめ、Settings → On Demandはすぐに有効にしないでください。
-
構成を許可する
システムからVPN構成の追加を求められたら、Shadowrocketからの要求であることを確認してAllowをタップします。その後、デバイスのパスコードや本人確認を求められた場合は、画面の案内に従ってください。サーバーのパスワード欄にデバイスのロック解除用パスコードを入力しないでください。
-
戻って状態を確認する
Homeに戻り、接続状態が変わったか確認してからConnectivity Testと実際のアクセスを試します。先ほど許可を取り消した場合は、接続スイッチをもう一度オンにして、構成の作成を再試行します。
Home、Config、Settings:3つの画面の役割
Homeでは日常的な接続操作とサーバーの選択、Configではルール設定ファイルの管理、Settingsではアプリの動作やテストに関する設定を行います。サブスクリプション項目とルール設定は役割が異なり、前者は主にサーバー情報を提供し、後者は接続に適用するルールと動作を決めます。Homeにサーバーが表示されていても、ルールファイルが正しく有効になっているとは限りません。
Not Connected:接続状態と操作スイッチ
Not Connectedは、アプリのVPN接続が確立されていない状態を示します。サブスクリプションの失効を示す専用エラーではありません。スイッチをオンにしても接続状態が維持されない場合は、まず権限が許可されているか確認し、次に選択したサーバー情報を確認してください。システム上でVPN接続が確立されていても、リモート接続の失敗、DNSの名前解決エラー、想定外のルール選択が起こることがあります。
SERVER:使用するサーバー項目を選択
SERVERにはサーバー一覧とサブスクリプションのグループが表示されます。初回テストでは使用する項目を明確に選び、Aのポートを変更したのにBで接続し続けるといった間違いを防ぎましょう。サブスクリプションの更新はサーバー一覧を再取得する操作です。接続を開始する操作でも、Configのルール設定ファイルを切り替える操作でもありません。
- 一覧が空の場合:サーバーを個別に保存したか、サブスクリプションの解析に成功したかを確認してください。VPN構成の追加を繰り返し許可しても、一覧には項目が追加されません。
- 一覧に項目があるのに接続できない場合:表示名だけで判断せず、選択中の項目のアドレス、ポート、プロトコルの認証情報を確認してください。
- 更新後に内容が変わった場合:選択中の項目を確認し、サブスクリプションの更新で接続情報が変わっていないか確認してください。
Global Routing:4つの選択肢の違い
Global Routingは、通信のルーティング方法を決める設定です。初回のトラブルシューティングでは、「VPNスイッチがオンか」と「通信が最終的にどこへ向かうか」を分けて確認してください。接続スイッチをオンにしても、すべてのリクエストが選択したプロキシサーバーを経由するとは限りません。以下ではShadowrocketの各選択肢だけを比較します。Configを使うには、内容を確認済みのルール設定が必要です。
Config
推奨現在有効な設定のルールとポリシーに従って通信を処理します。判定結果はDIRECT、特定のプロキシ、またはポリシーグループになります。どのルールにも一致しないリクエストはFINALなどのフォールバック設定で処理されるため、「残りはすべて直接接続」とは限りません。
適した用途:正しいルール設定があり、日常的にルールで通信を振り分ける場合。
Proxy
すべての通信にプロキシ経由のルーティングを適用し、ルールの影響範囲を一時的に絞って確認できます。誤ったUUID、パスワード、ポート、TLS設定を修正する機能ではなく、すべての通信が成功する保証にもなりません。
適した用途:Configと比較し、ルールの選択が問題に関係しているか確認する場合。
Direct
すべての通信に直接接続を適用します。この設定でVPNが接続中でも、アクセス結果を選択したプロキシサーバーの利用可否を示すものとして扱わないでください。
適した用途:現在のローカルネットワークで直接接続した場合の比較。
Scene
設定済みのシーン条件に応じてルーティングを適用します。事前にシーンを設定しておく必要があり、接続を自動修復するボタンではありません。シーンを明確に設定していない場合は、動作を把握しやすい手動の選択肢を使ってください。
適した用途:シーンを設定済みで、指定した環境に応じてルーティングを切り替える場合。
Configモードでは、通常、ルールは上から順に照合されます。たとえばDOMAIN-SUFFIX,example.com,DIRECTは、該当するドメインのサフィックスにDIRECTを適用します。末尾のFINAL,DIRECTは、それ以前のルールに一致しなかった通信を直接接続します。ここでのexample.comは構文の説明用であり、そのまま読み込む設定一式ではありません。問題の確認時には、GEOIPやIP-CIDRなどのルールが対象ルールより先に一致していないかも確認してください。
Connectivity Test:テスト結果と実際のアクセスを照合
Connectivity Testは接続先への到達性を確認する機能ですが、結果はテスト対象と方法に応じて判断する必要があります。一覧に表示される遅延値、テストの成功、Webページを一度開けたことは、それぞれ該当する条件での結果を示すにすぎません。互いに置き換えられるものではなく、サブスクリプション内のすべての項目が利用可能であることを単独で証明するものでもありません。
初回テストではネットワーク、サーバー項目、テスト対象を固定し、変更は一度に1つにします。Wi-Fi、サーバー、Global Routingを同時に切り替えると、アクセスが回復しても、どの変更が有効だったのか分からなくなります。
| 確認できる症状 | 優先して確認する項目 | 次の操作 |
|---|---|---|
| スイッチをオンにしてもすぐ未接続に戻る | VPNの許可、システムの制限、構成の作成状況 | システムの要求を許可したことを確認してから、Homeに戻って再試行します。 |
| 一覧に遅延値が出るのに、対象のWebページを開けない | テスト方法、Global Routing、DNS、接続先への到達性 | テスト対象を記録し、同じネットワークでProxyとConfigを比較します。 |
| Proxyでは使えるが、Configでは失敗する | 現在のルールファイル、一致したポリシー、ポリシーグループの選択 | Configで有効なファイルを確認し、対象に関係するルールとFINALを調べます。 |
| ネットワークを切り替えると失敗する | ローカルネットワークへのログイン、ネットワーク制限、接続先への到達性 | まずそのネットワークで通常のインターネット接続ができることを確認し、同じ項目でもう一度テストします。 |
サーバー情報を手入力する場合、ポートは手元の情報と一致させてください。たとえば元の情報に443と明記されているなら、アプリ側も443か確認します。TLSを有効にしたからといって、任意のポートを443に変更してはいけません。同様に、VMessのUUID、VLESSのflow、TrojanのパスワードやTLS設定はそれぞれ役割が異なります。他のプロトコルの項目を流用しないでください。
On Demand:手動接続を確認してから自動接続を設定
Settings → On Demandでは、条件に応じてVPN接続を自動的に開始する動作を管理します。Global Routingとは別の設定で、前者は接続を開始するタイミング、後者は接続中の通信のルーティング方法を扱います。初回は手動接続で通信できることを確認しておくと、自動接続によってスイッチの操作結果が分かりにくくなるのを防げます。
操作の順序:手動で確認してから自動接続を設定
初回は手動で確認
- Settings → On Demandで自動接続を一時停止します。
- Homeに戻り、情報を確認済みのサーバーを1つ選びます。
- 手動で接続し、システムの許可とアクセスを確認します。
- 利用できるGlobal Routingの選択肢とネットワーク環境を記録します。
以後は自動接続を設定
- 手動接続が安定してからSettings → On Demandを開きます。
- 設定済みの条件を確認してから、必要な動作を有効にします。
- ネットワーク切り替え時と手動切断後の動作を個別に確認します。
- 意図せず再接続する場合は、自動接続を一時停止してから再テストします。
まずサーバーとルーティングが利用できることを確認してから、自動接続の動作が想定どおりか判断します。接続のトラブルシューティングをOn Demandで代用しないでください。
スイッチをオフにした直後に再接続する場合は、まずOn Demandが有効になっていないか確認してください。組織が管理するネットワークポリシーが適用されているデバイスでは、関連する制限も確認します。一度の自動再接続を止めるために、システムのVPN構成をすべて削除しないでください。まず接続を開始している設定を特定し、該当する項目を調整します。
初回利用時によくある質問
さきほど「許可しない」をタップしました。再インストールが必要ですか?
まずHomeに戻って接続スイッチをもう一度オンにし、再度表示されるシステムの案内でVPN構成の追加を許可してください。要求が表示されない、または構成を作成できない場合は、システムの「設定 → 一般 → VPNとデバイス管理」で既存の構成や管理上の制限を確認します。通常の対処として、まず再インストールする必要はありません。
VPNを許可したのに、SERVERが空なのはなぜですか?
VPNの許可によってサーバーが提供されるわけではありません。Homeに戻り、右上の「+」から手元にある情報を追加するか、自分のサブスクリプションを読み込みます。保存が完了し、サブスクリプションから項目を正常に解析できたことを確認してから、サーバーを選んで接続してください。
接続済みと表示されるのに、プロキシ経由になっていないようです。
まずHome → Global Routingを開き、Directが選ばれていないことを確認します。Configを使っている場合は、対象がDIRECTまたは直接接続のポリシーに一致していないか確認してください。一時的にProxyへ切り替えて同じ接続先を比較し、テスト後は必要な設定に戻します。
スイッチをオフにしても自動で再接続します。どこを確認すればよいですか?
まずSettings → On Demandで自動接続を一時停止してから、Homeに戻って切断し、状態を確認します。その状態で再接続しなくなれば、問題は接続スイッチではなくトリガー条件にあります。再び有効にする前に、条件を一つずつ確認してください。
問い合わせ時にサブスクリプションのURLやスクリーンショットをそのまま送ってもよいですか?
サブスクリプションのtoken、UUID、パスワード、秘密鍵、QRコードに含まれる認証情報は、先に隠してください。共有する情報は、プロトコルの種類、ポート、Global Routingの選択肢、許可が完了したか、テスト時の症状、ネットワークの種類にとどめます。元のサブスクリプションURLを共有すると、アクセス権が漏れるおそれがあります。
初回設定の完了は「VPNアイコンが表示されたか」だけでは判断できません。システムの許可が完了し、使用する項目が明確で、ルーティング方法を説明でき、対象へのアクセス結果が想定どおりであることを確認します。ルールの変更、サブスクリプションの更新、On Demandの有効化後も、それぞれの項目を個別に再確認すると、変化の原因を特定しやすくなります。