Shadowrocketを初めて使うときは、まずアプリの入手元を確認し、手元にあるサーバー情報やサブスクリプション情報を用意してから、追加、VPN構成の許可、接続テストを行います。この記事では実際によくある10の疑問を取り上げ、アプリの購入、サーバー設定、Global Routing、自動接続の設定を分けて説明します。トラブル時は一度に一項目だけ変更し、インポートの問題と接続の問題を切り分けましょう。
1. アプリを購入すればサーバーも使えますか?
いいえ。Shadowrocketはクローズドソースの有料アプリです。App Storeでの買い切り購入に含まれるのはアプリ本体で、サーバーアカウントや接続プランは含まれません。インストール後も、手元にあるサーバー情報やサブスクリプションを追加する必要があります。この記事では、利用者がすでにサービスとサブスクリプションを用意していることを前提に、設定の確認方法と使い方を説明します。ノードやサブスクリプションの提供・販売・推奨は行いません。
アプリを入手できるのはApp Storeのみです。製品名がShadowrocket、デベロッパがShadow Launch Technology Limited、アプリIDが932747118であることを確認してください。検索結果に表示されたアイコンの色だけで判断しないでください。主にiPhoneとiPadで利用でき、その他のAppleデバイスとの互換性、システム要件、ユニバーサル購入の適用範囲はApp Storeのページをご確認ください。
2. 初回接続でVPN構成の追加を求められるのはなぜですか?
アプリがVPN接続を確立するために、システムが求める許可です。別のサービスを購入する必要があるという意味ではありません。Homeで初めて接続スイッチをオンにすると、VPN構成の追加を求められることがあります。直前に開いたShadowrocketからの要求であることを確認してから、システムの案内に従って許可し、デバイス認証を完了してください。この許可は接続の確立をシステムが認めるものであり、サーバー設定の正しさや、すべての通信がプロキシ経由になることを保証するものではありません。
- 許可した場合:Homeに戻り、スイッチと接続状態を確認してから、実際にWebページを開いてテストします。
- 以前に拒否した場合:Homeに戻って接続を再試行し、システムの案内に従います。それでも失敗する場合は、システム設定でVPN構成の状態を確認してください。
- 管理対象のデバイスの場合:システムポリシーによってVPN構成の追加が制限されることがあります。まずデバイスの管理要件を確認し、ほかの用途の構成をむやみに削除しないでください。
システムにVPNの状態が表示されても、それで分かるのはトンネルの状態だけで、接続先のサービスが利用可能かどうかまでは確認できません。続けて選択中のサーバー、Global Routing、ルールをそれぞれ確認してください。許可がまだ完了していない場合は、まず許可を済ませましょう。DNS、プロトコル、ルールを同時に変更して試すのは避けてください。
3. サーバー情報を持っている場合、Add Serverには何を入力しますか?
まず、手元の情報の種類を確認します。サーバーアドレス、ポート、認証情報の組み合わせは個別のサーバー設定です。複数の設定を返すURLは通常サブスクリプションです。QRコードは情報を記録する手段であり、中身は個別設定の場合もサブスクリプションの場合もあります。サブスクリプションのURLを通常のサーバー設定のAddress欄に貼り付けたり、ポート番号だけでプロトコルを推測したりしないでください。以下はサーバーを1件ずつ手動で追加する手順です。
-
追加画面を開く
Homeの右上にある「+」をタップしてAdd Serverを開き、Typeで手元の情報と同じプロトコルを選びます。
-
設定値を確認する
Address、Port、選択したプロトコルで必要な認証情報を順に入力します。たとえばPortが443なら、URL全体ではなく数字の443だけを入力してください。
-
保存して選択する
保存後にHomeへ戻り、リストに項目が表示され、選択されていることを確認します。名前は項目を識別するためのものです。名前を変えてもアドレスや認証情報の誤りは修正されません。
-
接続をテストする
接続スイッチをオンにしてシステムの許可を完了し、実際にWebページへアクセスします。失敗した場合は、まず入力した項目を見直してください。一度に複数の設定を変更しないでください。
Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardでは、設定項目の構成がそれぞれ異なります。TLS、サーバー名、通信方式に関する項目が含まれる設定もあるため、元の情報と照らし合わせて一つずつ確認してください。ポートが443だからといって、必ずTrojanとは限らず、認証情報を省略できるわけでもありません。
4. QRコードでの追加とSubscribeのインポートはどう違いますか?
QRコードの読み取りは、コードに含まれる設定情報を読み込む操作であり、サービスの状態を確認するものではありません。Homeのスキャン機能を使うときは、システムの案内に従ってカメラへのアクセスを許可します。読み取り後、インポートされた項目の種類とアドレスを確認してから接続してください。QRコードにはパスワード、キー、サブスクリプションの認証情報が含まれる場合があります。公開の掲示板などに投稿して判読を依頼しないでください。
- QRコードで追加:読み取り可能なQRコードが手元にある場合に使います。認識できないと表示されたら、QRコードに通常のWebページのURLではなく、アプリが対応する設定情報が含まれているか確認してください。
- Subscribeからインポート:Home → 「+」 → Type → Subscribeの順に開き、手元にあるサブスクリプションのURLを入力して保存し、更新結果を確認します。
- リストが空の場合:URLがすべて入力されているか、サブスクリプションが有効か、返された内容が対応する設定形式かを確認してください。ブラウザーでページが開けても、その内容を解析できるとは限りません。
サブスクリプションを更新すると、リモート側から返された内容に基づいて該当項目が更新されます。手動で変更した項目を、永続的なバックアップとして扱うことはできません。特別な変更を残したい場合は、個別に追加したサーバーとサブスクリプションから生成されたサーバーを区別してください。Settings → Subscribeの更新オプションは更新時の動作に影響します。プロキシ経由で更新するかどうかは、サブスクリプションURLへの実際の接続可否を確認して判断し、常に有効にする必要はありません。
5. Global RoutingはConfig、Proxy、Directのどれを選べばよいですか?
まずテストの目的を決めてからモードを選びます。特定のサーバーでリクエストをプロキシできるか初めて確認する場合は、一時的にProxyを使います。日常的にルールで振り分ける場合は通常Configを使いますが、必要な設定が選択され、内容も確認済みであることが前提です。Directは直接接続との比較用で、リモートのプロキシが使えるか確認する方法としては適しません。Sceneは設定済みのシーンに応じてルーティングする機能で、汎用的な「高速化」オプションではありません。
まず3つのモードを区別する
- Proxy
- リクエストをプロキシ経由で処理します。選択中のサーバーを一時的にテストする場合に適しています。
- Direct
- リクエストを直接接続で処理します。リモートプロキシが動作しているかは確認できません。
- Config
- 現在の設定にあるルールに基づいて、リクエストに適用するポリシーを決めます。
Home → Global Routingから切り替え、同じ接続先で再テストします。
シーンと設定を確認する
- Scene
- 設定済みのシーンに応じたルーティング設定を使います。
- Config
- Configで現在選択されている設定ファイルとルールの内容を確認します。
- FINAL
- 前のルールに一致しなかった場合に適用する最終ポリシーを指定します。
Configという名前はモードと設定の両方に表示されます。トラブル対応では、それぞれの画面で何を指しているか区別してください。
Proxyでは同じ接続先にアクセスできるのにConfigではできない場合、サーバーをすぐ削除せず、ルールの一致状況と最終ポリシーを確認してください。反対に、DirectでWebサイトにアクセスできても、ローカルネットワークからその接続先へ直接アクセスできることを示すだけで、プロキシ設定が正しいとは限りません。テスト後は、通常使うモードに戻してください。
6. Home、Config、Settingsでは何を確認できますか?
Homeでは主にサーバーの選択、接続状態、Global Routingの設定を確認します。Configでは設定ファイルとルールを管理します。SettingsではSubscribeやOn Demandなどのアプリ設定を確認します。サーバーは接続先を決め、設定ルールは各リクエストに適用するポリシーを決めるため、役割が異なります。サブスクリプションのインポート後にサーバーが表示されても、ルールファイルが意図したとおりに有効になっているとは限りません。
DOMAIN-SUFFIX,example.com,DIRECT:ドメインの末尾を照合し、一致した場合はDIRECTを適用します。IP-CIDR,192.168.0.0/16,DIRECT:指定されたIPv4アドレス範囲に一致します。ドメイン名の解決に関係するかどうかは、ルールのオプションや状況によって異なります。GEOIP,CN,DIRECT:IPアドレスの地理情報に基づいて照合します。結果は使用する地理情報データによって異なります。FINAL,PROXY:前のルールに一致しなかった場合、PROXYを適用します。
上記は構文の説明であり、そのまま使える完全な設定ではありません。ルールは通常、上から順に照合されるため、広範なルールより前に具体的な例外を配置し、ポリシー名が存在することを確認してください。特定の接続先がREJECTで拒否されている場合、サーバーを再インポートしても、その拒否ルールは自動では変更されません。キーワードの詳しい説明はプロトコルマニュアルと用語集をご覧ください。
7. 接続スイッチがオンなのにWebページが開かないのはなぜですか?
スイッチがオンになっていることは、クライアントが接続状態になったことを示すだけです。問題は、ローカルネットワーク、サーバー認証、接続先への到達性、DNS、ルール選択のいずれかで起きている可能性があります。同じ接続先で比較しながら、原因を一つずつ絞り込みましょう。サーバー、モード、DNS、ルールを一度に変更すると、復旧してもどの変更が有効だったのか分からなくなります。
- まずローカルネットワークを確認:Shadowrocketを切断し、現在のWi-Fiまたはモバイル通信で、通常直接アクセスできるWebページを開きます。必要であればネットワークへのログイン認証を済ませてください。
- 次にサーバー設定を確認:Homeで実際に選択されている項目を確認し、アドレス、ポート、認証情報、TLS関連の項目が手元の情報と一致しているか見直します。
- モードを比較:一時的にProxyに切り替え、同じ接続先をテストします。Configだけ失敗する場合は、ルール、REJECT、FINALのポリシーを確認してください。
- 最後に名前解決を確認:ドメイン名の解決が原因と思われる場合は、現在のConfigにあるDNS設定を確認します。変更前の値を記録し、一度に一項目だけ調整してください。
レイテンシテストに結果が出てもWebページへアクセスできるとは限りません。また、タイムアウトをそのままパスワードの誤りと判断しないでください。テスト方法、ネットワーク上の制限、サーバーの応答が結果に影響します。利用中のサービスの管理者に問い合わせる場合は、ネットワークの種類、接続できない接続先、エラーの内容を伝えてください。サブスクリプションURL全体や認証情報は送らないでください。
8. アプリを閉じたり画面をロックしたりすると、接続スイッチの状態が変わるのはなぜですか?
ホーム画面に戻っただけではVPNは切断されません。接続状態はシステムとHomeに表示される実際の状態で確認してください。ネットワークの切り替え、画面ロック、アプリの再起動後に状態が変わる場合は、発生条件を記録してからSettings → On Demandを確認します。自動接続の条件、ほかのVPN構成、ネットワークの切り替えが表示上の変化に影響する場合があります。一度切断しただけでサーバーが使えなくなったと判断しないでください。
- 手動接続をテストする場合:まずOn Demandが有効か確認します。手動接続の動作だけを検証する場合は、一時的に無効にして、元の設定を記録しておきます。
- ネットワーク切り替え後に状態が変わる場合:Wi-Fiとモバイル通信の切り替え後に毎回変化するかを確認し、該当する自動接続条件を見直します。
- 切断後に再接続する場合:On Demandまたはシステムの自動接続設定が有効なままになっていないか確認します。自動再接続を、スイッチが機能していない状態と混同しないでください。
- ほかのVPNと切り替えて使う場合:テスト中に使う構成を明確にし、別のVPNの起動によって現在の状態が変わらないようにします。
On Demandは条件に応じて接続を自動処理する機能であり、サーバーの利用可能性を保証するものではありません。まず手動接続が安定していることを確認してから自動接続を設定すると、「条件が想定どおりに適用されない」問題と「接続先に接続できない」問題を切り分けやすくなります。
9. サブスクリプションの更新後、選択中のサーバーが変わるのはなぜですか?
サブスクリプションの内容は、利用者が契約しているサービスから返されます。更新によって項目名、件数、設定値が変わる場合があります。更新後はHomeで現在選択されているサーバーを確認し、リスト内の位置が同じだから同じサーバーだとは決めつけないでください。項目数が減った場合は、手動で更新する前にサブスクリプションの状態と返された内容を確認します。削除と再追加を繰り返しても、リモート側から空の内容が返される問題は解決しません。
- 更新前に選択中のサーバー名とプロトコルを記録します。パスワード、キー、サブスクリプションのtokenは記録・公開しないでください。
- 現在のネットワークからサブスクリプションURLにアクセスできることを確認してから更新し、タイムアウトや名前解決の失敗が表示されないか確認します。
- 更新後、対象の項目があることを確認して必要なサーバーを選び直し、同じWebページでテストします。
- プロキシ経由でないとサブスクリプションURLにアクセスできない場合は、Settings → Subscribe → Update via Proxyを確認し、現在利用できるプロキシが選択されていることを確かめます。
すべてのサーバーが使えない場合、Update via Proxyを有効にしてもサブスクリプションを取得できないことがあります。更新自体にも利用可能な接続経路が必要だからです。万能な修復スイッチとして扱わないでください。サブスクリプションURLに含まれる認証情報は、そのサブスクリプションへのアクセス権に相当します。スクリーンショットでは表示名だけでなく、URL全体を隠してください。
10. 初期設定の完了後、正常に使える状態を確認して維持するには?
接続テストが完了したら、再現可能な設定の組み合わせを記録します。選択中のサーバー、Global Routingのモード、現在のConfig、On Demandの状態を記録してください。使用する各ネットワークで個別にテストし、すべての接続先が同じ経路を通る必要はありません。Configでは、一致したルールによって直接接続、プロキシ、拒否のいずれになるかが決まります。最後に、よくある3つの疑問を確認しましょう。
同じWebページが開けば、設定はすべて正しいといえますか?
いいえ。まずHome → Global Routingのモードを確認し、プロキシを使う接続先と、直接接続する想定の接続先を1つずつ選んでテストします。Webページを1つ確認しただけでは、すべてのルールが想定どおりか分かりません。結果を記録するときは、モードとネットワークの種類も併記してください。
iPadに買い替えた場合、購入と設定をすべてやり直す必要がありますか?
まずApp Storeで購入履歴とデバイスの互換性を確認してください。ユニバーサル購入の適用範囲はApp Storeのページをご確認ください。アプリの購入履歴とサーバー設定は別のものです。アプリを再入手しても設定が自動で復元されるとは限りません。新しいデバイスで手元にある情報とVPNの許可状態を確認してください。
スクリーンショットを見せるとき、何を隠す必要がありますか?
サブスクリプションURL全体、QRコード、パスワード、キー、その他の認証情報を隠してください。Type、Global Routing、エラーメッセージ、認証情報を含まない操作手順は残しておくと、原因を特定しやすくなります。現象を説明する代わりに設定ファイル全体を送ることは避けてください。
初めて使うときの完了基準は、スイッチがオンになっていることではなく、「現在のリクエストがなぜこの経路を使うのか」を説明できることです。その後問題が起きたら、最後に正常動作を確認した設定の組み合わせに戻り、変わった内容を一つずつ確認します。操作手順を順番に確認したい場合は、使い方ガイドもご覧ください。