この記事では、iPhone / iPadでShadowrocketを初めて使う場合を基準に解説します。自分の接続情報またはサブスクリプションを用意済みで、まだ接続できていない方が対象です。接続情報の確認、VPN構成の許可、SERVERの選択、Global Routingの確認を順に行い、Connectivity Testと実際のリクエストで「接続済み」と「目的のサイトにアクセスできる」状態を区別します。他のプラットフォームでも確認の考え方は参考になりますが、iOSのシステム権限の手順をそのまま適用しないでください。
1. 初回接続の前に、アプリ・接続情報・構成の違いを確認
iPhone / iPadでは、Shadowrocketをインストールしただけでは接続できません。アプリは通信を処理し、SERVERには自分のサーバー情報を保存し、Configではルール構成を管理します。それぞれ役割が異なります。初回起動時にNot Connectedと表示されたり、SERVER一覧が空だったりしても、インストールに問題があるとは限りません。
この記事は、利用者がすでに自分のサービス事業者とサブスクリプションを用意していることを前提としています。本サイトではノード、サブスクリプション、サービス事業者の提供・販売・推奨は行っていません。サブスクリプションURLには通常、アクセス認証情報が含まれます。機密情報として扱い、URL全体やQRコード、パスワードが写った設定画面の画像を公開の掲示板などに投稿しないでください。
- Home:接続スイッチ、Global Routing、Connectivity Test、SERVERを確認し、日常の選択や状態確認を行います。
- Config:ルール構成が存在するか、選択されているか、ルールが参照するポリシーが利用可能かを確認します。
- Settings:アプリの設定を確認します。自動接続が必要な場合は、Settings → On Demandで起動条件を確認します。
2. VPN構成の許可:初回の接続時に確認
iPhone / iPadでは、システムのVPN構成追加の確認画面は、通常、初めて接続を有効にしたときに表示されます。Homeを開いた直後に必ず表示されるわけではありません。許可すると、Shadowrocketの構成に従って通信をアプリで処理できるようになります。これはサーバーアカウントの認証ではなく、サブスクリプションやサーバー情報が自動で作成・補完されるわけでもありません。
-
接続情報を確認
Homeを開き、SERVERに自分の接続項目があるか確認します。まだ追加していない場合は、手元の情報を使ってインポートしてから接続をテストしてください。
-
項目を選択
Home → SERVERで今回テストする項目を選び、名前と選択状態を確認します。一覧に項目が表示されているだけでは、現在選択中とは限りません。
-
接続スイッチをオン
Home上部の接続スイッチをタップします。システムのVPN構成追加画面が表示されたら、Shadowrocketに関する確認画面であることを確かめてから許可します。
-
認証を完了
デバイスのパスコードや生体認証を求められた場合は、システムの案内に従って認証します。これはデバイス上のシステム操作を確認するもので、サブスクリプションのパスワード入力は不要です。
-
戻って状態を確認
Homeに戻り、Not Connectedの表示が変わったか確認します。続いてConnectivity Testを実行し、目的のサイトへのリクエストで実際のアクセス結果を確認します。
iPhone / iPadでは、VPN構成の追加は証明書のインストールやHTTPS復号の有効化を意味しません。初回の接続確認に証明書の追加インストールは不要です。別の操作で証明書のインストールを求められた場合は、初回接続に必須の手順と決めつけず、用途を確認してください。
3. Home上部の接続スイッチとSERVER:状態と選択を個別に確認
iPhone / iPadのHome画面でNot Connectedは、アプリに対応するVPN接続が確立していない状態を示します。SERVERには選択可能な接続項目が表示されます。接続スイッチ、項目の選択、目的のサイトへのアクセスは別々に確認してください。スイッチがオンでも、選択中の項目とルーティングの状態を確認する必要があります。
Homeの状態を確認
- Not Connected
- 未接続の場合は、接続スイッチとシステムの許可を確認します。
- Global Routing
- 現在の処理方式がProxy、Direct、Config、Sceneのどれかを確認します。
- Connectivity Test
- テスト結果を確認します。1回の結果だけでアクセス全体を判断しないでください。
まず接続状態を確認し、その後、通信に適用する処理方式を判断します。
SERVERの接続情報を確認
- 選択中の項目
- 一覧の順番だけでなく、名前と選択状態を確認します。
- Address / Port
- 自分の接続情報と一致しているか確認します。プロトコル名からポート番号を推測しないでください。
- Type
- 接続情報に記載されたプロトコルと一致するか確認します。問題の切り分けのためにプロトコルを変更しないでください。
サーバーアドレス、ポート、認証情報をひとまとまりとして確認します。
iPhone / iPadでは、サブスクリプションを利用している場合、Home右上の「+」からAdd Serverを開き、TypeでSubscribeを選んで自分のサブスクリプションURLを入力し、保存します。形式確認用のサンプルURL https://example.com/sub?token=xxxx は、実際の接続には使用できません。保存後、サブスクリプションがSERVERの項目として展開されたことを確認します。更新後は、今回使用する項目が選択されているか再確認してください。
- 手動で追加する場合、Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardでは必要な項目が異なります。自分の接続情報に従って入力してください。
- サブスクリプションを更新すると、そのサブスクリプションから返された接続情報が更新されます。特定の項目が選択されたことや、現在のルール構成が切り替わったことを意味するものではありません。
- 一覧が空の場合は、まずインポート結果とURLが完全かを確認します。項目があるのに接続できない場合は、プロトコル、ポート、認証情報、現在のネットワークを確認してください。
4. Global Routing:4つのモードの選び方
iPhone / iPadでは、Home → Global Routingで、アプリが処理する通信の方式を選びます。サーバーの速度測定機能ではありません。初回の切り分けではSERVERの項目を1つに固定し、ルーティングのモードだけを変更します。項目とルールを同時に変更すると、結果を比較できなくなります。
Config
おすすめ現在有効な構成のルールとポリシーに従ってリクエストを処理します。構成の提供元、ルールの内容、ポリシーの参照先を確認済みであることが前提です。未確認の構成を正しいものとして扱わないでください。
適した用途:使用可能なルール構成があり、アクセス先に応じて通信を振り分ける場合。
Proxy
アプリが処理する通信をプロキシ経由にします。Configのルール選択による変数を一時的に切り分けるのに使えます。ただし、すべてのアプリの通信が必ず処理されることを保証するものではありません。
適した用途:同じ接続項目に固定して、プロキシ接続自体が使えるか比較する場合。
Direct
アプリが処理する通信を直接接続にします。VPN接続の状態とリクエストがプロキシを経由するかどうかは別の概念です。システムのVPN表示だけで通信の出口を判断しないでください。
適した用途:現在のネットワークで直接接続した結果と比べ、ネットワーク側とプロキシ経路側の問題を切り分ける場合。
Scene
あらかじめ設定したシーンに従って接続の処理を行います。既存のシーンと適用条件を確認してください。Sceneは接続を自動修復するスイッチではありません。
適した用途:シーンを設定・検証済みで、決められたシーンに沿って使う場合。
iPhone / iPadでConfigモードを使用すると、ルールは記載順に照合されます。以下はルール行の形式を示す例であり、完全な構成ファイルではありません。既存の構成と置き換えるためのものでもありません。PROXYが実際の構成内で利用可能なポリシーとして解決される必要があります。個別のルールが正しくても、構成全体の確認に代わるものではありません。
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
DOMAIN-SUFFIXはドメインの末尾に一致します。例ではexample.comとそのサブドメインが該当ルールに一致します。IP-CIDRは指定したIPアドレス範囲に一致します。例ではプライベートアドレスの範囲を使用しています。ドメイン名をアドレス範囲として入力しないでください。GEOIPはIPアドレスの地理情報に基づいて照合します。判定は使用する地理データベースによって異なるため、更新状況も確認してください。FINALは最後のフォールバックとして使います。先頭に置くと、それ以降のルールが想定どおりに照合されません。
5. Connectivity Test:テスト結果と実際のアクセスを分けて確認
iPhone / iPadでは、Connectivity Testで接続状態を診断する手がかりを得られますが、すべてのドメイン、ポート、アプリのリクエストが使えることを証明するものではありません。テストと実際の通信では接続先や経路が異なる場合があります。結果を記録したうえで、同じ接続先に実際にアクセスして比較してください。遅延の数値だけで判断しないでください。
2つの状況別に確認する順序
Not Connectedのまま
- システムのVPN構成追加の確認を完了したか確認します。
- Homeの接続スイッチがすぐにオフへ戻っていないか確認します。
- 他のVPN接続が現在の接続を妨げていないか確認します。
- SERVERに利用可能な選択済みの項目があるか確認します。
接続済みでもアクセスできない
- まずGlobal Routingを確認し、Directを誤って選択していないか確認します。
- 接続項目を固定し、ProxyとConfigで結果を比較します。
- DNSの名前解決、ルールの一致、ポリシーの参照先を確認します。
- Wi-Fiとモバイル通信を切り替え、同じ接続先へ再度リクエストします。
比較できるように、毎回変更する条件は1つだけにします。ネットワーク、接続項目、ルーティングのモード、接続先を記録してください。
iPhone / iPadで同じ項目を使い、ProxyではアクセスできるのにConfigでは同じ接続先にアクセスできない場合は、サブスクリプションをすぐに削除せず、現在有効な構成、先行するルール、ポリシーの参照先を確認してください。どちらのモードでも失敗する場合は、サーバー情報、認証情報、現在のネットワークを続けて確認します。この現象だけでは、どちら側に原因があるか特定できません。
- ネットワーク、SERVERの項目、テスト対象を同じ条件に固定し、Connectivity Testの結果を記録します。
- 実際のリクエストを1回行い、名前解決に失敗したのか、タイムアウトしたのか、サーバーから明確なエラーが返されたのかを記録します。
- Global Routingだけを切り替え、同じリクエストを再度実行します。サブスクリプションの更新や構成の変更は同時に行わないでください。
- さらに原因を絞り込む場合は、アプリ内で確認できるリクエスト履歴を開き、接続先、適用されたルール、使用されたポリシーを確認します。
6. On Demandと初回設定の最終確認
iPhone / iPadでは、まず手動で接続と切断を一度ずつ確認してから、Settings → On Demandで条件付き接続を設定してください。On Demandは接続を開始する条件を設定する機能であり、サーバー設定を修復するものではありません。また、Global RoutingのSceneとも異なります。調査中に接続が自動で再開する場合は、まずOn Demandに設定されている条件を確認してください。
- まず手動で確認:Homeのスイッチで正常に接続・切断できることを確認し、利用可能なSERVERの項目を記録します。
- 次に条件を確認:Settings → On Demandを開き、現在の構成に設定されているネットワーク条件を1つずつ確認します。接続できる前に自動接続の設定を追加しないでください。
- ネットワークを切り替えて確認:Wi-Fiからモバイル通信に切り替え、想定どおりに動作するか確認します。1回の切り替え結果だけで、すべてのネットワークで使えると判断しないでください。
- 変数を最小限にする:初回設定中は接続項目と構成を1つずつに固定し、使えることを確認してからルールや自動接続条件を変更します。