Shadowrocketの初回設定では、まず手元にある接続設定を準備し、初回接続時にシステムによるVPN構成の追加を許可します。この記事ではHome画面の接続スイッチ、ルーティング、テスト機能、サーバー一覧の役割を説明します。アプリをインストールしたものの、初回接続がまだのiPhone/iPadユーザー向けです。権限、選択中のサーバー、通信の振り分け結果を順に確認でき、スイッチの色だけで利用可否を判断せずに済みます。
1. アプリの購入・接続設定・VPN権限の違い
ShadowrocketはAppleプラットフォーム向けのクローズドソースの有料アプリです。入手先はApp Storeのみで、開発者はShadow Launch Technology Limited、アプリIDは932747118です。購入前に正規アプリの確認ページで製品情報を確認できます。システム要件、対応デバイス、購入に関する情報はApp Storeの記載をご確認ください。
アプリの買い切り購入と接続サービスの契約は別です。ここでは、利用者がすでに契約しているサービスとサブスクリプションを使うことを前提に、既存の設定の利用方法だけを説明します。アプリのインストール、サーバーの読み込み、VPN構成の許可はそれぞれ別の操作です。インストールすると操作画面が使えるようになり、設定を読み込むと接続情報が登録され、システムの許可を得ると通信処理用のネットワークトンネルを確立できます。
初回設定で確認する2種類の設定
アプリ内の接続設定
- 利用者がすでに持っているサブスクリプションまたは接続情報を使います。
- サーバーアドレス、ポート、プロトコル、認証情報が含まれます。
- 読み込み後、HomeのSERVER欄で確認します。
システムのVPN構成
- アプリが接続を開始するときに、iOSから追加を求められます。
- 利用者が許可し、システムの指示に従って認証する必要があります。
- 許可してもサーバーが作成されたり、認証情報が補われたりするわけではありません。
まずアプリの提供元と接続情報の入手元を確認してから接続を許可しましょう。権限の設定が完了しても、接続先のサービスが正常とは限りません。
2. 初回接続時にVPN構成の追加を許可するタイミング
「初回起動時に許可が必要」という説明は、よくある簡略表現です。実際には、初めて接続を開始しようとしたときに、対応するVPN構成がまだ追加されていない場合に、システムの許可画面が表示されます。アプリを開いた直後に必ず表示されるわけではありません。Homeが空のままなら、先に設定を読み込みましょう。許可画面が出るまでスイッチを何度も押す必要はありません。
-
設定を読み込む
Home右上の「+」をタップし、TypeでSubscribeを選択します。利用者がすでに持っているサブスクリプションURLを入力して保存してください。形式の例は
https://example.com/sub?token=xxxxです。これは例示用の無効なアドレスなので接続には使えません。実際のURLやトークンは他人に知られないようにしてください。 -
一覧を確認する
Homeに戻り、読み込みが完了したらSERVER一覧を確認します。サーバーが表示されない場合は、まずサブスクリプションの取得結果を確認してください。更新が必要な場合は該当するサブスクリプションの更新操作を使います。一覧が空だからといって、システム権限の問題とは限りません。
-
サーバーを選ぶ
登録済みのサーバーをタップし、選択マークが目的の項目についていることを確認します。サブスクリプションのグループ名と個々のサーバー項目は別のものです。接続に使われるのは、現在選択中の項目、または現在のポリシーで選ばれた接続先です。
-
接続を開始する
Home上部のNot Connected行にあるスイッチをタップします。VPN構成の追加を求める画面が表示されたら、今回の操作による要求であることを確認して許可し、iOSの指示に従ってパスコード入力または認証を完了してください。
-
接続を確認する
Homeに戻って接続状態を確認し、動作確認が必要な接続先にアクセスします。すぐに切断されるのか、長時間待たされるのか、接続済みでも接続先を利用できないのかを記録しましょう。状況によって確認すべき箇所が異なります。
3. Home画面の各項目の役割
Homeは接続操作、Configはルール設定、Settingsはアプリの設定を管理する画面です。初めて使うときは、それぞれの役割を分けて考えましょう。Homeでサーバーを変更しても、Configのルールが自動で書き換わるわけではありません。Settingsで自動接続の条件を変更しても、各ドメインの通信経路が変わるわけではありません。
接続状態と通信の経路
- Not Connected
- アプリの接続が確立していない状態です。横のスイッチから接続または切断できます。
- Global Routing
- ルーティング方式を選び、設定ファイルのルールを使うか、別の方法で通信を処理するかを決めます。
- Config
- 画面下部のタブから設定ファイルを選択・編集できます。同じ名前のルーティング方式と関連はありますが、別の操作項目です。
接続状態は「トンネルが動作中か」を示し、ルーティング方式は「通信をどう処理するか」を示します。
テスト機能とサーバー一覧
- Connectivity Test
- 現在のテスト方法でサーバーへの到達性や遅延を確認します。結果はテスト先やネットワーク環境によって異なります。
- SERVER
- 読み込み済みまたは手動で追加したサーバーを表示し、確認・選択・管理できます。
- Subscribe
- 設定の読み込みに使ったサブスクリプションの種類です。利用者がすでに持っているURLから接続設定を取得します。
テスト結果は接続スイッチの状態を示すものではありません。一覧に項目があっても認証済みとは限りません。
起動時にNot Connectedと表示されても、インストールに失敗したわけではありません。通常はまだ接続を開始していない状態です。一方、接続済みになっても、ローカルのトンネルが動作していることを示すにすぎず、選択中のサーバー、DNS、ルール、接続先のWebサイトがすべて正常とは限りません。
4. 初回のGlobal Routingはどう選ぶ?
初回のトラブルシューティングでは、「ルーティング方式の選択ミス」と「サーバー情報の誤り」を切り分けましょう。信頼でき、利用環境に合ったルール設定がある場合は、Configから確認します。設定内容をまだ確認していない場合は、画面下部のConfigを開き、現在使っているファイルを確認してください。Configを選ぶだけで、すべてのWebサイトに適したルールが自動設定されるわけではありません。
Config
おすすめ現在有効な設定ファイルのルールに従って通信先を決めます。ルールによって通信をPROXY、DIRECT、または定義済みの別ポリシーに振り分けられます。どのルールにも一致しない通信は通常FINALで処理されますが、実際の動作はファイルの内容によって異なります。
おすすめの用途:利用環境に合ったルール設定があり、日常的にルールで通信を振り分ける場合。
Proxy
アプリが処理する通信をまとめてプロキシ経由にし、Configでの結果と比較しやすくします。パスワードの誤り、無効なサーバーアドレス、接続先サービスの障害は解決できません。
おすすめの用途:特定の接続先がルールの選択によって誤った経路に進んでいないか、一時的に確認する場合。
Direct
アプリが処理する通信を選択中のプロキシサーバーを経由せずに直接接続します。これは直接接続のルーティング方式であり、Homeの接続スイッチをオフにする操作とは異なります。
おすすめの用途:現在のネットワークで直接接続した場合と比較し、ローカルネットワークとプロキシ経路のどちらに問題があるかを切り分ける場合。
Scene
設定済みのシーン条件に応じて、ルーティングの動作を切り替えます。シーンの設定と現在の条件を先に確認してください。Configの別名ではありません。
おすすめの用途:シーン条件を設定・確認済みで、環境に応じて動作を切り替える場合。
たとえば、現在の設定に次のルールが含まれている場合、example.comとそのサブドメインはPROXYに一致し、先行するルールに一致しない通信はDIRECTに振り分けられます。これはルール構文の例であり、初回接続時にそのまま貼り付ける完全な設定ではありません。使用前に、設定内のPROXYが利用可能な接続先を参照していることも確認してください。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
ルールは上から順に確認され、最初に一致したルールで処理方法が決まります。Configでは接続先を利用できず、Proxyに切り替えると利用できる場合は、サブスクリプションをすぐ削除せず、接続先に一致するルールとポリシーを先に確認しましょう。テスト後は元のルーティング方式に戻し、一時的な設定をそのままにしないでください。
5. Connectivity Test:遅延の数値だけでは接続を確認できない
HomeでConnectivity Testを実行したときは、「現在のネットワークで、特定のテスト方法を使った結果」として読み取ります。サーバーのポートへの到達性を調べるテストもあれば、プロキシ経由でテスト先にアクセスするものもあります。それぞれ確認できる通信経路の範囲が異なります。テストの種類、接続先、タイムアウトの設定を変えると、表示される数値も変わることがあります。
| 確認できた状況 | 考えられること | 次に行うこと |
|---|---|---|
| 遅延は表示されるが、Webページを開けない | テストが完了しても、接続先への通信がすべて正常とは限りません | 認証、ルール、DNS、実際の接続先へのアクセスを確認 |
| timeoutと表示される | 今回のテストが制限時間内に完了しませんでした | 別のネットワークで再テストし、アドレス、ポート、テスト先を確認 |
| 接続がすぐ切れる | トンネルの起動または接続を維持できていません | まずシステム権限とアプリ内のエラーメッセージを確認 |
| 特定のWebサイトだけ利用できない | サーバー全体が使えないとは限りません | ProxyとConfigの結果を比較し、接続先に適用されるルールとサーバーの応答を確認 |
たとえば、利用者がすでに持っている接続情報でポートが443に指定されている場合は、読み込み後もポートが443になっていることを確認します。テストがタイムアウトしたからといって、独断で80に変更してはいけません。ポートは接続情報の一部であり、プロトコル、認証方式、TLSなどのオプションも既存のサービス設定と一致させる必要があります。ここで示したポートは確認方法の説明用で、すべてのサーバーに共通する値ではありません。
- サーバー、ネットワーク、接続先をそれぞれ1つに固定し、再現可能な結果を確認します。
- 一度に変更するのは1項目だけにし、変更前後の接続状態とアクセス状況を記録します。
- Wi-Fiとモバイル通信を比較するときは、サーバーとルーティング方式を同じに保ちます。
- 問い合わせ時はエラーメッセージを残しつつ、サブスクリプションのトークン、パスワード、個人の接続情報を隠してください。
6. SERVER一覧とサブスクリプション更新:選択中の項目を確認
SERVER一覧は接続先の一覧であり、購入履歴ではありません。サブスクリプションの読み込みに成功すると、複数の項目が含まれる場合があります。名前は項目を見分けるためのラベルで、プロトコルや接続情報の確認には代わりません。該当するグループを開き、実際に選択されている項目を確認してからテストしてください。サーバーを切り替えた後も、前の項目でのテスト結果を流用せず、改めて確認しましょう。
サブスクリプションの更新では、接続先から提供される項目を再取得します。アプリのアップデートとは異なります。接続先の内容が変更されると、サーバー名や件数、接続情報も変わることがあります。更新後は、選択中の項目が引き続き目的の接続先か確認してください。通常、サブスクリプションを更新するたびにシステムのVPN構成を追加し直す必要はありません。
- 一覧が空:サブスクリプションURLを保存しただけで、内容の取得が完了していない可能性があります。URLが完全かどうかも確認してください。
- 更新エラー:URLから取得できない、認証が無効、内容を解析できない、といった原因を切り分けます。まずエラーメッセージを確認してください。
- 項目に変更があった:現在選択中のサーバーを確認し、必要に応じて再テストしてください。以前の名前が同じ接続情報を示すとは限りません。
- ルールに変更がない:サーバーのサブスクリプションを更新しても、ルール設定が更新されるとは限りません。Configのファイルは個別に確認してください。
7. 接続を確認してからOn Demandを設定する
手動接続がまだ正常に確認できていない場合は、自動接続の条件を変えずにおきましょう。手動接続を再現できることを確認してから、Settings → On Demandを開き、オンデマンド接続の設定を確認します。On Demandは「いつ自動接続または切断するか」を制御し、Global Routingは「接続後に通信をどう処理するか」を制御します。互いに置き換えられる設定ではありません。
- Homeから手動で接続し、選択中のサーバーと現在のルーティング設定が機能するか確認します。
- Settings → On Demandを開き、既存の条件を1つずつ確認してから、実際の用途に合わせて設定します。
- 該当するWi-Fiまたはモバイル通信に切り替え、実際の接続状態を確認して条件が適用されるか確かめます。
- 手動で切断しても再接続される場合は、On Demandの条件とシステムVPNのオンデマンド接続状態を確認してください。