公式ガイド · 基本操作

Shadowrocket
追加と接続の手順

既存の情報を追加してからGlobal Routingを選び、接続後はスイッチの状態だけでなく実際のリクエストで確認します。

Add Server Global Routing Connectivity Test

今回の操作手順

  1. 追加Add Server
  2. モード選択Global Routing
  3. 接続と検証Home → Connectivity Test

iPhone / iPad向け。スクリーンショットは画面位置の確認用です。項目の表示はアプリの現在の画面を基準にしてください。

SERVERの登録内容を確認

Add Server:サーバーの追加またはサブスクリプションの読み込み

Shadowrocketを開いてHomeに進み、下部のSERVERグループにあるAdd Serverをタップします。追加画面で、手元の情報の種類を確認してください。サーバー一覧を取得するために提供元から渡されたURLは、通常サブスクリプションとして読み込みます。アドレス、ポート、パスワード、プロトコルのパラメータがそろった情報は、サーバー1台分として入力します。どちらか一方の方法を選び、サブスクリプションURLをサーバーのHost欄に入力しないでください。

サブスクリプションURLがある場合:先にSubscribeを選択

Add ServerでTypeをタップし、Subscribeを選んで、自分のサブスクリプションURL全体を該当するURL欄に貼り付けます。保存前に、URLの先頭と末尾、クエリパラメータがすべて含まれているか確認してください。コピー時に空白、改行、日本語の句読点が混入していないかにも注意します。サブスクリプションURLにはアクセス情報が含まれる場合があります。自分のデバイスでのみ使用し、URL全体が見えるスクリーンショットを公開したり、投稿に貼り付けたりしないでください。

保存後にHomeへ戻り、サブスクリプションからサーバー項目を取得できているか確認します。サブスクリプションの記録だけが表示され、選択できるサーバーがない場合は、更新が必要か、更新時にエラーが出ていないかを確認してください。接続スイッチをすぐオンにして何度も試すのは避けましょう。サブスクリプション名は識別用のラベルです。名前を変えてもURLの問題は解決しません。内容を取得できるかどうかは、URL、サービスの状態、現在のネットワークによって決まります。

サーバー情報がある場合:プロトコルに合わせて入力

サーバー1台分のパラメータを受け取っている場合は、Typeで情報に記載されたプロトコルを選び、対応する項目を入力します。公式スクリーンショットのHost / Port / Password / Methodは、項目の位置を確認するための参考です。Typeによって必要なパラメータは異なり、あるプロトコルの項目を別のプロトコルにそのまま流用することはできません。Hostには通常、ホスト名またはアドレスを入力し、独自にWebページのパスを追加しないでください。Port、Password、Methodも元の情報と1つずつ照合します。

QRコードがある場合はScan QR Codeを使えます。読み込み後も、プロトコルと各項目を確認してください。Import from Cloud JSONは別の読み込み方法で、Subscribeとは異なります。情報がこの方法に対応していると明記されている場合にのみ使用してください。保存後、SERVERに登録が表示されたら次の手順に進みます。サブスクリプション、サーバー、構成ファイルの違いは用語集をご覧ください。初回接続の段階で、すべてのプロトコルパラメータを理解している必要はありません。

ShadowrocketのAdd Server公式スクリーンショット。Type、Host、Port、Password、Methodと画面下部の読み込み項目を表示
Add Server:まずTypeを確認し、対応する項目を入力します。画像は項目の位置を確認するためのものです。Subscribeを選択した後の画面は、アプリ内の表示を基準にしてください。

次に進む前に:HomeのSERVERグループに選択可能なサーバーが表示されていることを確認してください。内容がまだ取得されていないサブスクリプション名だけでは不十分です。

リクエストの処理方法を決める

Global Routing:Config、Proxy、Direct

サーバーを追加したらHomeに戻り、Global Routingをタップして現在のモードを確認します。ここではリクエストの処理方法を決めます。サーバーの追加や、不足しているサーバーパラメータの補完はできません。初回設定では、何を確認するのかを先に決めてください。既存サーバーが動作するか、構成ファイルのルールに従って通信が振り分けられるかによって、確認方法も異なります。

Config:現在の構成ファイルに基づいて処理

Configは、現在有効な構成ファイルに基づいてリクエストの処理方法を決めます。Configを開き、使用中のファイルを確認してから内容を表示してください。公式スクリーンショットのGeneral / Rule / Hosts / URL Rewrite / HTTPS Decryptionは、構成を編集する際の各セクションです。基本操作の段階で、すべてを変更する必要はありません。まずRule内のルールと並び順を確認し、構成ファイルの入手元と用途を把握してください。初回接続のために、ほかの機能をむやみに有効にしないでください。

ルールは通常、上から順に照合されます。先に記載されたルールがリクエストの接続先をDIRECTまたはPROXYに決め、末尾のFINALはそれ以前のルールに一致しなかったリクエストを処理します。そのため、Configを選んでも、すべてのリクエストが選択したサーバーを経由するとは限りません。サーバーのサブスクリプションと構成ファイルは別の情報です。Subscribeを読み込んでサーバー一覧を取得しても、対応するルール設定に切り替わったことにはなりません。

ProxyとDirect:比較して確認

Proxyは選択したサーバー経由でリクエストを処理します。原因を切り分ける際、一時的な比較対象として使うことで、サーバーの問題か構成ルールの問題かを判断しやすくなります。ただし、誤ったアドレス、パスワード、プロトコル設定は修正されません。Directは直接接続します。このモードでWebページが開いても、サーバーが正常に動作すると確認できたことにはなりません。モードを切り替えたらHomeに戻り、Global Routingの選択が意図した状態か確認してください。

構成ルールの意味がまだ分からない場合は、元のファイルを残して比較し、条件を一度に1つだけ変更してください。構成の入れ替え、ルールの編集、サーバーの切り替えを同時に行うと、失敗の原因を特定しにくくなります。ルールキーワードの意味は用語集、モード選択や通信の振り分けに関するよくある疑問はよくある質問をご覧ください。モードを確認したら、システムの許可と接続に進みます。

ShadowrocketのConfig公式スクリーンショット。General、Rule、Hosts、URL Rewrite、HTTPS Decryption、Add Ruleを表示
Config:構成ファイルの編集セクションを表示しています。Global RoutingのモードはHomeで選択し、これらのセクション内では切り替えません。

次に進む前に:現在のモードがConfig、Proxy、Directのどれか、また今回確認する対象がサーバーかルールかを説明できる状態にしてください。

選択内容を確認してシステムの許可を行う

Home:接続スイッチをオンにする

Homeに戻り、SERVERグループで今回使うサーバーを選びます。サブスクリプションのグループ名を見るだけでなく、実際に選択されている項目を確認してください。続けてGlobal Routingも確認します。この2つはセットで確認が必要です。サーバーはProxy接続に使う情報を決め、Global Routingはリクエストの処理方法を決めます。リストに複数の項目がある場合は、並び順から推測せず、選択状態を基準にしてください。

Home上部のスイッチをタップして接続を開始します。公式スクリーンショットにあるNot Connectedは、撮影時点で未接続だったことを示しており、スイッチの位置を確認するための表示です。この状態を維持する必要があるという意味ではありません。初回接続時に、ShadowrocketによるVPN構成の追加を許可する画面がシステムに表示される場合があります。内容を確認し、操作元が現在のアプリであることを確かめてから、システムの手順に沿って許可してください。デバイス認証を求められた場合はシステム画面で操作し、デバイスのパスコードをサーバーの項目に入力しないでください。

許可が完了したらShadowrocketに戻り、上部のスイッチと接続状態が維持されているか確認します。オンにした直後にオフへ戻る場合は、ルールを変更し続けるのではなく、許可、構成、接続のエラーを確認してください。システムの確認画面で許可を取り消した場合は、再接続時に画面が再び表示されるか確認します。システム設定に別のVPN構成がある場合は、今回テストする構成が実際に有効かも確認してください。別の接続状態を結果と取り違えないようにします。

接続スイッチがオンでも、接続処理が進んだことを示すだけで、あらゆる宛先へのリクエストをサーバーが処理できる証明にはなりません。接続後は次の手順に進み、Connectivity Testと実際のアクセスで結果を確認してください。この段階ではネットワーク、サーバー、モードを同じ状態に保ち、比較できる基準を残すため、設定を続けて何度も切り替えないでください。

ShadowrocketのHome公式スクリーンショット。上部にNot Connectedのスイッチ、下部にGlobal Routing、Connectivity Test、SERVER、Add Serverを表示
Home:接続前にSERVERの選択とGlobal Routingを順に確認し、上部のスイッチを操作します。接続後はConnectivity Testを実行してください。

次に進む前に:システムの許可が完了し、Homeに戻った後も接続状態がすぐに解除されないことを確認してからテストします。

スイッチの状態と実際の結果を分けて確認

Connectivity Test:接続を検証

HomeでConnectivity Testをタップし、テストが完了するまで待って結果を確認します。このテストは現在の条件における接続状況を判断する手がかりであり、すべてのWebサイトやプロトコルのリクエストが正常に動作する保証ではありません。サーバー一覧の遅延テストと、実際の宛先へのアクセスも同じではありません。テストに応答があっても認証パラメータが正しいとは限らず、タイムアウトした場合もテスト方法、ネットワーク、サーバーの状態をあわせて確認する必要があります。

次に、実際に使うアプリまたはページを開き、新しいリクエストを1回実行します。キャッシュ済みの内容を見るだけではなく、同じページを再読み込みするなど、対象が明確で繰り返し確認できる操作を選んでください。ページが最後まで読み込まれるか、文字だけ表示されて画像や後続のリクエストが失敗していないかを確認します。「どの宛先で、何を行い、どうなったか」を記録すると、「使える」「使えない」だけの記録より、あとで原因を調べやすくなります。

Configを使用している場合は、アプリ内で確認できるリクエスト記録も使い、対象リクエストに適用されたルールとポリシーを確認します。DIRECTに一致したリクエストは直接接続され、PROXYに一致したリクエストは該当するプロキシポリシーで処理されます。一部のリクエストが直接接続されるからといって、構成が機能していないとは限りません。Dataの通信量の変化は、データが送受信されたかを確認する手がかりになりますが、通信量が増えただけでは、指定した宛先に意図したルールが適用されたとは証明できません。

さらに切り分ける場合は、サーバーと宛先を同じ状態に保ち、Global RoutingをConfigからProxyに切り替えて再テストします。Proxyでは正常でConfigでは異常が起きる場合は、構成ファイルとルールを優先して確認してください。どちらも失敗する場合は、サーバー情報とネットワーク環境を先に確認します。比較後は必要な元のモードに戻し、一時的なトラブル対処の設定を普段使いの設定として残さないようにしてください。

最初の検証が成功したら、実際によく使う別のネットワーク環境に切り替えて、接続と宛先へのアクセスをもう一度確認できます。切り替え前後の結果は分けて記録し、一度成功したからといって、すべての環境で同じ結果になると考えないでください。「選択したサーバー」「現在のモード」「テスト結果」「実際のアクセス」の4項目が対応していれば、このページの基本的な検証は完了です。通信の振り分けを詳しく確認する場合は、ルールによる振り分けに関するよくある質問をご覧ください。

完了の目安:スイッチがオンになっているだけでなく、対象へのアクセスを再現でき、現在のリクエストがDIRECTまたはPROXYになる理由を説明できること。

一度に確認する条件は1つ

Settings:よくある失敗の確認手順

手順の途中で失敗した場合は、まずどの段階で起きたかを特定します。サブスクリプションから項目を取得できない、項目はあるが接続できない、スイッチはオンでもテストに失敗する、特定の宛先だけ異常がある、といった状況によって確認場所は異なります。現在の構成とエラー情報を残し、何度も削除や再インストールをしたり、複数の設定を同時に変更したりするのではなく、原因を絞り込みましょう。以下では、情報の不足から順に接続と設定を確認します。

  1. サブスクリプションを読み込めない:該当するサブスクリプションに戻り、URL全体が正しく入力されているか、アクセス情報が有効か、現在のネットワークで内容を取得できるか確認します。URLにアクセスできてもサーバーが表示されない場合は、返された内容がアプリで認識できるサブスクリプション形式かも確認してください。エラーメッセージのページを、読み込み成功と誤認しないでください。サービスが有効かどうかは、利用中の提供元に確認してください。
  2. サーバー1台分の接続に失敗する:対象の編集画面を開き、Type、Host、Portと、そのプロトコルで必要な認証、暗号化、通信パラメータを1つずつ照合します。名前が似ているプロトコルでも、互換性があるとは限りません。試しにMethodやほかの項目を適当に変更しないでください。まず受け取った情報と入力内容が一致することを確認し、同じ登録情報で再テストします。
  3. テスト結果と実際のアクセスが異なる:SettingsでTest Methodを確認し、今回使ったテスト方法を記録します。方法によって結果の意味が異なるため、同じ条件で比較してください。次にHomeに戻り、実際に選択されているサーバーとGlobal Routingを確認します。テストした項目と、実際に使用している項目が異なっていないか確認してください。
  4. 接続がすぐ切れる、または何度も開始される:システムの許可が完了しているかを確認し、SettingsでOn Demandに設定済みの接続条件があるか確認します。手動接続のトラブル対処では、それらの条件が現在の状態に影響するかを先に確認してください。条件に応じた再接続を、上部のスイッチが反応しない状態と取り違えないようにします。また、デバイスのシステム時刻が正確か確認し、必要に応じてシステムの自動設定で調整してください。
  5. 特定のネットワークまたは宛先だけ失敗する:サーバーと構成を変えずに、自分が利用できる別のネットワークと比較し、同じ宛先をテストします。ネットワークを変えたときだけ問題が起きる場合は、ネットワーク間の違いを優先して記録してください。特定のサーバーだけで起きる場合は、その登録情報を確認します。必要に応じてDiagnosticsで手がかりを集め、問題に関係のないTCP、UDPなどの設定をすぐに変更するのは避けてください。

診断情報をまとめる際は、問題の説明に必要な項目名、エラーの内容、操作の順序だけを残してください。共有する前に、サブスクリプションURL全体、パスワードなどの認証情報を隠します。さらに相談する場合は、失敗した段階、現在のモード、ネットワーク環境、テスト方法、1項目ずつ比較して行った確認内容を伝えると、状況の分からないスクリーンショット1枚より原因を把握しやすくなります。

1項目を修正したら、「接続 → Connectivity Test → 実際のアクセス」の順に再確認します。結果に変化があった場合に、その項目が関係しているかを引き続き調べてください。原因を特定できない場合は、よくある質問から症状を探します。Settingsやプロトコルの項目が分からない場合は、先に用語集をご覧ください。App Storeでの購入、アプリの表示、購入済みアプリの復元に関する問題は入手ガイドで確認し、接続パラメータの調整は続けないでください。

ShadowrocketのSettings公式スクリーンショット。Language、Test Method、Today Widget、On Demand、Diagnostics、Proxy、TCP、UDPを表示
Settings:トラブル対処では、まずTest MethodとOn Demandを確認します。Diagnosticsはさらに手がかりを集めるための機能で、すべての設定を順に変更する必要はありません。

終了前に確認:一時的に切り替えたGlobal Routingを元に戻し、検証済みのサーバーと構成を維持して、実際の宛先に意図どおりアクセスできることを確認してください。