サーバーを1台ずつ追加する方法と、サブスクリプションを読み込む方法は別々の手順です。両方を行う必要はありません。アドレス、ポート、認証情報をお持ちの場合は手順1から、サブスクリプションURLをお持ちの場合は手順2へ進んでください。どちらの場合も、まずHomeに選択可能な項目が表示されていることを確認してから、ConfigとGlobal Routingを確認します。
01 · Add Server:登録済みサーバーを追加
Shadowrocketを開いてHomeに移動し、追加ボタンからAdd Serverを開きます。先にTypeを選択してから、ほかの項目を入力してください。Typeは登録済みの情報に記載されたプロトコルと一致させます。サーバー名だけで判断しないでください。Shadowsocks、VMess、VLESS、Trojan、WireGuardなどでは必要な項目が異なります。Typeを切り替えたら、画面に表示される必須項目をあらためて確認してください。
サーバーのアドレスとポートは、それぞれ対応する欄に入力します。アドレス欄には通常、ホスト名またはIPアドレスのみを入力します。ウェブページのURL全体やポート番号をまとめて貼り付けないでください。認証情報は登録内容に従って入力し、前後の空白、改行、大文字と小文字に注意します。TLS、転送方式などの追加パラメータが記載されている場合も、項目ごとに設定してください。アドレスと認証情報だけを入力して保存しないようにします。
- Typeが登録情報と一致していることを確認し、アドレス、ポート、認証情報をチェックします。
- 追加パラメータも確認してください。記載のないオプションはむやみに有効にしないでください。
- 見分けやすい名前を入力し、保存してHomeに戻ります。
- 追加した項目をタップし、現在選択中になっていることを確認します。
保存できたことは、入力した項目がアプリに受け付けられたことを示すだけで、サーバー側の認証が成功したことを意味しません。複数のパラメータを続けて変更せず、まず入力内容を残して、後ほど同じ方法で確認してください。登録情報がQRコードの場合はScan QR Codeで読み取れます。保存前にプロトコル、アドレス、追加パラメータを確認してください。
Homeにサーバーが表示されたら、サブスクリプションの手順を省略してConfigを確認できます。複数のサーバー情報をサブスクリプションでまとめて管理する場合は、次の手順で読み込んでください。同じ情報を1件ずつ手入力する必要はありません。
02 · Subscribe:サブスクリプションの追加と更新
サブスクリプションURLはサーバー項目を取得するためのもので、一般的なサービス紹介ページのURLとは異なります。ご自身のサービス提供元の情報からURL全体をコピーし、HomeでAdd Serverを開いてTypeにSubscribeを選択し、URL欄に貼り付けます。見分けやすい名前を付けてもかまいません。内容を確認して保存し、アプリがサブスクリプションを取得・解析するまで待ちます。
貼り付けたURLの「?」以降のパラメータを手動で削除しないでください。URLによってはアクセス権の確認に使われるため、1文字欠けただけでも取得に失敗することがあります。コピーした内容に引用符、前後の空白、改行が含まれていたら、元の情報と照らし合わせて修正します。認証情報を含む実際のURLを、他人に送ってテストしてもらわないでください。
保存後にHomeへ戻り、該当するサブスクリプショングループにサーバー項目が表示されているか確認します。グループ名が表示されても、中身が空なら読み込みに成功したとは限りません。「サブスクリプションURLが保存された状態」と「サーバー一覧が解析された状態」は別です。一覧が正しく表示されたらグループを開き、使用する項目を選択して次の接続手順に進みます。
Subscribeの更新後に確認すること
サービス提供元から内容の変更が案内された場合や、項目が古くなっている可能性がある場合は、Homeで該当するサブスクリプションの操作メニューから更新します。メニューの場所や表示方法はアプリの画面によって異なる場合があるため、現在の表示に従ってください。更新後は一覧と選択中の項目を再確認します。項目が変更または削除されることもあるため、更新処理が終わっただけで以前の選択をそのまま使わないでください。
短時間に何度も更新しても、問題の切り分けにはなりません。更新に失敗したら、まずエラーの内容を記録し、現在の端末からサブスクリプションURLにアクセスできるか、サービス提供元からアクセス制限の案内があるかを確認します。サブスクリプション一覧が正常でサーバー接続に失敗する場合は、サーバーパラメータと接続経路を確認してください。すぐにサブスクリプション全体を削除する必要はありません。
URLの形式とサーバーからの応答を切り分けるには、サブスクリプションの読み込み失敗・サーバー一覧が空のときの確認メモをご覧ください。読み込みが完了したら、ルールの動作を決める設定ファイルを確認します。
03 · Config:現在の設定ファイルを確認
Configを開き、現在有効な設定ファイルを確認します。サーバー項目は利用する接続先を決め、設定ファイルはルールなどの処理方法を定義します。両者は別のものです。サブスクリプションの読み込みに成功しても、Configのルールが更新されたとは限りません。逆に、設定ファイルを選択しても、不足しているサーバー認証情報が自動で補われるわけではありません。
初めて使う場合は、まず現在の設定を確認してください。接続テストのために設定ファイル全体をすぐに置き換える必要はありません。信頼でき、用途を把握している設定がある場合は、説明に従ってConfigに読み込み、選択できます。読み込み前に元のファイルを保管し、変更前にはコピーを保存してください。内容が不明な設定ファイルは通信経路を変える可能性があるため、ファイル名だけで有効にするかどうかを判断しないでください。
以下では短いルール例を使って読み方を説明します。例を現在のファイルにそのまま上書きする必要はありません。example.comは例示用のドメインです。PROXYに対応する実際のプロキシ選択先は、現在の設定とアプリの設定を確認してください。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY
Configモードでは、リクエストはルールの順番に沿って照合されます。1行目はドメインのサフィックス、2行目は宛先IPの範囲で照合します。FINALは、それ以前のルールに一致しなかったリクエストを処理します。そのため、ファイルにルールが記載されていても、必ず適用されるとは限りません。前にあるルールと最終ポリシーも重要です。
まずは「現在どの設定ファイルを使っているか」を確認します。3種類の処理方法を見直すにはGlobal Routingの手順をご覧ください。アプリの入手、App Storeの地域、購入の復元などについてはインストールガイドで詳しく説明しています。
04 · Global Routing:通信の処理方法を選択
Homeに戻り、Global Routingを開きます。ここでは通信全体の処理方法を選択します。サーバーの読み込みや、誤った認証情報の修正はできません。3つのモードはConfig、Proxy、Directです。目的に合わせて選び、Homeに戻って選択内容を確認してください。
- Config
現在有効な設定ファイルのルールに従って照合し、それぞれに対応するポリシーを適用します。宛先ごとに異なる経路を使い分ける場合に選びます。使用前に設定ファイルと最終ポリシーを確認してください。確認していないと、リクエストが想定と異なる経路を通ることがあります。
- Proxy
アプリが処理するリクエストをプロキシ経由にします。初回確認時に、ルールの違いによる影響を抑えたい場合に便利です。ただし、正しいサーバーの選択とパラメータ設定が必要です。利用できないサーバーが使えるようになるわけではなく、すべてのアプリの通信が必ず処理されるという意味でもありません。
- Direct
リクエストを直接接続で処理し、現在のネットワークからのアクセス状況を比較できます。アプリの接続スイッチをオフにする操作ではありません。接続を完全に停止する場合は、Directに切り替えるのではなく、Homeに戻ってスイッチをオフにしてください。
初回確認では、まずProxyで選択中のサーバーを確認し、次にConfigへ切り替えてルールの動作を確認します。Proxyで正常、Configで異常なら、すぐにサーバー情報を再入力せず、ルールとポリシーを優先して確認してください。どちらのモードでも失敗する場合も、すぐにサーバーが使えないと判断せず、システムの接続状態と対象サービスを確認します。
切り替えるたびに同じ宛先へリクエストし、異なるページの表示を比較に使わないでください。確認後は、継続して使う予定のモードに戻し、設定ファイル名とサーバー名を記録しておくと、次回も同じ条件で確認できます。
05 · Home:接続をオンにしてシステム認証を完了
Homeで、使用するサーバーが正しく選択されていること、Global Routingが先ほど選んだモードになっていることを確認します。次に、画面上部の接続スイッチをオンにしてください。初回接続時は、システムからVPN構成の追加を求められる場合があります。操作中のShadowrocketからの要求であることを確認し、システムの案内に従って許可と端末認証を完了してください。
このシステム認証は、アプリが必要なネットワーク処理構成を作成するためのものです。購入案内ではなく、サーバー認証の成功を示すものでもありません。先ほど要求をキャンセルした場合は、Shadowrocketに戻って接続を再度開始し、システムの案内に従ってください。スイッチがオンのままにならないからといって、サーバーを何度も追加しないでください。入力内容の確認とシステム認証は別の手順です。
認証が終わったらアプリに戻り、スイッチと接続状態が維持されているか確認します。システムにVPNの状態が表示されても、ネットワーク接続が確立したことを示すだけです。対象サイトへアクセスできることや、特定のRuleが適用されたことまでは確認できません。状態表示だけで完了とせず、次の手順で実際に確認してください。
端末でほかのVPN接続を使用している場合は、現在どの接続が有効かを確認してから比較テストを行います。特定のネットワークで接続が自動的に再開する場合は、SettingsでOn Demandが有効になっているか確認してください。初回のトラブル対処では、設定を記録しておくと、オンデマンド接続の動作を手動スイッチの不具合と取り違えずに済みます。管理対象端末の制限には、管理者の指示に従って対応してください。
06 · Connectivity Test:接続を確認
Homeに戻り、Connectivity Testを実行して追加済みサーバーのテスト結果を確認します。結果はテスト方法や現在のネットワークによって変わるため、まず使用中のテスト設定を確認してください。テスト結果に応答があれば、そのテスト項目を通過したことを示します。認証、対象サービスへのアクセス、すべての通信が確認済みという意味ではありません。
続いてブラウザーを開き、ご自身に利用権限があり、読み込み完了を明確に判断できるサービスへアクセスします。ページタイトルやキャッシュ済みの画像だけで判断せず、再読み込みして実際の内容が返ることを確認してください。ログインが必要な場合は、アカウントのログイン状態とネットワーク接続の問題を切り分けます。アクセス権に関する表示を接続エラーと決めつけないでください。
- テスト時のネットワーク、サーバー、Global Routing、現在のConfigを記録します。
- Proxyに切り替え、同じ宛先に再アクセスしてプロキシ経由の基本動作を確認します。
- Configに切り替えて再アクセスし、ルールの処理結果を確認します。
- 比較が必要な場合はDirectを使い、その後、予定しているモードに戻します。
ルールが適用されたか確認するには、アプリで利用できる接続履歴やログから直前に送信したリクエストを探し、適用されたルールと実行ポリシーを確認します。DOMAIN-SUFFIXに一致する場合と、最終的にFINALが適用される場合は異なる結果です。同じポリシーが使われていても、同じルールに一致したことにはなりません。
遅延テストの数値は、特定のテスト方法で測定した応答を示すもので、実際の通信速度と同じではありません。アプリ内テストは正常でもウェブページが表示されない場合は、DNS、対象サービスの状態、認証の問題も考えられます。一度に変更する条件を1つに絞り、同じ操作を繰り返すことで、原因がサーバー、ネットワーク、設定のどれかを判断しやすくなります。
07 · 失敗箇所を確認し、設定をむやみに消去しない
まず、失敗した箇所を「サブスクリプションから項目が読み込まれない」「スイッチがオンのままにならない」「テストには応答があるがウェブページが開かない」「Configだけで異常がある」のように簡潔に説明します。症状によって確認する箇所は異なります。現在の設定と必要な記録を保存してから対処してください。サブスクリプションの削除、サーバーの変更、DNSの変更、ルールの置き換えを同時に行うと、どの変更が影響したか判断できません。
サブスクリプションを保存したが、一覧が空
Subscribeの手順に戻り、URLが完全か、サブスクリプション用のURLか、現在のアクセス権が有効かを確認してください。ログインページやエラーの説明が返されている場合、アプリはサーバー一覧として解析できないことがあります。内容の形式やアクセス権を確認するには、ご自身のサービス提供元に問い合わせてください。先にGlobal Routingを変更する必要はありません。
サーバーは表示されるが、接続できない
まず正しい項目が選択されているかを確認し、Type、アドレス、ポート、認証情報、追加パラメータを順に照合します。サブスクリプションで管理している項目は、いったん通常の手順で更新してから再選択してください。手動で追加した項目は、元の情報と一つずつ比較します。別のネットワークで結果が変わる場合は、その違いを記録してください。それだけを根拠に認証情報を変更しないでください。
スイッチがオンにならない、またはすぐに切断される
システム認証が完了しているか、ほかのVPN接続が使用中ではないか、端末に管理上の制限がないかを確認します。スイッチが自動で再びオンになる場合は、On Demandの条件を確認してください。まずシステム接続の問題を解決してからウェブページへのアクセスをテストします。認証が完了していない問題は、ルールを繰り返し変更しても解決しません。
Proxyでは正常だが、Configで一部の宛先に問題がある
Configで意図したファイルが有効になっているか確認し、対象リクエストに実際に適用されたルールとFINALの設定先を確認します。ドメインルールとIP範囲ルールでは照合条件が異なり、DNSの結果がその後の処理に影響する場合もあります。コピーしたファイルでルールを1つだけ変更して再テストしてください。対象が1つだけだからといって、ルール全体を置き換えないでください。
テストには応答があるが、サービスを利用できない
対象サービスが正常に動作しているか、アカウントにアクセス権があるか、アプリの記録に認証・名前解決・接続エラーがないかを確認します。サービス提供元へ問い合わせる際は、発生時刻、ネットワークの種類、プロトコルの種類、実施済みの比較手順を伝えてください。サブスクリプションURL、パスワード、その他の認証情報は伏せます。テスト結果は手がかりの一つとして、実際のリクエストの動作とあわせて判断してください。
既存のサブスクリプションだけを更新する場合は、サブスクリプションの更新手順に進んでください。ルーティングの動作を比較する場合は、Global Routingの説明をご覧ください。機種変更、再インストール、購入履歴に関する問題はApp Storeからのインストールガイドで確認できます。サーバーパラメータの確認からやり直す必要はありません。