この記事は、Shadowrocketを使う準備ができており、利用中のサービスとサブスクリプションがある方向けです。アプリの購入、サーバー情報、ルール設定の違いを確認してから、インポート、VPNの許可、テスト、ルーティングの選択へ進みます。更新に失敗したり接続が切れたりした場合は、原因を特定できるよう一度に変更する条件は一つに絞りましょう。
1. 購入すればすぐに接続できますか?
アプリの購入状況だけでは、接続できるかどうかは判断できません。Shadowrocketは買い切りの商用アプリです。アプリの購入とサーバーの利用契約は別です。App Storeではアプリを購入・インストールできますが、接続に必要なサーバーアドレス、ポート、認証情報は、利用者がすでに契約しているサービスから取得します。インストール後も、Homeに利用可能なサーバー項目を登録する必要があります。
入手先はApp Storeのみです。確認する際は、デベロッパ名のShadow Launch Technology LimitedとアプリIDの932747118を照合してください。システム要件と互換性はApp Storeの掲載情報をご確認ください。以下の3つの数値は操作上の目安であり、サービスの利用可否を保証するものではありません。
2. サブスクリプションURLはどこに追加しますか?
サブスクリプションを使うと、利用中のサービスのサーバー情報をまとめて取得できます。ルール設定ファイルとは別のものです。クライアントへのインポートに使うサブスクリプションURLなのか、サービスのログインページURLなのかを確認してください。tokenを含むURLはアクセス情報を含む場合があるため、パスワードと同様に扱い、公開スクリーンショットに載せないでください。
-
追加画面を開く
Homeを開き、右上の「+」をタップしてAdd Serverを開きます。
-
種類を選ぶ
TypeでSubscribeを選び、利用中のサブスクリプションURLを入力します。この記事では
https://example.com/sub?token=xxxxを架空の例として使用しています。接続には使えません。 -
情報を保存する
URLの先頭や末尾に空白、改行、日本語の句読点が紛れ込んでいないか確認します。判別しやすいメモを入力して保存してください。
-
一覧を確認する
Homeに戻り、サブスクリプションの下にサーバー項目が表示されたことを確認します。まだ読み込まれていない場合はサブスクリプションを更新し、項目を一つ選んでテストします。
保存後にサブスクリプション名だけが表示され、サーバーが見つからない場合は、同じURLを続けて追加しないでください。まず更新時にエラーが表示されていないか確認し、URLが有効か、サブスクリプションデータが返されているかを調べます。ログインページを開けても、サブスクリプションの取得に成功したとは限りません。
3. サブスクリプションの更新方法と、失敗時の確認ポイント
サブスクリプションを更新すると、サーバー一覧が再取得されます。サービスの契約更新や、Config内のルールファイルの更新が行われるわけではありません。Homeで下に引っ張って更新した後、対象のサブスクリプションの状態と項目の変化を確認してください。更新時のアニメーションだけで成功を判断しないようにしましょう。手動で編集した項目がある場合は、更新前に必要な内容を記録してください。リモートのデータでローカルの変更が上書きされることがあります。
更新がずっとtimeoutになる場合は?
まず、現在のネットワークからリクエストを送信できるか確認します。サブスクリプションURLへのアクセスに既存の接続が必要な場合は、先に接続してください。その後、Settings → SubscribeでUpdate via Proxyを確認し、再度試します。この設定では、無効になったURLは修復できません。
更新後も一覧が変わらないのは、失敗したからですか?
表示中のサブスクリプショングループとURLを確認し、エラーメッセージが出ていないか確認してください。リモートの内容に変更がなければ、更新に成功しても一覧が同じ場合があります。項目数が変わらないだけで失敗と判断しないでください。
URLを開けるのにインポートできない場合は?
表示された内容がサブスクリプションデータなのか、ログインページやエラーページなのか確認します。利用中のサービスの管理画面からURL全体をコピーし直してください。tokenを変更したり、ログインページのURLをSubscribeに入力したりしないでください。
4. 初回起動時にVPN構成の追加を求められるのはなぜですか?
初めて接続を有効にすると、VPN構成の追加を許可するようシステムから求められることがあります。これはShadowrocketがデバイスのネットワーク通信を処理するために必要なシステム上の許可で、サブスクリプションのインポート手順とは別です。操作中のアプリがShadowrocketであることを確認してから進み、システムの案内に従って認証してください。
- Homeでインポート済みのサーバーを選び、項目が空欄のまま、または未入力の状態でないことを確認します。
- Home上部の接続スイッチをオンにして、VPN構成の追加に関するシステムの案内を確認します。
- 許可した後、システムの要求に従って認証し、Homeに戻って接続状態を確認します。
- 以前に許可を取り消した場合は、接続を再度オンにして案内が表示されるか確認します。システム設定で「VPN」を検索し、構成が登録されているか確認する方法もあります。
システムに「VPN接続済み」と表示されても、トンネルが接続状態であることを示すだけです。サーバー認証、DNS、接続先のWebサイトが正常であることまでは確認できません。接続できてもWebページが開かない場合は、Connectivity Testとルーティング設定を確認してください。システム構成を何度も削除する必要はありません。
5. Global Routingはどれを選べばよいですか?
普段、設定済みのルールを使う場合はConfigを選びます。ルールが原因か一時的に切り分ける場合は、ProxyまたはDirectに切り替えて比較できます。Global Routingの選択肢としてのConfigと、画面下部にある設定ファイル管理ページのConfigは別の項目です。両方を確認してください。
| 選択肢 | 用途 | 確認ポイント |
|---|---|---|
Proxy | プロキシ経由でルーティングし、比較テストに使用します。 | 選択したサーバーが利用可能かどうか。 |
Direct | プロキシサーバーを経由せず、直接接続します。 | 現在のネットワークから接続先にアクセスできるかどうか。 |
Config | 現在有効な設定のルールに従って通信を処理します。 | 有効な設定、ルールの順序、適用されるポリシー。 |
Scene | 設定済みのシーン条件に従ってルーティングを適用します。 | シーン条件が現在のネットワークに合っているかどうか。 |
Sceneは「最速のサーバーを自動選択する」機能と同じではありません。シーンを設定していない場合、自動化に使えそうな名前だからという理由だけで選択しないでください。確認作業の後は必要なルーティング設定に戻し、テスト前後の違いを記録しましょう。
6. Configの切り替え方法と、ルールが適用されない原因
画面下部のConfigを開き、使用する設定ファイルを選んで、操作メニューからUse Configを選択します。その後Homeに戻り、Global RoutingをConfigに設定してください。ファイルをダウンロード、編集、または開いただけでは、現在使用中の設定になりません。原因を調べる前に元のファイルを残し、いつでも元に戻せる状態にしておきましょう。
有効化の確認
- ファイルの場所
- 画面下部のConfig
- 有効化の操作
- ファイルを選択 → Use Config
- ルーティングの選択肢
- Home → Global Routing → Config
ファイルが保存されている状態と、有効になっている状態は別です。
ルールの意味
- DOMAIN-SUFFIX
- 指定したドメインのサフィックスと、そのサブドメインに一致します。
- IP-CIDR
- 宛先のIPv4アドレス範囲に一致します。
- FINAL
- 前のルールに一致しなかった通信を処理します。
ルールは上から順に評価されます。FINALは末尾に配置してください。
以下はルールテキストの例であり、アプリの画面や完全な設定ではありません。GEOIPは宛先IPアドレスの地理データベース上の地域に基づいて一致します。実際に名前解決された宛先IPが、ルールで指定した地域に属するか確認してください。PROXY、DIRECT、REJECTはそれぞれ、プロキシ経由、直接接続、拒否を表します。ルールのポリシー欄に日本語の説明を入力しないでください。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
7. 接続スイッチが自動でオフになる、またはオフにしても再接続するのはなぜですか?
まず「接続が切れる」場合と「自動で再接続する」場合を分けて考えます。接続が切れる場合は、ネットワークの切り替わり、サーバーの状態、ほかのVPN構成の影響を確認します。自動で再接続する場合は、Settings → On Demandを優先して確認してください。On Demandは条件に応じて接続動作を実行する機能です。サーバーの認証情報を改善するものではなく、ネットワーク切り替え時の通信を常に維持する機能でもありません。
- 手動で切断した後に再接続する場合:Settings → On Demandで、現在のネットワークに一致する条件が有効になっていないか確認します。一時的にこの機能をオフにして、もう一度動作を確認してください。
- Wi-Fiからモバイル通信に切り替えた後に切断する場合:切り替えた時刻を記録し、モバイルデータ通信自体が使えることを確認してから、再接続して同じ操作を試します。
- 別のVPNを起動した後に切断する場合:システムで現在有効になっているVPN構成を確認し、切り分け中はテストに必要な接続だけを有効にしてください。
- 特定のサーバーだけで切断する場合:ネットワークと設定は変えず、利用中の別のサーバー項目でテストし、結果を比較してください。
「アプリの画面を閉じる」ことと「VPNを切断する」ことは同じではありません。接続を停止するときはHomeの接続スイッチを使い、On Demandの条件も確認してください。システムとアプリで表示が異なる場合は、システムのVPN設定で現在の状態を確認します。
8. Connectivity Testの遅延が短いのに、Webページが開かないのはなぜですか?
遅延の結果が示すのは、現在のテスト方法で応答があったことだけです。接続先Webサイトへのすべてのリクエストが完了する保証にはなりません。まずHomeでConnectivity Testを実行し、次に具体的な接続先へアクセスします。テストがタイムアウトしたか、接続を確立できたか、WebページにDNSや認証関連のエラーが表示されたかをそれぞれ記録してください。
- サーバーのType、Address、Port、認証情報を確認し、利用中のサービスから提供された内容と一致していることを確かめます。ポートには実際の値を入力してください。TLSが有効だからといって、
443に変更しないでください。 - プロトコルに応じて必要な項目を確認します。Shadowsocksでは暗号化方式とパスワード、VMessまたはVLESSではUUID、Trojanではパスワードを確認し、サービスが指定するTLS、SNI、転送設定も照合してください。
- Hysteria2またはWireGuardを使う場合は、それぞれの認証情報や鍵、アドレス設定を確認します。ほかのプロトコルの項目を流用しないでください。
- デバイスの日付とタイムゾーンが正しいか確認します。時刻を合わせるには、システム設定 → 一般 → 日付と時刻で自動設定を確認してください。
- 一時的にProxyとConfigを切り替え、同じ接続先で比較します。Configの場合だけ失敗するなら、有効な設定のルール、ポリシー、DNS設定を確認してください。
各手順の後、同じテストを繰り返してください。サーバーの変更、ポートの変更、TLSの無効化、設定の切り替えを同時に行うと、接続が回復しても原因を特定できません。
9. iPhoneやiPadの機種変更後に設定を復元するには?
まずアプリの購入を復元し、その後に接続情報を復元します。この2つは別の手順です。購入時に使ったApple AccountでApp Storeの購入済み一覧からアプリを再入手できます。一方、サーバー、サブスクリプション、設定が復元できるかは、事前に情報を保存したか、必要なバックアップを行ったかによります。再インストールできたからといって、すべての設定が戻ったとは限りません。
機種変更時の確認:旧デバイスでバックアップ、新デバイスで検証
旧デバイス
- 購入時のアカウントと、利用中のサブスクリプションの入手元を確認します。
- 現在有効な設定と、必要な手動入力のサーバーパラメータを保存します。
- Global RoutingとOn Demandの設定を個別に記録します。
新デバイス
- App Storeの購入済み一覧からShadowrocketを再入手します。
- 保存した情報をインポートし、設定とサーバーを選び直します。
- VPNの許可を完了してから、接続と実際のアクセスをテストします。
iPhoneとiPadでそれぞれ接続状態を確認してください。アプリの購入履歴は、サブスクリプションの認証情報をバックアップするものではありません。
iCloudやシステムバックアップを利用する場合は、機種変更前に旧デバイスで必要な同期が完了していることを確認し、移行後も項目ごとに検証してください。すべての情報が自動で引き継がれるとは限りません。2台のデバイスで同じサービスを同時に利用できるかは、利用中のサービスの接続制限によります。アプリの購入回数から判断しないでください。
10. 問題を調べやすくするには、どんな情報を記録すればよいですか?
役立つ記録は、同じ問題を再現できる内容です。少なくとも、発生したネットワーク、使用したプロトコル、Global Routingの選択肢、現在の設定、エラーが発生した段階(サブスクリプションの更新、接続の確立、実際のアクセス)を記録してください。「開けない」よりも、「Connectivity Testはタイムアウトするが、サブスクリプションは更新できる」のように具体的に書くと、状況を把握しやすくなります。
- テスト条件を記録する:たとえば「自宅のWi-FiでGlobal RoutingはConfig。Proxyに切り替えると、同じ接続先が開く」のように記録します。ルールや関連設定に調査範囲を絞るのに役立ちます。
- 元のエラーメッセージを記録する:
timeoutなどの英語のエラー表示と発生時刻を残し、すべてのエラーを「ネットワーク障害」とまとめないでください。 - 機密情報を削除する:サブスクリプションURL内のtoken、パスワード、UUID、秘密鍵、QRコードは、公開の問い合わせに含めないでください。
- 元に戻せる状態を保つ:設定を編集する前にバックアップし、一度に変更するのは一つだけにします。テスト後は、一時的に変更したルーティングや自動接続の設定を元に戻してください。