Shadowrocketを初めて設定するときは、利用する接続情報を用意し、Homeでサーバーを追加・選択してGlobal Routingを確認したうえで、接続スイッチをオンにしてシステムのVPN構成追加を許可します。初めて使うiPhone・iPadユーザー向けに、接続状態、ルーティング方法、接続テスト、サーバー一覧の違いを解説し、接続できない場合や自動再接続の確認手順も紹介します。
初回接続の前に:アプリ、サーバー、構成ファイルの違い
ShadowrocketはAppleプラットフォーム向けのクローズドソースの有料アプリで、入手先はApp Storeのみです。購入前にデベロッパ名のShadow Launch Technology LimitedとアプリID 932747118をご確認ください。価格とシステム要件はApp Storeの掲載情報をご確認ください。ここでは主にiPhone・iPadでの操作を説明します。画面に表示される文言は、実際のデバイスでご確認ください。
アプリの買い切り購入と接続サービスの契約は別です。購入しても、利用可能なサーバーが自動で用意されるわけではありません。以下の操作は、利用中のサービスや契約がある、またはご自身で管理するサーバーの設定情報を取得済みであることを前提としています。当サイトではサーバーやサブスクリプションサービスの提供・販売・推奨は行っていません。必要な情報がない場合は、接続スイッチを繰り返し操作せず、まず画面の構成を確認してください。
Homeのサーバー項目には、接続先アドレス、ポート、認証情報などが含まれます。Configの構成ファイルでは、ルールやDNSなどの動作を定義できます。サブスクリプションを読み込んでSERVER一覧に項目が増えても、必要なルーティングルールを取得・有効化したことにはなりません。逆に、.confを読み込んだだけでは、参照先のプロキシポリシーに利用可能なサーバーが設定されているとは限りません。
初回の操作:サーバー項目を追加してVPN構成を許可
システムの許可を求められるのは、通常、初めて接続しようとしてVPN構成の作成が必要になったときです。アプリを開いた直後に必ず表示されるわけではありません。以下の順に進めると、「接続情報が未準備」の場合と「システムの許可が未完了」の場合を切り分けられます。
-
アプリを確認
App StoreからインストールしてShadowrocketを開き、Homeに移動します。利用中のサービスが有効か確認し、サービス提供元から取得した接続情報またはサブスクリプションURLを用意してください。
-
サーバー項目を追加
サブスクリプションを使う場合は、Home → 右上の「+」→ Type → Subscribeの順に進み、ご自身のサブスクリプションURLを入力して保存します。URLは機密情報です。実際のtokenを含む画面やQRコードを公開しないでください。
-
サーバーを選択
Homeに戻り、サブスクリプションの読み込み後、SERVER一覧から項目を選びます。手動で追加する場合は「+」から実際に使用するプロトコルを選択し、アドレス、ポート、認証情報をそれぞれ入力してください。サブスクリプションURLを単一サーバーのアドレスとして入力しないでください。
-
ルーティングを確認
Home → Global Routingを開き、現在選択されている方式を確認します。適切な構成がある場合はConfigを使用します。ルールの影響を一時的に調べる場合はProxyを使い、確認後は元のルーティング方式に戻してください。
-
VPN構成を許可
Home上部の接続スイッチをオンにします。システムからVPN構成の追加を求められたら許可し、画面の案内に従ってデバイス認証を完了します。アプリに戻って接続状態を確認し、ご自身がアクセス権を持つ宛先でテストしてください。
Homeの各項目:スイッチ、一覧、テストの役割
Not Connectedは接続状態を示す表示であり、エラーの原因ではありません。現在接続が確立されていないことを表します。この表示だけでは、サブスクリプションの誤り、サーバー障害、システム権限の問題のいずれかは判断できません。上部のスイッチは接続の開始・停止、Global Routingはリクエストの処理方法、SERVER一覧は接続項目の選択、Connectivity Testは接続テストを行います。それぞれ別の機能として確認してください。
接続とルーティング
- Not Connected
- 未接続の状態を示します。まずスイッチと許可設定を確認してください。
- 上部のスイッチ
- 接続または切断を行います。サブスクリプションの読み込みには使いません。
- Global Routing
- Proxy、Direct、Config、Sceneなどのルーティング方式を選択します。
スイッチは接続の有無を、ルーティング方式は接続後のリクエスト処理を決めます。
サーバー項目とテスト
- SERVER
- サーバー項目またはサブスクリプショングループを表示します。使用する項目を選択してください。
- Connectivity Test
- 現在のテスト設定に基づいて接続を確認します。結果はテスト対象を踏まえて判断してください。
- Config
- 構成ファイルを管理します。Configルーティングを使う場合は、現在有効な構成を確認してください。
一覧に項目があること、テスト結果が表示されること、実際のリクエストが成功することは、それぞれ別に確認する必要があります。
テストで遅延が表示されても、その時点でテスト方式に対する応答があったことを示すにすぎません。テスト対象、タイムアウト、ネットワーク環境によって結果は変わるため、数値が小さいからといって、すべてのWebサイトで速くなるとは限りません。テストに応答があるのに特定のページを開けない場合は、遅延が最小の項目を選び直すだけでなく、そのページに適用されるルール、DNS、接続先を確認してください。
Global Routing:4つの方式の選び方
初回設定では、まず何を確認したいのかを明確にしてください。サーバー経由でリクエストを処理できるかを確認するのか、構成ファイルのルールによる振り分けを確認するのかによって、ProxyとConfigの使い分けは異なります。以下の「おすすめ」は、利用する構成を準備し、内容を確認済みの日常利用を想定したものです。接続サービスやサーバーを推奨するものではありません。
Config
おすすめ現在有効な構成ファイルのルールに従って処理方法を決定します。ルールではDIRECT、PROXY、その他の定義済みポリシーを指定できます。どのルールにも一致しないリクエストの処理は、FINALなど構成ファイル末尾の設定を確認してください。
適した用途:必要な構成があり、ドメイン名やIPなどの条件で通信を振り分けたい場合。
Proxy
アプリが処理するリクエストをプロキシ経由で処理します。Configの通常の振り分けルールを1つずつ適用して経路を決める方式ではありません。有効なサーバー情報は引き続き必要です。この方式に切り替えても、認証やサーバー側の問題は解決しません。
適した用途:選択中のサーバーを一時的に確認し、ルーティングルールの影響を切り分けたい場合。
Direct
リクエストを直接接続で処理します。この状態でページを開けても、プロキシサーバーが利用可能である証拠にはなりません。Global RoutingでDirectを選ぶ操作と、上部の接続スイッチをオフにする操作は別です。
適した用途:同じ宛先に現在のネットワークから直接アクセスできるか比較したい場合。
Scene
シーンに関連する設定に基づいてルーティングします。実際の動作は、設定済みのシーン条件と対応するアクションによって異なります。初回操作でシーンの設定を確認していない場合は、名称だけで接続先を判断しないでください。
適した用途:シーンを設定済みで、発動条件とルーティング動作を個別に確認できる場合。
以下はConfigのルールを理解するための最小限の例です。サーバー情報を含まず、初回接続に必要な構成全体を示すものではありません。DOMAIN-SUFFIXはドメインのサフィックスに一致します。ルールは記述順に評価され、FINALはそれまでのルールに一致しなかったリクエストを処理します。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
この例では、example.comとそのサブドメインにPROXYを適用し、それ以外の未一致リクエストにはDIRECTを適用します。そのため、「接続済みでも、特定のリクエストは直接接続される」という動作は、構成どおりの場合があります。GEOIPやIP-CIDRを使う場合は、リクエストに宛先IPがあるか、ドメインの名前解決が照合に関与するかも考慮してください。初回接続時に、ルールの種類をそろえるためだけに項目を追加する必要はありません。
SERVERとサブスクリプション:追加・更新・選択の3段階で確認
サブスクリプションは接続項目をまとめて取得する方法であり、接続状態そのものではありません。例のURL https://example.com/sub?token=xxxx はURLの構造を示すだけのもので、tokenは明らかなダミー値です。利用可能なサービスではありません。ご自身が利用中のサービスの実際のURLを入力し、既存のクエリパラメータはそのまま残してください。
- 追加後に内容を確認:Homeに戻り、サブスクリプショングループの下に項目が表示されるか確認します。グループ名だけでサーバー項目がない場合は、URLが完全か、サービスが有効か、現在のネットワークからサブスクリプションを取得できるかを確認してください。
- 更新後に再確認:Homeを下に引いてサブスクリプションを更新し、項目が実際に変化したか、選択中の項目が残っているか確認します。更新しただけでは、新しいサーバーに切り替わりません。
- 接続前に選択を確認:使用するSERVER項目を明示的にタップして選択してから、接続スイッチをオンにします。一覧の並び順や直前にテストした項目だけを根拠に、選択済みと判断しないでください。
- 手動で追加した項目の確認:Typeは利用するサービスと一致している必要があります。たとえばTrojanのパスワードとShadowsocksの暗号化方式・パスワードは異なるプロトコルの項目です。名前だけを変更して互換性を持たせることはできません。ポートもサービス提供元が指定した値を使用してください。
読み込み後も接続できない場合は、「サブスクリプションの更新」と「接続テスト」を分けて確認します。まずサーバー項目を取得できるか、次に選択した項目で接続できるかを確認してください。構成ファイルの更新はConfigで別途確認します。サブスクリプションの更新に成功しても、ルールファイルが更新されたとは限りません。
Settings → On Demand:手動接続を確認してから自動接続を設定
On Demandは、設定した条件に応じてVPN接続の動作を開始する機能です。遅延を測るツールでも、サーバー情報を修正するボタンでもありません。初めて使う場合は、再現可能な手動接続を一度確認してからSettings → On Demandで条件とアクションを確認してください。先に自動接続を設定すると、接続できない原因を切り分けにくくなることがあります。
2段階で確認:手動接続とOn Demand
初回の手動接続
- Homeでサーバー項目を1つ選択します。
- 変更する条件を増やさないよう、Global Routingの方式を固定します。
- 接続後に同じ宛先へアクセスし、その後手動で切断して比較します。
次に自動接続を確認
- Settings → On Demandを開き、既存の条件を確認します。
- Wi-Fiなどのネットワーク条件ごとに、設定されている接続アクションを確認します。
- ネットワークを切り替え、スイッチの表示だけでなく、意図したとおりに動作するか確認します。
まず手動接続が使えることを確認してから自動接続を検証します。Global Routingはルーティング方法を、On Demandは条件に応じて接続するタイミングを決めます。
手動で切断した後に再び接続された場合は、まずOn DemandとシステムのVPN構成にあるオンデマンド接続の状態を確認し、自動接続の条件が設定されていないか確認してください。すべての項目をすぐに削除しないでください。自動接続を無効にする場合は、アプリの設定とシステム上のVPN構成の状態を両方確認し、元のネットワーク切り替えを再度行って動作を検証してください。
接続後の確認方法:症状ごとのチェック項目
接続状態が変わることは最初の確認事項です。その後、実際のリクエストが意図したとおりに処理されるかを確認します。以下はトラブルシューティングの手順であり、当サイトでの実測結果ではありません。特定のネットワークで必ず同じ症状が起きることを示すものでもありません。設定は一度に1つだけ変更し、元の値を控えて戻せるようにしてください。
- スイッチがオンのままにならない:システムでVPN構成の追加が許可されているか、サーバー項目が選択されているか、アプリにエラーが表示されていないかを確認します。許可を求める表示が出ない場合も、必ずしも異常ではありません。すでに構成が作成されている可能性があります。
- サブスクリプション一覧が空:まずURL、サブスクリプションの有効性、更新エラーを確認します。利用可能な項目がない状態でGlobal Routingを切り替えても、サーバーは追加されません。
- 接続済みなのに宛先を開けない:現在のGlobal Routing、Configで有効な構成、宛先に想定したポリシーが適用されているかを確認します。次に、同じ宛先に対するProxyとDirectの動作を比較し、テスト後は元の設定に戻してください。
- テストに応答があるのにWebページを開けない:テスト対象とWebページが別の確認対象であることを踏まえ、ドメイン名の解決、宛先側のアクセス制限、選択中の項目で実際に接続できるかを確認してください。
- Wi-Fiを切り替えると動作が変わる:まず新しいネットワークから宛先にアクセスできるか確認し、次にSceneとOn Demandの条件を確認してください。ルーティングの変化と自動接続の変化を混同しないようにします。