OFFICIAL MANUAL / QUICK SETUP

Shadowrocketの使い方

既存情報の追加 → Global Routing → 接続と確認

このガイドではiPhoneとiPadを使い、まず確認可能な接続を確立してからルールや設定を確認します。初めて操作する場合は順番に読み進めてください。サーバー項目を追加済みの場合は、モード選択へ進めます。

STEP 01 / INPUT

Add Server / Subscribe:既存情報を追加

まず手持ちの情報の種類を確認し、追加方法を選びます。サーバーリストを更新するための完全なURLは、通常Subscribeから読み込みます。プロトコル、アドレス、ポート、認証パラメータが明記された情報は、個別のサーバーとして入力します。サブスクリプションURLと設定ファイルのURLは用途が異なるため、見た目だけで同じ入口を使わないでください。種類が分からない場合は、情報に添付された説明を確認してください。

Add Serverから手動で入力

ShadowrocketのHomeを開き、SERVER欄のAdd Serverをタップします。画面が開いたら、まずTypeを選び、Host、Port、対応する認証情報を入力します。Typeによって表示される項目が変わります。たとえば画像のPasswordとMethodは選択中のTypeに応じた項目であり、すべてのプロトコルで同じ情報が必要という意味ではありません。手持ちの情報に合わせて入力し、欄を埋めるためだけに不要な情報を追加しないでください。

Hostにはサーバーのドメイン名またはアドレス、Portにはサーバー側で指定されたポートを入力します。Webアドレスのパス、サブスクリプションURL全体、余分な空白をHostに入れないよう注意してください。パスワード、暗号化方式などのプロトコルパラメータは、手持ちの情報と一致させます。推測で補わないでください。必須項目が不足している場合は、入力元に確認してから入力してください。

入力後、画面上の保存操作を行ってHomeに戻ります。SERVERに新しい項目が表示され、名前が手元の記録と一致することを確認して選択します。対応するQRコードがある場合は、Add ServerのScan QR Codeから読み込み、保存前に解析結果を確認できます。Import from Cloud JSONは対応形式の情報を読み込むための機能で、あらゆるURLに使える汎用の入口ではありません。

サブスクリプションURLがある場合は、HomeからAdd Serverを開き、TypeでSubscribeを選択します。画面の項目にURL全体を入力し、見分けやすい名前を設定してください。コピーする際はクエリパラメータも含めます。特に疑問符以降を省略しないでください。URLに認証情報が含まれる場合があります。貼り付け後の確認は端末上で行い、URL全体を公開スクリーンショットやチャットに載せないでください。

保存してHomeに戻り、読み込みが終わるまで待ちます。必要に応じて該当するサブスクリプションの更新操作を行います。リストにサーバー項目が作成されたことを確認してください。サブスクリプション名が表示されるだけでは不十分です。項目が作成されない場合は、URLの応答がクライアントで解析可能なサブスクリプション内容か確認します。ログイン画面、案内ページ、通常のWebページが返されていないかも確認してください。保存できたことは入力が記録されたことを示すだけで、読み込みや解析の成功を意味しません。

この手順の完了時に、少なくとも1つ、選択できるサーバー項目が表示されていることを確認します。元の情報は照合用に保管し、同じサブスクリプションを何度も追加して問題の切り分けに代えないでください。次にGlobal Routingを選択します。リクエストの処理方法が明確になってから、接続テストの結果を判断できます。

ShadowrocketのAdd Server画面。Type、Host、Port、Password、Methodと画面下部の読み込みメニューを表示
公式スクリーンショット:Add Server。表示される項目はTypeによって異なります。

STEP 02 / ROUTING

Global Routing:3つのモードを確認

Homeに戻り、Global Routingをタップして選択中のモードを確認します。3つのモードはConfig / Proxy / Directです。リクエストを処理する方針を決めるもので、サーバーのプロトコルを別の名前で呼んでいるわけではありません。モードを切り替えてもサーバー情報は補完されず、無効になったサブスクリプションが修復されることもありません。

モード 処理方法 今回の操作で確認すること
Config 現在の設定ファイルとルールに基づいて処理方法を決定します。 有効なConfigを確認してから、個別のリクエストを確認します。
Proxy 選択中のサーバーを経由してリクエストを処理します。 パラメータを確認したうえで、サーバー経由の通信を比較する際に使います。
Direct 選択中のプロキシサーバーを経由せず、直接接続します。 ローカルネットワークとの比較には使えますが、サーバーの利用可否を確認する方法にはなりません。

Configを使う前に現在のファイルを確認

ルールに基づいて通信を振り分ける場合は、Configを開き、使用中の設定ファイルと内容を確認します。公式スクリーンショットには、設定ファイルの編集画面にGeneral、Rule、Hosts、URL Rewrite、HTTPS Decryptionのセクションが表示され、RuleにはAdd Ruleがあります。初回接続時にすべてのセクションを変更する必要はありません。接続パラメータの問題と複雑な設定の問題が混在しないよう、確認済みの内容はそのままにしてください。

サブスクリプションは主にサーバーリストの取得や更新に使い、Configはルールや関連設定をまとめます。両者を同じ内容として扱うことはできません。サブスクリプションを読み込めても、現在の設定が意図したものか確認が必要です。提供元や用途が分からないConfigは、項目数が多いという理由だけで有効にしないでください。明確な必要がない限り、HTTPS Decryptionも変更しないでください。

以下の例はルールの読み方を示すもので、現在の設定をそのまま置き換えるためのものではありません。1行目はexample.comとそのサブドメインをPROXY経由にし、2行目は指定されたローカルネットワークをDIRECTにします。最後の行は、それまでのルールに一致しなかったリクエストを処理します。ルールの順序と最終的な処理方法は、実際の結果に影響します。

DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY

初回確認では、選択したモードを記録しておきます。既存ルールに従って通信する場合はConfigを選び、設定ファイルを確認してください。サーバーへの接続だけを切り分ける場合は、Proxyに一時的に切り替えて比較できます。テスト後は通常使用するモードに戻し、一時的な設定を残さないようにします。ルールの詳しい説明はシステムガイドをご覧ください。

ShadowrocketのConfig設定ファイル編集画面。General、Rule、Hosts、URL Rewrite、HTTPS Decryption、Add Ruleを表示
公式スクリーンショット:Configの編集画面。Global RoutingのモードはHomeから選択します。

STEP 03 / CONNECT

Home:サーバーを選択して接続

追加とモード選択が終わったらHomeに戻ります。SERVER欄で今回使用するサーバーを選び、選択マークが正しい項目に付いていることを確認します。サブスクリプションのグループと、その中のサーバーは別の項目です。グループ名が表示されていても、接続先のサーバーが選択済みとは限りません。似た名前の項目が複数ある場合は、先に名前やメモで区別してください。

Home上部の接続スイッチをタップします。初回接続時に、システムからVPN構成の追加を求められることがあります。これはクライアントがシステムのネットワーク拡張機能を使って対象の通信を処理するためのものです。今回の操作による確認画面であることを確かめ、システムの案内に従って許可またはデバイス認証を行います。システムの許可は構成の作成を認めるものであり、サーバー認証、DNS、ルールが正しいことを証明するものではありません。

許可後にShadowrocketへ戻り、上部にNot Connectedと表示されたままか、スイッチがオンの状態を保っているか確認します。未接続のままなら、許可の手続きが完了しているか、サーバーが選択されているかを確認してから、もう一度接続します。状態を確認せずにスイッチを続けて操作すると、接続開始と停止を区別しにくくなります。

スイッチの状態と実際の通信可否を区別する

スイッチがオンなら、クライアントの接続処理が動作中であることを示します。ただし、サーバー、名前解決、ルール処理が原因で目的のWebページを開けない場合もあります。システム上のVPN状態だけでは、特定のリクエストが選択したサーバーを経由したことは確認できません。次に実際のリクエストを送信し、モード、テスト結果、ログと照らし合わせます。

接続直後に切断される場合や、すぐにNot Connectedへ戻る場合は、選択中の項目、モード、表示されたエラーメッセージを記録し、問題の原因を確認してください。iPadではレイアウトの違いにより表示位置が異なることがあります。スクリーンショット上の位置だけを頼りにせず、Home、SERVER、Global Routingを確認してください。

この手順が終わったら、いったんネットワーク環境を変えないでください。Wi‑Fiの切り替え、DNSの変更、サーバーの変更を同時に行わないようにします。条件を固定すると、次の確認結果を判断しやすくなります。複数の条件を一度に変更すると、ページが表示できても、どの変更が有効だったのか分かりません。

ShadowrocketのHome画面。上部にNot Connected、Global Routing、Connectivity Test、下部にSERVERとAdd Serverを表示
公式スクリーンショット:Home。画面のNot Connectedは未接続状態を示します。

STEP 04 / VERIFY

Connectivity Test:実際のリクエストで確認

テストを実行してから、新しいWebページを開く

HomeでConnectivity Testを実行し、現在の項目のテスト結果を確認します。テスト方法によって確認できる内容は異なります。テストが成功しても、通常はそのテスト条件で接続できたことを示すだけで、すべてのWebサイトやアプリにアクセスできるとは限りません。失敗した場合も使用した方法を踏まえて判断し、1つの数値や一度のタイムアウトだけで設定をすべて削除しないでください。

続いてブラウザを開き、普段利用していて現在アクセスできるはずのWebページを表示します。キャッシュ済みのページを確認するだけではなく、新しいリクエストを実行してください。ページを再読み込みするか、同じサイト内の別のページを開く方法があります。まったく開かないのか、画像だけ表示されないのか、読み込みが遅いのかを記録します。症状によって確認すべき点が異なります。

Shadowrocketに戻り、Dataでリクエスト中の通信量の変化を確認します。カウンターの増加は、クライアントがデータを処理していることを判断する助けになりますが、目的のリクエストにどのルールが適用されたかを単独で証明するものではありません。関連する接続ログやリクエストログが表示される場合は、対象ドメインと処理結果を照らし合わせてください。他のアプリのバックグラウンド通信を、先ほどのWebページの証拠と混同しないようにします。

結果をモードと照らし合わせる

Configでは、対象のリクエストが意図したとおりPROXYまたはDIRECTに一致しているか確認します。Proxyでは、選択中のサーバー経由で実際のリクエストを完了できるか確認します。Directでページが開ける場合に分かるのは、現在の条件で直接接続できることです。

Proxyでアクセスでき、Configではできない場合は、サーバー情報をすべて再入力する前に、設定ファイルとルールを確認してください。どちらのモードでも失敗する場合は、サーバーパラメータ、DNS、ローカルネットワークを確認します。比較結果は原因を絞る手がかりであり、以後のすべてのリクエストを保証するものではありません。

確認後は、通常使用するモードに戻して実際のリクエストをもう一度行います。その後Wi‑Fiからモバイルネットワークへ切り替える場合は、新しいネットワークでも確認してください。一方のネットワークで成功しても、もう一方の確認にはなりません。

STEP 05 / CHECK

Settings / Diagnostics:順を追って問題を確認

問題が発生したら、現在の設定を保ったまま症状を記録し、入力情報に近いところから確認します。一度に変更するのは1項目だけにし、変更後は同じテストとWebリクエストを繰り返してください。改善しなければ元の値に戻してから次の項目を調べます。こうすることで、トラブル対処中に新たな問題が起きるのを防げます。

サブスクリプションを読み込めない:URLと応答内容を確認

登録済みサブスクリプションの編集情報を開き、URL全体が入力されているか、前後に空白がないか、説明文を誤ってコピーしていないか確認します。通常のネットワークでサブスクリプションURLにアクセスできることも確認し、タイムアウト、認証失敗、内容の解析失敗のどれに該当するかを確認してください。それぞれネットワーク経路、認証情報、内容形式に関係するため、単に「もう一度更新する」だけでは解決できません。

応答内容がサーバーリストでない場合は、情報の提供元にURLの用途と有効性を確認してください。同じ項目を繰り返し追加して再試行したり、サブスクリプションURL全体を公開の質問ページに送ったりしないでください。修正後は該当するサブスクリプションだけを更新し、Homeに戻ってサーバー項目が実際に作成されたことを確認します。

接続できない:サーバーとモードを確認

手動で追加した項目では、まずType、Host、Portを確認し、次に認証情報とプロトコル固有のパラメータを確認します。サブスクリプションから追加された項目は、更新が必要か確認してください。意味が分からないまま複数の項目を一括変更しないでください。続いてHomeで選択中のサーバーと、今回のテストで使うGlobal Routingのモードを確認します。

接続状態が安定しているのに特定のWebページだけ開けない場合は、前のセクションで確認したProxyとConfigの比較結果から原因を絞ります。特定のドメインだけで問題が起きる場合は、そのドメインの名前解決と一致するルールを優先して確認します。多くのリクエストが失敗する場合は、サーバーへの接続や現在のネットワークを確認してください。変更前に元の値を記録し、比較できる状態を保ちます。

DNS、Test Method、On Demandを個別に確認

DNSが原因と思われる場合は、ドメインへのアクセスで問題が起きているかを確認し、現在の設定ファイルのDNS設定と利用可能な診断結果を調べます。任意のDNSアドレスを入力すれば常に直るとは限りません。名前解決、サーバー接続、ルール処理は関係していますが、それぞれ別の処理です。エラー内容に応じて個別に確認してください。詳しい設定方法はShadowrocketシステムガイドをご覧ください。

Settingsを開き、Test MethodでConnectivity Testに使われる方法を確認してから、結果を判断します。SettingsではOn Demandも確認できます。条件に応じて接続を開始する機能です。手動で切断した後に再接続する場合や、ネットワーク切り替え後に状態が変わる場合は、設定済みの条件を確認してください。初回の手動確認ではOn Demandの現在の状態を把握し、複数の条件を同時に追加しないでください。

TCPとUDPでは動作が異なる場合もあります。Webページが開けても、UDPを使用するアプリの通信が正常とは限りません。サーバーとプロトコルの設定が目的の通信に対応しているかを確認し、関連するログと照らし合わせて判断してください。Webページが開けたという理由だけで、他の通信経路の問題を除外しないでください。

診断情報は必要最小限にする

さらに原因を調べる場合は、SettingsのDiagnosticsを使い、エラーメッセージ、発生時のネットワーク種別、選択中のモード、再現手順を記録します。Wi‑Fiとモバイルネットワークを比較するときは、ネットワークだけを切り替え、同じ対象に同じリクエストを送信してください。結果に違いがあれば、ネットワーク条件を示す手がかりとして扱い、すぐにすべての設定をリセットしないでください。

診断情報を共有する前に、パスワード、サブスクリプションURLのアクセス用パラメータ、不要な個人のリクエスト記録を削除してください。相談時には「どの手順で、どのモードを使い、どのエラーが出たか、何を比較したか」を伝えれば十分です。接続情報全体を公開する必要はありません。解決後は通常の設定に戻し、重複したテスト項目を削除して、通常のリクエストが成功することをもう一度確認します。

ShadowrocketのSettings画面。Language、Test Method、Today Widget、On Demand、Diagnostics、Proxy、TCP、UDPを表示
公式スクリーンショット:Settings。問題に応じて該当する項目を確認してください。

初期設定が終わったら

確認済みのサーバー、現在のモード、設定ファイルを記録し、以後の変更時に比較できる基準にします。サブスクリプションを更新した後は、現在選択中の項目が残っていることを確認してください。ルールやOn Demandを変更した場合は、実際のリクエストを再確認します。アプリのアップデートはApp Storeから行い、接続情報とルールはそれぞれ管理してください。