Shadowrocketをインストールしたばかりで、まだ接続できていない方を対象にしています。システムのVPN許可とサーバー設定の違いを確認し、Home、Config、Settingsの役割を整理します。読み終えたら、許可、手元にあるサブスクリプションの読み込み、サーバーの選択、接続確認の順に進め、問題の発生箇所を切り分けられます。
VPN構成の許可でできること
ShadowrocketはAppleプラットフォームのネットワーク拡張機能を使って通信を処理します。初回設定中に、システムからVPN構成の追加許可を求められます。Homeを開いた直後ではなく、初めて接続スイッチをオンにしたときに表示される場合もあります。「許可」をタップし、画面の案内に従ってデバイス認証を行ってください。表示されるタイミングや画面は、実際のデバイスによって異なります。
この許可により、クライアントがデバイス上でVPN接続を確立できるようになります。サブスクリプションの読み込みではなく、サーバーアドレス、ポート、認証情報が自動で作成されるわけでもありません。システムのVPN構成、Shadowrocketのルール設定ファイル、サービス提供元から受け取るサーバー情報は、それぞれ別のものです。システムの許可だけでは、プロキシが必要な接続先にはアクセスできません。
-
アプリを確認する
アプリ名がShadowrocket、App StoreのデベロッパがShadow Launch Technology Limited、アプリIDが932747118であることを確認してください。再確認する場合は、サイト内の入手ガイドをご覧ください。
-
Homeを開く
アプリを開き、SERVERに項目があるか確認します。一覧が空の場合は、サーバー情報がまだ用意されていません。システムの許可に失敗したと判断しないでください。
-
構成の追加を許可する
システムにVPN構成の追加を求められたら「許可」を選び、必要なデバイス認証を完了します。まだ表示されない場合は、サーバー情報を用意してからHomeの接続スイッチを試してください。
-
状態を確認する
Homeに戻り、接続状態を確認します。許可が完了しても接続成功とは限りません。サーバーを選択し、Connectivity Testと実際の通信で確認してください。
Home、Config、Settingsの役割
Homeでは、現在の接続、ルーティングモード、テスト、サーバー選択を行います。Configでは設定ファイルとそのルールを管理します。SettingsにはOn Demandなど、クライアントの設定があります。初めて使うときは、まずHomeで手動接続できる状態にしてから、ほかの画面で動作を調整すると、接続の問題と自動接続の問題を切り分けやすくなります。
Homeの接続スイッチは、デバイス上の接続を開始・停止します。Global Routingでは、リクエストのルーティング方法を選びます。Connectivity Testは接続診断に使います。SERVERには、読み込みまたは手動追加したサーバーが表示されます。4つの項目は連携しますが、互いの代わりにはなりません。ルーティングモードを変えても誤ったパスワードは直らず、サーバーを選んでも設定ファイルのルールが自動で補われるわけではありません。
- 現在の接続を確認:Homeに戻り、接続スイッチと状態表示を確認します。アプリが前面に表示されていることだけを接続の根拠にしないでください。
- ルールを確認:Configを開き、実際に使用中の設定ファイルを確認してから、ルールの順序とポリシーを確認します。
- 自動接続を確認:Settings → On Demandを開き、オンデマンド接続と関連条件が有効になっているか確認します。
SERVER一覧:情報を読み込み、既定のサーバーを選ぶ
この記事では、利用者がサービス提供元とサブスクリプションをすでに用意していることを前提とします。サブスクリプションは利用者自身のサービス提供元から入手してください。ShadowrocketはApp Storeで買い切りの商用アプリです。アプリの購入とサーバープランの契約は別です。SERVERが空の場合は、まず自分の接続情報を用意してください。
サブスクリプションを読み込むには、Home右上の「+」をタップし、TypeでSubscribeを選んで、自分のサブスクリプションURLを貼り付けて保存します。Homeに戻ってSERVERに項目が追加されたことを確認し、必要に応じてサブスクリプションを更新してください。サブスクリプションURLには認証情報が含まれることが多いため、URL全体を公開スクリーンショットや問い合わせ文に載せないでください。手動で追加する場合は、サービス提供元から案内されたプロトコルに合ったTypeを選びます。
手元にある情報に合わせて読み込み方法を選ぶ
サブスクリプションURLがある場合
- Home → “+” → Type → Subscribe。
- サービス提供元から受け取ったURLを貼り付けて保存します。
- 更新結果とSERVERに表示された項目を確認します。
- 更新後、現在選択されているサーバーをもう一度確認します。
サーバー情報が1台分ある場合
- Home → 「+」 → Typeの順に進み、該当するプロトコルを選びます。
- サーバーアドレス、ポート、認証情報をそれぞれ入力します。
- 提供された情報に基づいて、TLSとトランスポートの設定を確認します。
- 保存後、SERVERに戻って該当項目を選びます。
どちらの方法も、手元にある情報を読み込むためのものです。読み込み後、既定のサーバーを選択し、接続を確認してください。
Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardでは、入力項目や認証方式が異なります。名前が似ているからといって、別のTypeに同じパラメータを流用しないでください。ポートにはサービス提供元の指定値を入力します。たとえば443は、提供元から明示された場合にのみ使用し、すべてのプロトコル共通のポートだと考えないでください。TLSのサーバー名を単純にIPアドレスへ置き換えることもできません。
- SERVERで使用する項目をタップし、既定選択を示す丸印がその項目に移ったことを確認します。
- 「項目を選択する」ことと「編集画面を開く」ことは別です。編集して保存しても、そのサーバーが現在の既定サーバーになったとは限りません。
- 既定のサーバーは、現在のサーバーを参照するプロキシ経路で使われます。Configのポリシーグループでは、別のサーバーや選択方法が指定されている場合があります。
- サブスクリプションの更新後に項目が消えたり名前が変わったりした場合は、既定の選択、ポリシーの参照先、接続結果を改めて確認してください。
Global Routing:モードとルールの関係
Global Routingは通信の処理方法を変えるもので、サービス提供元のアカウントやサーバーパラメータは変更しません。最初に問題を調べるときは、現在のモードを記録してください。Proxyでは接続できてConfigでは問題が起きる場合、すぐにパスワードを変えたりアプリを再インストールしたりせず、ルールの適用結果とポリシーの参照先を確認します。
Config
おすすめ現在の設定ファイルにあるルールとポリシーに従ってリクエストを処理します。PROXYの場合もDIRECTの場合もあり、先行する条件に一致しない場合はFINALなどのフォールバックルールで処理されます。まず設定ファイルが有効であることを確認し、通常利用のモードとして使ってください。
適した用途:明確な振り分けルールがある場合の日常的な接続。
Proxy
クライアントが処理するリクエストをプロキシ経由にします。通常の振り分けルールの影響を一時的に切り分けるときに使います。サーバーが利用できない場合、Proxyに切り替えても接続パラメータの問題は解決しません。
適した用途:プロキシ経路の確認、Configの結果との比較。
Direct
クライアントが処理するリクエストを直接接続で処理します。VPN接続を停止する操作とは異なり、クライアントの接続をオンにしたまま、リクエストを直接接続にできます。
適した用途:ローカルネットワークから接続先へ直接アクセスできるかの確認。
Scene
設定済みのScene条件に基づいてルーティング動作を決めます。選択する前にSceneの内容と現在のネットワークを確認してください。Sceneは利用可能なサーバーを自動で探す機能ではありません。
適した用途:Sceneを設定済みで、環境に応じて動作を切り替えたい場合。
Configを理解するには、まずよく使われる4つのルールキーワードを確認しましょう。DOMAIN-SUFFIXはドメインのサフィックス、GEOIPはIPアドレスの地理的な割り当て、IP-CIDRはアドレス範囲に一致します。FINALは、それ以前のルールに一致しなかったリクエストの最終ポリシーを指定します。ルールは通常、上から順に適用されるため、具体的な条件を広い条件より前に配置します。
[Rule]
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
接続スイッチとConnectivity Test:接続を確認する方法
サーバーを選択したら、Homeで接続スイッチをオンにします。システムから許可を求められた場合は、先に許可を完了してください。すぐにオフへ戻る場合は、システムの案内とサーバーパラメータを確認します。スイッチがオンのままでも、すべての接続先にアクセスできるとは限りません。テスト先から応答があるか確認し、実際のリクエストも試してください。
接続前の確認
- 項目
- Home → SERVER
- 選択中のサーバー
- 既定を示す丸印が、使用するサーバーに付いている
- ルーティングモード
- Home → Global Routing
- 設定値の確認元
- アドレス、ポート、認証情報がサービス提供元の指定どおり
スイッチをオンにする前に接続先を確認し、変更は一度に1項目ずつ行います。
接続後の確認
- 項目
- Home → Connectivity Test
- テスト結果
- 応答があるか、タイムアウトするかを確認
- 実際のリクエスト
- アクセスしたいページを開く
- 条件をそろえる
- 同じサーバー、同じネットワークで、Global Routingのモードを記録
テスト結果はテスト時の条件に限られます。実際の通信確認の代わりにはなりません。
SERVERでの遅延テストとConnectivity Testは別のものです。遅延結果は選択したテスト方法での応答状況を示すもので、通信速度を保証するものではありません。Connectivity Testの結果も、テスト先、DNS、ルーティングポリシー、ネットワーク状態に左右されます。テストに成功しても特定のページが開けない場合は、そのページのドメイン、適用されたルール、通信経路を確認してください。
- スイッチはオンだが、テストがタイムアウトする:サーバーは変えずにローカルネットワークを確認し、アドレス、ポート、認証、TLSなどのパラメータを見直します。
- Proxyでは正常だが、Configでは異常:Configのルール順序、FINAL、ポリシーの参照先が利用可能な経路を指しているか確認します。
- テストは正常だが、接続先に問題がある:具体的な接続先と状況を記録し、リクエストが直接接続になっていないか、想定したポリシーが適用されているか確認します。一度のテスト結果からすべてのリクエストの状態を判断しないでください。
- Wi-Fiでは正常だが、モバイル通信では異常:サーバーとルーティングモードを同じにして再テストします。ネットワークとサーバーを同時に変えると原因を特定しにくくなります。
Settings → On Demand:手動接続を確認してから設定
On Demandは、設定した条件に応じて接続動作を開始する機能です。「いつ接続するか」を設定するもので、サーバーが利用可能かどうかを解決する機能ではありません。初めて使うときは、手動接続、Connectivity Test、実際のリクエストの結果を確認してから、Settings → On Demandで条件を確認してください。
接続をオフにした後、しばらくして再び接続されている場合は、On Demandが有効か、現在のネットワークが条件に一致しているか確認してください。この現象をすぐにスイッチの故障と判断すると、通常のオンデマンド接続を不具合と誤認することがあります。条件を変更したら、同じネットワークで再度試し、クライアントの状態を記録してください。
- Homeで現在のサーバーとGlobal Routingを確認し、手動接続を先にテストします。
- Settings → On Demandを開き、有効状態と設定済みのネットワーク条件を確認します。
- 実際の用途に合わせて条件を調整します。最初の切り分けでは、ルールファイルやサーバーパラメータを同時に変更しないでください。
- Homeに戻り、想定するネットワーク環境での接続動作を確認し、設定どおりか確かめます。