Shadowrocketの使い方
サブスクリプションの追加 → Global Routing → 接続許可 → 動作確認。まず検証可能な接続を確立し、その後ルールやオンデマンド接続を調整します。
- iPhone / iPad
- 用意済みのサービス情報
- 5ステップの操作手順
手順に沿って操作してください。完了済みの手順はスキップできます。以下ではHomeやConfigなどの英語表記を目印にします。画面のレイアウトによって項目の配置が異なる場合があります。
サーバーの追加とサブスクリプションの読み込み
まず手元の情報の種類を確認し、適切な追加方法を選びます。単一サーバーの情報には通常、プロトコル、アドレス、ポート、認証パラメータが含まれます。単一ノードのURIは、これらの情報を読み込み可能なテキストにまとめたものです。サーバーサブスクリプションURLからは複数の項目を取得できます。リモート設定ファイルにはDNS、ルール、ポリシー設定が含まれる場合もあります。URLがhttps://で始まるというだけで、種類を判断しないでください。用途が不明な場合は、元の案内を確認し、同じURLを複数の方法で繰り返し読み込まないようにします。
手動入力:Home → Add Server
ShadowrocketのHomeを開き、右上の追加ボタンからAdd Serverに進みます。Typeで手元の情報と同じプロトコル(Shadowsocks、VMess、VLESS、Trojanなど)を選び、各欄にサーバーアドレス、ポート、認証情報を入力します。プロトコルごとに入力項目は異なります。あるプロトコルのパラメータを別のプロトコルにそのまま入力しないでください。アドレス欄には通常、ホスト名またはアドレスのみを入力し、Webページのパスは追加しません。ポートも元の情報と一致させます。
TLS、通信方式、Host、SNIが指定されている場合は、名前から推測せず、元の値をそれぞれ入力します。表示用のメモを接続パラメータとして入力しないでください。保存したらHomeに戻り、追加した項目がリストに表示されていることを確認します。項目を見分けやすい名前にしておくと便利です。後で変更する場合も、元のサービス情報を参照してください。項目名が表示されただけでは、パラメータが正しいとは限りません。実際の確認は後のテストで行います。
サーバーサブスクリプション:Add Server → Subscribe
サーバーサブスクリプションURLがある場合は、Add ServerのTypeでSubscribeを選び、URL欄に完全なURLを入力します。見分けやすいメモを設定して保存してください。URLのパス、クエリパラメータ、大文字・小文字はそのまま保持します。コピー時に末尾へ空白、改行、チャットアプリの句読点などが混入していないか確認してください。Homeに戻り、サブスクリプションの読み込みを待って、該当するグループとサーバー項目が表示されるか確認します。リストが空の場合は、すぐに接続スイッチをオンにせず、まず読み込み結果を確認してください。
サブスクリプションを保存できたことと、その内容を読み込めたことは別です。読み込みに失敗した場合は、現在のネットワークからURLにアクセスできるか、URLが有効か、応答がアプリに対応したサーバーサブスクリプション形式かを確認してください。URLにアクセス情報が含まれる場合があるため、パスワードと同様に管理し、完全なURLを公開スクリーンショット、コメント、問い合わせ文に載せないでください。当サイトでは、手元にある情報の使い方を説明します。個人用URLの取得や有効性確認は行いません。
ConfigのSubscribeとその他の読み込み方法
ConfigのSubscribeはリモート設定ファイル用で、Homeのサーバーサブスクリプショングループとは異なります。手元のURLが完全な設定ファイルだと確認できた場合に限り、Configの該当項目を使い、案内に従って保存して内容を確認してください。リモートファイルを読み込んだ後は、実際に選択されている設定も確認します。設定ファイルによってDNSやルールが変更されることがあるため、初めて使う前に提供元と処理内容を確認してください。
QRコードがある場合はScan QR Codeで読み込めます。単一ノードのURIがある場合は、アプリのクリップボード読み込み案内を利用できます。カメラやクリップボードの許可は、その操作に必要な場合にのみ行ってください。読み込み後は、プロトコル、サーバーアドレス、メモを確認します。手動入力、QRコード、クリップボードの方法を変えて、同じ情報を重複して読み込まないでください。Homeに選択可能なサーバーが1つ以上あることを確認したら、Global Routingを選択します。
Global Routingを選択
サーバー項目はプロキシ接続に使うパラメータを決め、Global Routingはリクエストの処理方法を決めます。Homeに戻ってGlobal Routingを開き、Config、Proxy、Directのいずれかを選択します。初めて使うときは、モード、DNS、ルールを同時に変更しないでください。まずテストの目的を明確にしてからモードを選ぶと、失敗した際に確認すべき箇所を特定しやすくなります。
| モード | 処理方法 | この操作での用途 |
|---|---|---|
| Config(設定) | 現在の設定にあるルールとポリシーに従ってリクエストを処理します。 | 内容を理解し、確認済みのルール設定がある場合に使用します。 |
| Proxy(プロキシ) | アプリが処理する通信をProxyモードで処理します。 | ルール判定の影響を抑えて、選択したサーバー経由の接続を短時間確認します。 |
| Direct(直接接続) | 選択したプロキシサーバーを経由せず、直接接続します。 | 基本ネットワークの確認や、必要に応じた直接接続に使用します。 |
日常的にルールで通信を振り分ける場合はConfigを選び、Configで使用中の設定ファイルを確認します。ルールは通常、上から順に照合され、一致した時点で該当ポリシーが適用されます。それまで一致しなかったリクエストはFINALで処理されます。設定内のPROXY、DIRECT、REJECTはそれぞれ異なる処理を示します。カスタムポリシーグループを使う場合は、グループ内で実際に選択されている項目も確認してください。Global RoutingをConfigに変更するだけで、あらゆる用途に適したルールが自動で設定されるわけではありません。
追加したばかりのサーバーを確認する場合は、一時的にProxyを選び、Homeに戻ってそのサーバーを選択します。ProxyモードでテストできたらConfigに戻し、ルールに沿った接続経路を確認してください。Directは基本ネットワークとの比較に適しています。DirectでWebページが開いても、選択したプロキシサーバーを使っていないため、サーバーが利用可能である証明にはなりません。テスト中は現在のモードを把握し、直接アクセスの結果をプロキシ接続の成功と取り違えないようにしてください。
ルールに慣れていない場合は、設定を変更する前に機能紹介のルールと設定の説明を確認してください。この段階ではOn Demandなどの自動接続条件を追加する必要はありません。手動操作にしておくと、接続の開始と終了を判断しやすくなります。モードを選び、サーバーを確認したら、システムの接続許可に進みます。
接続スイッチをオンにしてシステムの許可を完了
Homeに戻り、使用するサーバー項目をタップします。選択マークが目的の項目に付いていることを確認してから、画面上部の接続スイッチをオンにしてください。設定にポリシーグループが含まれる場合は、実際の接続先がグループ内の選択にも左右されるため、あわせて確認します。サーバー名はメモにすぎません。名前が似ているだけで、追加したばかりの項目が選択されていると判断しないでください。
初めて接続するとき、システムからVPN構成の追加許可を求められる場合があります。これはShadowrocketがデバイス上で対象のネットワーク通信を処理するために必要なシステム権限で、このデバイスのVPN構成を許可するためのものです。案内を読み、アプリ名を確認して許可した後、デバイスのパスコードまたは生体認証で認証します。許可を取り消すと、Homeに戻った際にスイッチがオフに戻ることがあります。その場合は接続を再度開始し、システムの案内に従ってください。サーバーを繰り返し追加する必要はありません。
許可したらアプリに戻り、接続スイッチがオンのままか、接続エラーが表示されていないか確認します。システムのVPN表示は接続状態を判断する手がかりになりますが、表示位置はデバイスやシステムによって異なります。ステータスバーにアイコンがあるかどうかだけで判断しないでください。スイッチをオンにしてすぐオフになる場合は、表示されたメッセージを記録し、システムの許可、現在の設定、サーバーパラメータを確認します。
テスト中は、ネットワークを制御する別のVPN構成がデバイスで有効になっていないか、デバイス管理による制限がないかも確認してください。設定を何度も切り替えて結果が混在しないよう、実際に有効な構成を確認します。アプリをバックグラウンドに移すことと、接続を手動で切ることは別の操作です。テスト後に切断する場合はHomeに戻って接続をオフにし、必要に応じてSettingsのOn Demand条件も確認してください。自動再接続をスイッチの不具合と誤認しないようにします。
iPadではiPhoneより画面レイアウトが広い場合がありますが、操作の流れは同じです。Homeで項目を選び、接続スイッチを操作します。レイアウトが異なるからといって、すべての情報を読み込み直す必要はありません。接続が維持されたら次の手順に進み、実際のアクセスとポリシーを確認します。「接続済み」と表示されるだけでは、ネットワークが利用できるとは限りません。
アクセスとルールの動作を確認
確認は3段階で行います。サーバーに到達できるか、接続先を実際に開けるか、リクエストが想定したポリシーで処理されているかを順に確認してください。HomeのConnectivity Testで、選択したサーバーから結果が返るかを確認します。テスト結果が示すのは特定の条件下での到達状況であり、すべてのWebサイトやプロトコルの利用可否を保証するものではありません。表示される時間も実際のダウンロード速度ではなく、サービス品質全体を示すものでもありません。
次にブラウザを開き、普段利用していてアクセスが許可されているWebページを表示します。再読み込みして、本文と必要なリソースが読み込まれるか確認してください。テスト中は同じ接続先を使い、必要に応じて別の接続先も比較します。サーバー、Webページ、ネットワークを同時に変更しないでください。ブラウザにキャッシュが表示されることもあるため、以前開いたページを見るだけでなく、新しいアクセスを行います。
Proxyの場合は、選択したサーバー経由でアクセスできるかを確認します。Configの場合は、適用されたルールと最終的なポリシーも確認してください。Dataで今回の接続ログを開き、リクエスト時刻と接続先ドメインを手がかりに該当項目を探し、表示されているルールやポリシー情報を確認します。ログの種類によって表示項目は異なるため、実際の記録をもとに判断してください。総通信量が増えただけでは、対象のリクエストがPROXYを経由したとは限りません。
Configでは、リクエストがDIRECTに一致しても必ずしも誤りではありません。想定した処理かどうかが重要です。Webページは複数のドメインを使う場合があります。本文は表示されるのに画像が読み込まれない場合は、ページのメインドメインだけでなく、失敗したリソースのリクエストを確認します。ルールでREJECTが指定されている場合、接続先が開かないのは設定どおりの可能性があります。「どの経路を想定していたか」と「ログに何が記録されているか」を照らし合わせてから、設定変更が必要か判断してください。
比較するには、同じ接続先でProxyとConfigの結果を記録します。Proxyでは利用できるのにConfigで失敗する場合は、ルール、ポリシーグループ、DNS設定を優先して確認してください。両方のモードで失敗する場合は、まずサーバーと基本ネットワークを確認します。比較後は、普段使う想定のモードに戻してください。問題確認のために一時変更した設定を、そのまま使い続けないようにします。
よくある失敗の確認手順
問題が起きたら、まず状況を記録します。サブスクリプションの読み込み失敗、スイッチがすぐにオフになる、Connectivity Testで結果が返らない、特定のWebページだけ開けない、のどれに当たるか確認してください。状況によって確認する場所は異なります。一度に変更する条件は1つだけにし、同じ接続先を再テストして結果を記録します。設定ファイル全体を一度に置き換えると状況が変わることはありますが、原因を特定する手がかりが失われやすくなります。
まず基本ネットワークとサービス情報を確認
まず接続をオフにし、デバイス自体がネットワークに接続できるか確認します。ログインが必要なWi-Fiでは、先にログインを完了してください。基本ネットワークが確立していない状態では、サブスクリプションを繰り返し更新したり、サーバー情報を再入力したりしても解決しないことがほとんどです。必要に応じて、利用可能な別のネットワークでも再テストし、現在のネットワークに限った問題か確認します。
基本ネットワークに問題がなければ、サーバーアドレス、ポート、プロトコル、認証情報、TLS関連のパラメータを確認します。以前は読み込めていたサブスクリプションが使えなくなった場合は、アプリの更新操作で既存のサブスクリプションを再読み込みし、更新が完了したか、項目に変化があったか確認してください。更新に失敗しても、照合に必要な元の情報は残しておき、グループ全体をすぐに削除しないでください。URLの有効性、アカウントの状態、サーバーの稼働状況は、ご自身が利用するサービスの窓口で確認してください。
次にモード、DNS、ルールを確認
Global RoutingがDirectのままになっていないか、Directで処理する想定のリクエストが意図せずプロキシ経由になっていないか確認します。Configを使う場合は、現在選択されているファイル、ポリシーグループの選択、FINALを確認してください。Proxyは正常でConfigに問題がある場合は、アプリを再インストールするのではなく、対象リクエストに適用されたルールを優先して確認します。ルールの順序も重要です。先に一致した範囲の広いルールによって、後続の詳細なルールが適用されない場合があります。
DNSの問題では、サーバーテストに結果が返る一方で、接続先ドメインを解決できない、またはページの一部だけが読み込まれないことがあります。現在の設定でカスタムDNSが指定されているか、そのアドレスに現在のネットワークから到達できるか確認してください。内容を把握していないDNSオプションを複数同時に有効にしたり、アドレスの形式だけを見て適切かどうか判断したりしないでください。変更前の設定を記録し、改善がなければ速やかに元に戻します。
最後に特定の接続先と自動接続を確認
特定の接続先だけ失敗する場合は、接続タイムアウト、名前解決の失敗、サービスからのエラー、アクセス権限の案内を区別します。接続先サービスからエラー応答を受け取れた場合と、接続自体が確立しない場合では、問題の段階が異なります。アカウントへのログインや接続先サービスの状態も、すべてプロキシの問題とは限りません。Dataの同じ時刻のログを確認し、失敗したリクエストを個別に調べます。1つのページの結果をすべての接続に当てはめないでください。
手動で切断した後に自動接続する場合は、SettingsのOn Demandと関連する接続条件を確認します。原因を調べる間は自動接続を一時的にオフにし、手動接続が正常に動作するか確認してから元に戻します。システムの許可やApp Storeでの入手について不明点がある場合は、App Storeからの入手とアカウントのガイドをご覧ください。購入、デバイスの互換性確認、購入済みアプリの復元について説明しています。ネットワークの問題を調べる際に、これらの手順を繰り返す必要はありません。
確認が終わったら、Global Routingの選択手順に戻って想定しているモードに戻し、動作確認の手順に従って再テストします。「接続済みなのにインターネットにアクセスできない」原因をさらに切り分けるには、サーバー、モード、DNS、ルールの確認メモをご覧ください。問い合わせ時は必要なエラーメッセージと試した手順だけを伝え、サブスクリプションURL、パスワード、認証情報などの個人情報は隠してください。