この記事では、iPhone / iPad で Shadowrocket を初めて接続する手順を紹介します。自分で用意したサーバー情報またはサブスクリプションがあることが前提です。「情報の読み込み、デフォルトサーバーの選択、接続の許可、テスト結果の確認」の順に進め、システム VPN の接続、サーバーへの到達性、目的のWebサイトの利用可否を区別して確認します。
1. インストール元と利用可能なサーバー情報を確認
まだインストールしていない場合は、ダウンロードガイドでデバイスに合った入手方法を確認してください。入手方法は2種類です。iPhone / iPad版は App Store で2.99ドルの買い切り、Mac(Appleシリコン / Intel)、Windows、Android、Linux版は無料です。iPhone / iPad版の開発元は Shadow Launch Technology Limited です。システム要件は App Store の掲載内容をご確認ください。システムの認証画面はプラットフォームによって異なる場合があります。以下の VPN 許可手順は iPhone / iPad を例に説明します。
アプリをインストールしても、利用可能なサーバーが自動的に用意されるわけではありません。初回接続には、自分で用意したサーバーのアドレス、ポート、プロトコル認証情報、またはサブスクリプション URL が必要です。当サイトではサーバーやサブスクリプションを提供、販売、推奨していません。サブスクリプション URL、パスワード、設定全体を公開の掲示板などに投稿しないでください。token によって個人のサブスクリプション情報へアクセスされるおそれがあります。
- サブスクリプションがある場合:Home 右上の「+」をタップし、Type を Subscribe に設定します。自分のサブスクリプション URL を入力して保存し、内容を更新してください。リストに実際のサーバー項目が表示されたら、次の手順に進みます。
- サーバー情報がある場合:Home 右上の「+」をタップし、情報に合わせて Type を選び、アドレス、ポート、認証情報を1項目ずつ確認します。Shadowsocks、VMess、VLESS、Trojan などでは必要な項目が異なります。アドレスが同じという理由だけで Type を使い回さないでください。
- Config がある場合:設定ファイルとサーバーのサブスクリプションを区別してください。Config にはルールやポリシーの参照先を含められますが、Config を読み込んでも利用可能なサーバー項目が必ず追加されるとは限りません。
2. Home でデフォルトサーバーを選び、接続する
Home にサーバー名が表示されていても、項目が存在することしか確認できません。初回接続では、実際に使うサーバーを選択してから接続スイッチをオンにする必要があります。サーバー左側の丸をタップする操作と、項目を開いて編集する操作は別です。アドレスを編集してリストに戻った場合も、デフォルトの選択状態を再確認してください。
-
リストを確認
Home を開き、自分のサブスクリプションに対応するサーバーリストを展開して、実際のサーバー項目が1つ以上あることを確認します。リストが空の場合は、サブスクリプション URL と更新結果を先に確認してください。接続スイッチを何度もオンにしても解決しません。
-
デフォルトを選択
使うサーバーの左側にある丸をタップし、選択マークがその項目に付いていることを確認します。初回の切り分けでは同じサーバーを使い続け、テストのたびにサーバーとルーティングモードを同時に変更しないでください。
-
ルーティングを確認
Home → Global Routing を開き、現在のモードが Config、Proxy、Direct のどれか確認します。プロキシ経由を検証する場合は Direct のままにしないでください。Config の場合は、現在の設定に含まれるルールとポリシーの参照先が有効かも確認します。
-
接続をオン
Home に戻り、画面上部の接続スイッチをオンにします。初回にシステムから VPN 構成の追加を求められたら、要求元が Shadowrocket であることを確認して許可し、システムの案内に従ってデバイス認証を完了してください。
-
状態を確認
接続状態が安定してから Connectivity Test を実行します。スイッチがすぐにオフに戻る場合は、まず権限またはシステムの接続に関する問題を確認してください。目的のWebサイト側の障害とすぐに判断しないでください。
システムの VPN 状態は、端末上に通信を引き受ける経路が確立されたことを示します。リモート側の認証成功や、すべてのリクエストがプロキシ経由になることを保証するものではありません。Config でポリシーグループを使っている場合、グループ内の別サーバーが参照されることもあります。そのため、Home で選んだデフォルトサーバーが、設定内のすべてのポリシーに適用されるとは限りません。
3. Connectivity Test で段階的に確認
接続をオンにしたら、Home で Connectivity Test を実行し、完了まで待って実際の結果を確認します。このテストで分かるのは、現在の設定で指定されたテスト先に到達できるかどうかです。すべてのWebサイト、プロトコル、アプリで利用できることを保証するものではありません。結果を比較できるよう、テスト時のサーバー名、Global Routing のモード、使用中のネットワークを記録してください。
- 所要時間が表示された場合:今回のテストで応答時間が測定されたことを示します。ダウンロード速度ではないため、動画の通信速度や長時間接続の安定性を判断することはできません。
- タイムアウトまたは失敗した場合:まず表示されたメッセージ全体を記録し、テスト先、サーバー情報、現在のネットワークを確認します。1回のタイムアウトだけで、経路全体が使えないとは判断できません。
- テストに成功してもWebサイトが開かない場合:そのWebサイトに適用されるルール、DNS の名前解決、接続先サイトの状態を確認してください。1回のテスト成功を、すべてのリクエストが正常という根拠にしないでください。
- Webサイトが開いてもプロキシ経由とは限りません:Direct や Config 内の DIRECT ルールによって、リクエストが直接接続されることがあります。Webページを表示できるだけでは、プロキシ経由で通信した証拠にはなりません。
テスト後は、実際にアクセスする必要のあるWebサイトを開き、普段使うアプリでも確認してください。特定のアプリだけで問題が起きる場合は、サーバーとネットワークを変えずに、そのアプリが独自の接続を使っているか、ルールの影響を受けているかを確認します。Connectivity Test の遅延、サブスクリプションリストの遅延テスト、実際のダウンロード速度は、それぞれ異なる指標です。
4. Global Routing が初回テストに与える影響
初回接続でよくある誤解は、Direct でWebサイトが開いたためプロキシが正常だと判断したり、Config で特定のドメインに接続できずサーバー自体が使えないと判断したりすることです。まず現在のモードを確認してから、テスト結果を読み取ってください。以下では Shadowrocket のルーティング設定を比較します。他の製品については扱いません。
Config
推奨現在の Config に設定されたルールとポリシーに従ってリクエストを処理します。DIRECT に一致するリクエストは直接接続され、プロキシポリシーに一致するリクエストは該当するポリシーで送信されます。一致しないリクエストは後続のルールまたは FINAL で処理され、すべてが直接接続されるわけではありません。
適した用途:利用可能な Config がある場合の日常的なルール振り分けと最終確認。
Proxy
クライアントが処理するリクエストをプロキシ経由にし、切り分け中にルール振り分けの影響を一時的に減らします。サーバー認証のエラーを回避したり、誤ったアドレス、ポート、TLS 設定を修正したりする機能ではありません。
適した用途:問題が一時的に Config のルールやポリシーに関係しているかを確認する。
Direct
直接接続でルーティングし、プロキシ経路を使いません。現在のネットワークでテスト先に直接アクセスできるか比較する際に使えますが、リモートのプロキシサーバーが正常かどうかは確認できません。
適した用途:同じテスト先にローカルネットワークから直接アクセスできるかを確認する。
画面で Scene を使っている場合は、現在の Scene に対応する設定を先に確認してください。Scene は Proxy と同じ全体的なプロキシスイッチではありません。初回の切り分けでは、上記の単一モードを明示的に選んで比較し、確認後は元の設定に戻してください。モードを切り替えても、サブスクリプションが自動で追加されたり、サーバーの認証情報が修正されたりすることはありません。
5. 症状に応じて接続の問題を切り分ける
切り分けでは、一度に変更する項目を1つにして、変更後は同じテストを繰り返します。サーバー、Global Routing、Wi-Fi、モバイル通信を同時に変更すると、成功・失敗の原因を特定できません。まず「スイッチがオンの状態を維持できない」のか、「接続済みだがリクエストに失敗する」のかを判断し、該当する手順に進みます。
症状別の確認項目
スイッチがすぐオフになる
- 初回のシステム VPN 構成の許可が完了していることを確認します。システム認証を途中でキャンセルしていないかも確認してください。
- システム設定で VPN 構成が存在するか、デバイス管理のポリシーで接続が制限されていないかを確認します。
- 使用中の他の VPN 接続を一時停止し、Home に戻って再試行します。
- Settings → On Demand を確認します。切り分け中は自動接続を一時的にオフにし、手動スイッチで状態を確認してください。
接続済みだが通信に失敗する
- Home で左側の丸が使用予定のサーバーに付いていることを確認し、Global Routing も確認します。
- サーバーのアドレス、ポート、プロトコル、パスワードまたは UUID、資料で指定された TLS パラメーターを1つずつ確認します。
- 自分のサブスクリプションを更新し、更新エラーがないか、サーバー項目に変更がないかを確認します。
- 同じサーバーを使い、Wi-Fi とモバイル通信でそれぞれテストして、どちらか一方だけで失敗するか記録します。
まずシステム接続が維持されることを確認してから、リモートへの到達性を判断します。接続スイッチを何度もタップするだけでは、段階的な確認の代わりになりません。
Wi-Fi では失敗しモバイル通信では成功する場合は、Wi-Fi のWeb認証が必要か、関連ポートが制限されているか、そのネットワークの DNS 条件に問題がないかを優先して確認します。これは切り分けの手掛かりであり、ネットワークによる遮断を即座に意味するものではありません。どちらのネットワークでも失敗する場合は、利用中のサービスが有効か、サーバーがまだサブスクリプションに含まれているか、プロトコルの項目が元の情報と一致しているかを確認します。
Hysteria2、WireGuard などのプロトコルは UDP を使うため、他の TCP リクエストが成功しただけで、これらの通信経路も正常だとは判断できません。反対に、テスト目的で Type を別のプロトコルに変更するのも避けてください。サーバー側と端末側のプロトコルは一致している必要があります。名称を変えても、サーバーが提供するサービスは変わりません。
6. 接続成功後の確認と記録
Connectivity Test を完了したら、長期利用するルーティングモードに戻し、実際のWebサイトで再確認します。切り分け中に Proxy を一時使用した場合は、Config に戻してからもテストしてください。同じドメインでもモードによって経路が異なることがあります。On Demand は手動接続が安定してから設定し、初回の切り分け中に自動接続が動作して状況を把握しにくくなるのを避けてください。
- 設定を戻す:Home → Global Routing で普段使うモードを選び、Config で現在有効な設定とポリシーの選択を確認します。
- テストを繰り返す:Connectivity Test をもう一度実行し、実際に必要なWebサイトも開いて、一時的なモードでしか使えない状態ではないことを確認します。
- 自動接続を確認:自動接続が必要な場合は Settings → On Demand を開き、実際のネットワーク条件に合わせて設定します。テスト中にオフにした項目は、元の用途に応じて戻してください。
- 切り分け内容を記録:ネットワークの種類、サーバー名、ルーティングモード、エラーメッセージ、発生時刻を記録します。ログを外部に共有する前に、サブスクリプションの token、パスワード、UUID などの機密情報を隠してください。
初回接続が完了したと判断するには、システムの接続が維持されること、テスト先から応答があること、実際の用途が期待どおり動作することの3点を確認します。後日問題が発生した場合も同じ順序で切り分けると、すべての設定を削除するより原因を見つけやすく、正常に動作していた設定を比較用に残せます。