Shadowrocketの初回接続は、「サーバー選択 → ルーティング方式の確認 → スイッチをオン → テスト → 実際にアクセス」の順に進めます。利用者自身が用意したサービスの設定またはサブスクリプションがあることを前提に、SERVER左側の丸印、VPN構成の許可、Connectivity Testの役割を説明します。結果が空欄の場合、タイムアウトする場合、テストは正常でもページを開けない場合に分けて対処します。
接続前にSERVERの設定を確認
Shadowrocketを購入してインストールした後、自分のサーバーパラメータまたは既存のサブスクリプションを読み込む必要があります。アプリの買い切り購入と接続サービスの契約は別です。アプリを購入しただけでは、サーバーアドレス、ポート、認証情報は設定されません。初回接続の前に、HomeのSERVER欄にサーバーの項目が表示されていることを確認してください。リストが空、またはサブスクリプショングループ名しか表示されていない場合は、まだ接続できません。
サブスクリプションをまだ読み込んでいない場合は、Home右上の「+」からAdd Serverを開き、TypeでSubscribeを選択します。自分のサブスクリプションURLを入力して保存し、Homeに戻って更新してください。サブスクリプションの解析後に項目が表示されても、設定がリストに追加されたことを示すだけで、各サーバーに接続できるとは限りません。この記事ではサブスクリプションを提供・推奨していません。以降の手順は、すでに利用者自身が持っている設定を対象としています。
- サーバー情報を確認:項目の編集画面を開き、Type、サーバーアドレス、ポートが元の情報と一致するか確認します。認証欄の内容は、使用するプロトコルに従ってください。
- サブスクリプションの状態を確認:リストが空の場合は、まずサブスクリプションの読み込みまたは更新を行います。接続スイッチを何度も切り替える必要はありません。
- ネットワークの基本状態を確認:まずShadowrocketの接続をオフにし、現在のWi-Fiまたはモバイル通信で、通常そのままアクセスできるページを開きます。公共Wi-Fiでログインが必要な場合は、先にネットワークへのログインを済ませてください。
- 元のパラメータを維持:接続を試すためにUUID、Password、TLS、通信設定をむやみに変更しないでください。サーバーアドレスが同じでも、異なるプロトコルのパラメータを共用できるとは限りません。
初回接続:丸印で選択してスイッチをオン
HomeのSERVERリストでサーバー左側の丸印をタップすると、デフォルトサーバーを選択できます。項目の編集画面を開く操作と、デフォルトサーバーを選ぶ操作は別です。サーバーの詳細情報を確認できても、その項目が選択済みとは限りません。Homeに戻り、リストの選択マークを確認してください。
-
サーバーを選択
Home → SERVERを開き、パラメータを確認したサーバーを見つけて、左側の丸印をタップします。項目名を控えておき、以降のテストでも同じ項目を使ってください。
-
ルーティングを確認
Home → Global Routingを開き、Config、Proxy、Direct、Sceneのどれが現在選択されているか確認します。初回にサーバー自体を切り分ける際は、一時的にProxyを使用できます。確認後は、普段の設定に戻してください。
-
スイッチをオン
Homeに戻り、画面上部の接続スイッチをオンにします。初めてシステムからVPN構成の追加を求められた場合は、要求元がShadowrocketであることを確認して許可し、画面の指示に従って認証してください。
-
テストを実行
接続状態が更新されるまで待ち、Home → Connectivity Testをタップします。今回のテストが完了するまで待ち、選択したサーバーの結果を確認してください。テスト中にサーバーを何度も切り替えないでください。
-
アクセスを確認
ブラウザで実際に使いたいページを開き、更新します。遅延の数値だけで判断せず、Connectivity Testの結果と実際のアクセス状況をあわせて確認してください。
最初にVPN構成の追加を許可しなかった場合は、接続をもう一度試し、システムの案内に従ってください。サーバーがリストにあること、丸印で選択されていること、システムでVPN接続が確立していることは、それぞれ別の状態です。システムに接続済みと表示されても、リモートサーバーの認証が完了したとは限らず、すべてのWebサイトにアクセスできることも意味しません。
Global Routing:テスト時に確認する項目
Global Routingでは接続のルーティング方式を指定します。デフォルトサーバーを変えなくても、ルーティング方式を切り替えると実際のアクセス経路が変わる場合があります。切り分けの際は現在の選択肢を記録し、一度に変更する条件は一つにしてください。サーバーの変更、DNSの設定、ルーティング方式の切り替えを同時に行うと、どの操作が結果に影響したのか判断できません。
Config
現在の設定にあるルールとポリシーに従って接続を処理します。ルールによってDIRECT、プロキシポリシー、またはポリシーグループが選ばれることがあるため、特定のリクエストがHomeで手動選択したデフォルトサーバーを使うとは限りません。
適した用途:確認可能なルールがあり、宛先ごとに通信を振り分ける日常利用。
Proxy
推奨今回の初回接続の切り分けでは、プロキシ経由にするとルールによる振り分けの影響を抑え、選択したサーバーと実際のアクセスとの関係を確認しやすくなります。ただし、システム、ローカルネットワーク、その他の関連設定の影響も考慮してください。
適した用途:デフォルトサーバーを一時的に確認し、サーバーの問題とルールの問題を切り分ける。
Direct
直接接続でルーティングします。この状態でWebページを開けても、選択したプロキシサーバーが利用可能だとは判断できません。ネットワークの基本状態を比較するために使用します。
適した用途:プロキシ経由と比較して、現在のネットワークから直接アクセスできるか確認する。
Connectivity Test:結果からわかること
Connectivity Testでは、現在のテスト方式でテスト対象に到達できるか、応答があるかを確認できます。数値が表示された場合は、そのテストで応答を受信したことを示します。通信速度の測定ではなく、すべてのアプリ、ドメイン、通信方式を検証するものでもありません。テスト方式によって確認できる経路は異なります。特にポートへの到達確認だけでは、プロキシ認証やWebページへの一連のリクエストが正常に完了したとは証明できません。
テスト対象やテスト方式が実際のアクセス先と異なる場合、結果に差があっても矛盾ではありません。Webページの表示には、複数のドメイン、DNSの名前解決、TLSハンドシェイク、リソースの取得が必要なこともあります。まずテストで原因の範囲を絞り、最後は実際のアクセスで確認してください。数値の大小だけで、現在の用途にサーバーが適しているか判断しないでください。
この2つのポートはWeb接続と名前解決を区別するための例であり、サーバーポートをこれらの数値に変更する指示ではありません。また、Connectivity Testが必ずこのポートを検査するという意味でもありません。サーバーポートは常に自分の設定に従ってください。ページが開かない場合は、テストが応答しないのか、名前解決に問題があるのか、特定のサイトだけ失敗するのかを切り分けてから、確認する層を判断します。
- 結果が空欄:テストを実行して完了まで待ったか確認してください。空欄だけでは、未実行、未完了、表示可能な結果がない状態を区別できません。
- タイムアウトが表示される:今回のテストで、制限時間内に必要な応答を受信できなかったことを示します。原因はローカルネットワーク、サーバー、テスト対象、テスト方式のいずれにも考えられます。
- 数値は表示されるがアクセスできない:接続状態、Global Routing、DNS、実際のリクエストを引き続き確認してください。認証やルールの確認を省略できるわけではありません。
結果が空欄・タイムアウトの場合:2つの手順で切り分け
同じデバイス、同じサーバー、同じテスト方式を維持し、問題が再現するか確認します。一度のタイムアウトは一時的なネットワークの変動かもしれません。テストを何度も実行しながら複数の設定を同時に変えると、比較条件が失われます。以下では「明確な結果がない」場合と「失敗が確認できた」場合を別々に扱います。
結果に応じて確認する
結果が空欄
- SERVERに実際のサーバー項目があり、左側の選択マークが付いていることを確認します。
- Connectivity Testをもう一度実行し、Homeを開いたまま結果が更新されるのを待ちます。
- 確認しているのが選択中のサーバーの結果なのか、テストが完了していない別の項目なのかを区別します。
- 結果が表示されない状態が続く場合は、テスト方式と対象の設定を確認し、ネットワークの基本状態も調べてください。
タイムアウトが続く
- 接続をオフにしてネットワークの基本状態を確認し、Wi-Fiへのログインが必要か、ネットワーク自体が利用できないかを調べます。
- サーバーアドレス、ポート、認証、TLS関連の項目を確認し、推測で値を変更しないでください。
- 設定を変えずにWi-Fiとモバイル通信を切り替えて比較します。モバイルデータ通信の使用量に注意してください。
- 利用中のサービス提供元にサーバーの状態を確認し、個人情報を伏せた失敗状況を伝えてください。
特定のネットワークだけで同じ項目が失敗する場合は、そのネットワーク経路を優先して確認します。複数のネットワークですべて失敗する場合は、サーバーの状態、パラメータ、テスト対象をまとめて確認してください。
手元に別の利用可能なサーバーがある場合は、サブスクリプション全体を削除せず、デフォルトサーバーだけを切り替えて比較できます。1つの項目だけが失敗するなら、その項目のパラメータとリモート側の状態を重点的に確認します。すべて失敗する場合は、すべての設定が無効だと決めつけず、ローカルネットワーク、テスト設定、サービスの状態も検討してください。
テストは正常でもページが開かない:ルールとDNSを確認
まず接続スイッチがオンのままか確認し、Home → Global Routingを開きます。Configを使用している場合は、Configで現在有効な設定を確認してください。設定ファイルがリストにあるだけでは、適用中とは限りません。また、ルールに一致したポリシーがHomeで選択したデフォルトサーバーを使うとも限りません。
- ルールの順序を確認:DOMAIN-SUFFIXはドメインのサフィックス、IP-CIDRはアドレス範囲、GEOIPはIPアドレスの地理的な割り当てに基づいて判定し、FINALは最後のフォールバックです。対象が実際にどのポリシーに一致したかを確認してください。ルールに対象ドメインが書かれているかどうかだけでは判断できません。
- ルーティングを比較:サーバーは変えず、一時的にConfigからProxyへ切り替えてアクセスを再試行します。結果が変わる場合は、ルールとポリシーの選択を重点的に確認してください。確認後は元の設定に戻します。
- 特定サイトだけの問題か確認:1つのサイトだけ失敗し、ほかのページは開ける場合は、対象サイトの状態と関連ドメインを確認してください。接続設定全体をすぐに作り直す必要はありません。
- DNSを確認:サーバーアドレスがドメイン名の場合も、名前解決が必要です。カスタムDNSにアクセスできない場合や関連設定が正しくない場合、接続やWebページの表示が名前解決の段階で止まることがあります。
HTTPSページのテストに、無作為に選んだパブリックIPアドレスをサイトのドメイン名の代わりに使わないでください。多くのサイトでは、TLSや仮想ホストの選択に正しいドメイン名が必要です。IPアドレスを直接入力してエラーになっても、DNSが原因だとは証明できません。普段使っている完全なURLでリクエストを再試行し、アプリ内で確認できる接続情報とあわせて判断してください。
検証を完了:再現できる結果を記録
初回接続の完了は、想定したサーバーが選択されていること、システムの接続状態が想定どおりであること、実際のアクセス先を開けることの3点で判断します。Connectivity Testは補助的な判断材料であり、最後の確認に代わるものではありません。普段使うConfigやSceneに戻した後、よく利用する接続先をもう一度確認し、一時的な切り分け設定を最終設定と取り違えないようにしてください。
- 利用環境を記録:Wi-Fiかモバイル通信か、サーバー項目名、Global Routingの選択肢、On Demandの有効・無効を記録します。
- 症状を記録:空欄、タイムアウト、応答はあるがアクセスできない状態を区別します。実際のアクセス先がすべて失敗するのか、一部のページだけなのかも記録してください。
- プライバシーを守る:サービス提供元への問い合わせには、個人情報を伏せたエラー情報を利用できます。サブスクリプションURL、Password、UUID、これらを含むQRコードをそのまま送信しないでください。
- 次の確認先を明確に:パラメータの問題は項目の編集画面、サブスクリプション内容の問題は更新、ルーティングの問題はConfig、自動接続の問題はSettings → On Demandで確認します。
Shadowrocketは主にiPhoneとiPadで利用できます。システム要件はApp Storeのページで確認してください。入手時には、デベロッパーがShadow Launch Technology Limitedであることと、アプリIDが932747118であることを確認します。すでにインストール済みの場合、テストが一度タイムアウトしただけでアプリを再購入する必要はありません。