この記事は、iPhoneまたはiPadでShadowrocketを初めて使う方を対象にしています。ご自身のサービス提供元から設定情報またはサブスクリプションを入手済みであることを前提に、「画面を確認する」「設定を読み込む」「ルーティング方式を選ぶ」「接続を許可する」「通信を確認する」の順に説明します。システムのVPN許可、SERVERの項目、Configファイル、接続テストを区別し、スイッチがオンになっただけで通信も正常だと判断しないための手順です。
まずは主な3つの画面を確認
初回起動後、すべての設定を続けて切り替えるのは避けましょう。Homeではサーバーの選択、Global Routingの調整、接続の開始を行います。Configでは振り分けなどに使う設定ファイルを管理し、SettingsではOn Demandなどのアプリ設定を行います。サーバー項目とルール設定は別のものです。一方を読み込んでも、もう一方の準備が完了したことにはなりません。
ShadowrocketはAppleプラットフォーム向けのクローズドソースの有料アプリです。主にiPhoneとiPadで利用でき、入手先はApp Storeのみです。購入前にデベロッパ名がShadow Launch Technology Limitedであることをご確認ください。システム要件と購入時の互換性は、App Storeの掲載内容をご確認ください。アプリは買い切りですが、アプリの購入と接続サービスの契約は別です。インストール後は、ご自身の接続情報を用意する必要があります。
初回接続とVPN構成の許可
Not Connectedは、アプリが管理する接続が現在確立されていないことを示します。購入に失敗した、あるいはサーバーが利用できないという意味ではありません。初めて接続を開始するとき、システムからVPN構成の追加許可を求められる場合があります。これはデバイス上で通信を管理するためのシステム構成を作成する手順であり、アプリの追加サービスを購入するものではありません。
-
サーバー項目を確認
Homeを開き、SERVERにご自身のサーバー項目があるか確認します。リストが空の場合は、下記の手順で設定を読み込んでください。接続スイッチを何度もタップするだけでは解決しません。
-
選択内容を確認
Home → SERVERで接続先を選択し、Home → Global Routingで現在のルーティング方式を確認します。Configを使う場合は、Config画面で想定したファイルが選択されていることも確認してください。
-
接続を開始
Homeに戻り、Not Connectedの行にある接続スイッチをタップします。システムからVPN構成の追加を求められたら、Shadowrocketの操作であることを確認して許可し、システムの案内に従ってデバイス認証を完了します。
-
接続状態を確認
接続状態が変わるまで待ち、アクセスできることが分かっているページを開きます。アプリの接続状態と実際のWebページの表示結果は分けて記録し、ステータス表示だけで成功と判断しないでください。
以前に許可を取り消した場合は、通常、Homeに戻って接続を再試行できます。デバイスが組織によって管理されている場合、システム制限がある場合、または別のVPN構成が影響している場合は、まずシステム設定でVPNの管理状態を確認してください。すべてのネットワーク構成を削除することから始める必要はありません。システムメニューの表示は、OSのバージョンやデバイスの管理状態によって異なることがあります。
SERVER:項目の読み込みと選択
SERVERは選択可能なサーバーのリストです。各項目にはプロトコルや接続情報(アドレス、ポート、認証情報など)が保存されます。必要な項目はプロトコルごとに異なります。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardは、Typeを変更するだけで相互に切り替えられるものではありません。入手済みの設定情報に記載された値をそのまま入力してください。
- サブスクリプションを利用する場合:Home右上の「+」→ Type → Subscribeを開き、ご自身のサブスクリプションURLを入力して保存します。その後Homeに戻り、サブスクリプションを更新してください。URL、名前、認証情報は、入手済みの情報に従って入力します。
- 個別の接続情報を利用する場合:Home右上の「+」→ Typeを開き、接続情報と同じプロトコルを選んで必要な項目を入力します。ポートには指定された値を使います。WebページがHTTPSだからといって、一律に
443へ変更しないでください。 - 読み込み結果を確認:SERVERにサーバー項目が作成され、使用する項目が選択されていることを確認します。サブスクリプションの保存成功と、サーバー項目の取得成功は、それぞれ別に確認してください。
- 次回以降の更新:Homeでサブスクリプションを更新したら、選択中の項目をあらためて確認します。リモートの内容が変わると、項目名が変わったり削除されたりすることがあります。更新が成功しても、すべての項目が現在のネットワークで使えるとは限りません。
サブスクリプションURLにはアクセス認証情報が含まれることが多いため、URL全体を公開スクリーンショット、グループチャット、問い合わせに載せないでください。記録を保存しても項目が表示されない場合は、取得結果、URLの入力漏れ、デバイスのネットワーク状態を確認します。すぐにConfigのルールを変更する必要はありません。
サーバーのサブスクリプションとルールファイルを区別
Home → SERVER
- 接続先を表示して選択します。
- プロトコル、アドレス、ポート、認証項目を確認します。
- サブスクリプションを更新し、サーバー項目の変更を取得します。
Config
- 現在適用する設定ファイルを選択します。
- Ruleなどのセクションで、マッチ条件とポリシーを確認します。
- ファイルにはほかの設定も含まれる場合があるため、変更前にバックアップを保存してください。
サーバーを選択しても、適切なルールファイルが選択されたことにはなりません。ルールファイルを読み込んでも、利用可能なサーバーを入手したことにはなりません。
Global Routing:ルーティング方式を選択
Global Routingでは、通信を引き受けた後の経路を選択します。サーバーのパスワードを修正したり、不足しているルールを自動で補ったりする機能ではありません。初めて使うときは、どの項目を選んでいるか確認しましょう。特にConfigを「指定したサイトだけを必ずプロキシ経由にする設定」と解釈しないでください。実際の動作は、選択中のファイル内のルールと、最後に適用されるフォールバックポリシーによって決まります。
Config
おすすめ現在の設定ファイルにあるルールに従ってリクエストを処理します。DIRECTに一致した通信は直接接続し、プロキシポリシーに一致した通信はそのポリシーに従って転送されます。先行するルールに一致しないリクエストは、通常FINALに処理されます。
適した使い方:現在の設定を確認したうえで、ルールに応じて接続経路を振り分ける日常利用。
Proxy
通常はアプリが引き受けるリクエストを、選択したプロキシ経路に送ります。ルールの問題を一時的に切り分ける際に使えます。システム通信、除外項目、ほかの設定によって、実際に対象となる範囲が異なる場合があります。
適した使い方:選択したサーバーで目的の通信ができるか、短時間で確認する場合。
Direct
通常はアプリが引き受けるリクエストを直接接続し、選択したプロキシサーバーを経由しません。これはルーティングの選択であり、Homeの接続スイッチをオフにする操作ではありません。
適した使い方:現在のネットワークから直接アクセスした結果を比較する場合。
Scene
あらかじめ設定したシーンと、それに関連付けられたポリシーを使います。実際の動作はシーンの内容によって異なります。設定不要の自動振り分け機能ではありません。
適した使い方:シーンを設定し、内容を確認済みの方。
たとえば、現在のファイルにDOMAIN-SUFFIX,example.com,PROXYがある場合、このルールは該当ドメインとサブドメインにPROXYを適用します。最後のルールがFINAL,DIRECTなら、それ以前のルールに一致しなかったリクエストは直接接続します。この2行はマッチ条件の説明例です。ファイル全体を確認せず、既存の設定と置き換えないでください。GEOIPは接続先IPの地理的な割り当てに基づいて照合し、IP-CIDRはIPアドレスの範囲に基づいて照合します。どちらもサーバーアドレスの入力欄ではありません。
Connectivity Test:レイテンシで分かること
Home → Connectivity Testでは、サーバー項目への接続状況を確認できます。テスト結果は、実行したテスト方法と合わせて判断してください。TCPハンドシェイクの成功と、プロキシ経由で特定のWebリクエストに成功することは、異なる段階の確認です。ミリ秒の数値が表示されても、対象ドメインの名前解決や認証の成功、Webページのすべてのリソースの読み込みが保証されるわけではありません。
テスト結果から分かる範囲
- 確認箇所
- Home → Connectivity Test
- 応答あり
- 今回のテスト条件で応答があったことを示します。選択したテスト方法に応じて判断してください。
- タイムアウト
- 現在のネットワーク、サーバーアドレス、ポートを確認し、テスト方法に関連する設定も確認してください。
- Webページを表示できない
- DNS、認証情報、ルーティングルール、接続先サイトの状態を確認します。
サーバー項目を比較するときは、同じネットワーク、同じテスト方法を使い、異なる条件で得た数値をそのまま順位付けしないでください。
自動接続でできること
- 確認箇所
- Settings → On Demand
- 機能
- 設定済みの条件に基づき、システムVPNのオンデマンド接続を開始します。
- 初回設定
- まずは手動で接続して動作を確認し、利用できることを確かめてから自動接続の条件を設定します。
- 自動再接続
- オフにした後で再接続する場合は、On Demandの条件とシステムVPNの設定を確認してください。
On Demandは接続するタイミングを制御し、Global Routingは接続後のリクエストの経路を制御します。互いに代用することはできません。
再現性のある確認を行うには、Wi-Fiを固定し、SERVERから項目を1つ選んでテストを実行してから、同じWebページを開きます。次にGlobal Routingの項目を1つだけ切り替え、同じページに再度アクセスして変化を記録します。サブスクリプションの更新、サーバーの切り替え、DNSの変更、Configの差し替えを同時に行うと、正常に戻ってもどの操作が影響したのか分からなくなります。
症状から初回接続の結果を確認
トラブルシューティングでは、症状に最も近い箇所から確認します。まず接続が確立しているか、次に選択中の接続先が有効か、最後にルールとドメインの名前解決を確認してください。以下の表は実測値を前提とせず、デバイスで確認した症状を記録する際に使えます。
| 確認できた症状 | まず確認する項目 | 次の手順 |
|---|---|---|
| Not Connectedのまま変わらない | システムVPNの許可が完了しているか | 接続を再試行し、システムのメッセージとアプリのエラーを確認します。 |
| SERVERのリストが空 | サブスクリプションの取得が完了しているか | 登録済みのサブスクリプションURL、更新結果、ネットワーク状態を確認します。 |
| 応答はあるがWebページを表示できない | テスト方法、認証情報、DNS | 項目を1つに固定し、実際のWebリクエストで追加確認します。 |
| ProxyではアクセスできるがConfigでは失敗する | 現在のConfigと適用されるポリシー | 対象ドメインのルールとFINALを確認し、元のファイルを保存してから変更します。 |
| オフにしても自動で再接続する | Settings → On Demand | 接続のトリガー条件を確認し、システムVPNのオンデマンド設定を確認します。 |
| 一部のWebサイトだけ失敗する | 接続先サイト、名前解決の結果、該当するルール | 同じドメインで1項目ずつ比較し、すべての設定を先にリセットしないでください。 |
問い合わせの際は、操作した順序、現在のネットワークの種類、Global Routingの選択、テスト方法、正確なエラーメッセージを記録してください。サブスクリプションURL全体、パスワード、その他の認証情報は隠してください。詳しく調べるには接続に関するトラブルシューティングをご覧ください。ルールキーワードの意味は用語集で確認できます。
初期設定後の確認
初期設定の目的は、説明でき、繰り返し検証できる接続経路を確立することです。すべてのスイッチをオンにすることではありません。手動接続で利用できることを確認してから、On Demand、シーン、より細かな振り分けを検討してください。設定を変更する前に、現在有効な内容を記録しておくと元に戻しやすくなります。
- Homeの接続状態が想定どおりで、システムVPNの許可が完了している。
- SERVERで使用する項目が選択され、設定情報の入手元が分かっている。
- Global Routingの選択を確認し、Configを使う場合は選択中のファイルを把握している。
- Connectivity Testと実際のWebアクセスを別々に確認している。
- 手動で接続を管理する場合、既存の条件でOn Demandが再接続を開始しないことを確認している。
以上を確認したら、Homeを日常の操作画面として使えます。まず接続状態とルーティング方式を確認し、必要に応じてSERVERとテスト結果を確認してください。ConfigとSettingsは、設定を変更する必要があるときに使います。一度のアクセス失敗で複数の箇所を同時に変更するのは避けましょう。