公式マニュアル · 基本操作

Shadowrocket
使い方ガイド

既存の設定から始め、サーバーの追加、Global Routing、接続確認の順に進めます。まず接続を確立し、その後にルールや自動接続の条件を調整します。

01 · サーバーを追加、またはサブスクリプションを読み込む

手元にある情報を確認し、適切な読み込み方法を選びます。

Shadowrocketを開いてHomeに移動し、Add Serverを探します。操作を始める前に、手元の情報がサブスクリプションURL、個別サーバーの共有情報、設定ファイルのどれに当たるか確認してください。サブスクリプションは複数のサーバー項目を管理するもの、個別サーバーのパラメータは接続を1つ作成するもの、設定ファイルにはルールなどが含まれる場合があります。それぞれ用途が異なります。設定ファイル全体をHost欄に入力したり、説明ページのURLをサブスクリプションURLとして入力したりしないでください。

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

Add ServerでTypeをタップし、Subscribeを選択します。自分のサブスクリプションURL全体を該当欄に貼り付け、内容を確認して保存します。URLのパス、パラメータ、大文字・小文字は元のまま保持してください。コピー時に空白、改行、全角記号が混入していないかも確認します。サブスクリプションURLにはアクセス情報が含まれる場合があります。公開コメント、スクリーンショット、公開ログに載せないでください。

保存後にHomeへ戻り、サブスクリプションの読み込みが完了するまで待ちます。該当するグループにサーバー項目が表示されるか確認してください。グループだけ表示され、選択できる項目がない場合は、まず更新結果を確認します。「保存できた」ことは「サーバーを取得できた」ことを意味しません。今後更新する際は、項目に加えたローカル変更にも注意してください。リモートの内容を再取得すると、項目やパラメータが変わる場合があります。

サーバー情報がある場合:Typeに応じて項目を入力

個別サーバーのパラメータをお持ちの場合は、Add ServerのTypeで元の情報に合ったプロトコルを選び、Host、Port、必要な認証情報を入力します。公式スクリーンショットにはPasswordとMethodを含むフォームの一例が掲載されています。必要な項目はTypeによって異なり、すべてのプロトコルで同じ情報を入力するわけではありません。Hostには通常、サーバーのドメイン名またはアドレスを入力し、Webページのパスは追加しません。Portは元の数値を入力し、PasswordやMethodなども資料と照合してください。

選択したTypeでTLS、通信方式などの追加パラメータが必要な場合も、手元の情報に従って入力してください。名前だけを頼りに推測しないでください。WireGuardなど項目の構成が異なるプロトコルに、スクリーンショットのPasswordやMethodをそのまま当てはめないでください。QRコードで情報をお持ちの場合はScan QR Codeを利用できます。Import from Cloud JSONは該当形式のデータがある場合に使うもので、任意のURLを貼り付けるための汎用入口ではありません。

保存後にHomeへ戻り、SERVERまたは該当するサブスクリプショングループから新しい項目を探して選択します。この段階では、同じ項目を大量に続けて読み込んだり、すべてのパラメータを一度に変更したりしないでください。出所が明確で、各項目を照合できる設定を1つ残しておくと、次の接続確認がしやすくなります。読み込み結果が想定と異なる場合は、ルーティングモードを設定する前に、情報の種類や入力項目の問題を解決してください。

ShadowrocketのAdd Server画面。Type、Host、Port、Password、Methodと読み込み方法を表示
Add Server:自分のTypeに合わせて項目を確認してください。スクリーンショットのフォームが、すべてのプロトコルで同じパラメータを使うことを示すものではありません。

02 · Global Routingのモードを選択する

接続先はサーバーで決まり、リクエストの処理方法はモードとルールで決まります。

サーバーを追加したらHomeに戻り、Global Routingをタップします。よく使うモードはConfig、Proxy、Directの3つです。まず今回のテスト目的を明確にしてからモードを選びます。「サーバーを選択した」ことと「すべてのリクエストがそのサーバーを経由する」ことは同じではありません。モードによってリクエストの処理方法が変わるため、後で問題を切り分ける際にも重要な設定になります。

Config:現在の設定ファイルのルールに従って処理する

普段からルールで通信を振り分ける場合はConfigを選び、Config画面で使用中の設定ファイルを確認します。設定ファイルの一覧と編集画面は別の階層です。まず使用中のファイルを確認し、その後に内容を開いてください。別のファイルを編集しても、現在の接続には反映されない場合があります。公式スクリーンショットは設定ファイルの編集画面で、General、Rule、Hosts、URL Rewrite、HTTPS Decryptionの各セクションとAdd Ruleが表示されています。

使い始めの段階では、Ruleに記載されたルールを確認しましょう。ルールは通常、上から順に照合され、該当したルールのポリシーが適用されます。FINALは、それ以前のルールに該当しない場合に適用されます。PROXY、DIRECT、REJECTは、それぞれプロキシ経由、直接接続、リクエスト拒否を表します。設定ファイルにはほかにも多くの項目がありますが、設定項目が多く見えても、すべてを変更する必要はありません。特に初回接続のテストでは、目的に関係のない機能を有効にしないでください。

# 個別の学習用サンプル。内容を理解してから自分の設定に反映してください
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
FINAL,DIRECT

上記のサンプルでは、example.comとそのサブドメインをPROXY経由にし、指定したローカルネットワークをDIRECTにし、それ以外のリクエストにはFINAL,DIRECTを適用します。これは照合順序の説明用であり、現在使っている設定全体を置き換えるためのものではありません。サンプルのドメインは接続先サーバーではなく、PROXYを指定してもサーバー項目は自動作成されません。変更する前に使用中のファイルをバックアップし、既存のルールを上書きしないようにしてください。

ProxyとDirect:違いの確認と比較テストに使用

Proxyは、ルーティングでプロキシを主に使用するモードです。一時的に通常の振り分けルールがテスト結果に与える影響を除外するのに役立ちますが、システムの全通信が必ずプロキシを経由すると判断することはできません。Directはリクエストを直接接続として処理するため、選択したプロキシサーバーが正常だと証明する用途には使えません。ProxyではアクセスできてConfigではできない場合は、まず現在の設定と適用されたルールを確認します。どちらも失敗する場合は、サーバーのパラメータとネットワーク環境を確認してください。

モードを選んだら、使用中の設定ファイル、サーバー、Global Routingのモードを記録します。後のテストで一度に変更する条件を1つに絞ると、原因を特定しやすくなります。ルールの種類、優先順位、設定ファイルの各セクションについて詳しくはルールと設定のリファレンスをご覧ください。このページでは変更を最小限に抑え、接続の手順に進みます。

ShadowrocketのConfig設定ファイル編集画面。General、Rule、Hosts、URL Rewrite、HTTPS Decryption、Add Ruleを表示
Config:現在使用中のファイルを確認してからRuleを確認します。この画像は設定編集画面であり、Global Routingのモード選択画面ではありません。

03 · Homeで接続スイッチをオンにする

選択した項目を確認してから、システムのVPN構成を許可します。

最初の2つの手順が終わったらHomeに戻り、選択中のサーバー項目とGlobal Routingをもう一度確認します。サブスクリプションに複数の項目がある場合、読み込みが完了しても、意図したサーバーが選択されているとは限りません。項目をタップし、選択状態を確認してから、画面上部の接続スイッチを操作します。サーバーの変更、ルールの編集、スイッチの切り替えを同時に行うと、どの操作で状態が変わったのか分かりにくくなります。

初回接続時に表示されるシステムの確認

画面上部にNot Connectedと表示されているときは、接続スイッチをオンにします。初回はシステムからVPN構成の追加を求められる場合があります。Shadowrocket内で自分が開始した操作であることを確認し、表示内容を読んで許可したうえで、システムの案内に従ってデバイス認証を完了してください。この許可はアプリに必要なネットワークトンネルを確立するためのもので、サブスクリプションの取得成功やサーバーの検証完了を意味するものではありません。以前に許可を取り消した場合は、接続時にシステムの確認が再度表示されるか注意してください。

スイッチがすぐオフに戻る場合は、未対応のシステムダイアログがないか確認し、現在の項目が有効かどうかも確認します。デバイスのシステム設定にあるVPN関連の項目で、構成が登録されているか、デバイス管理による制限がないかを確認することもできます。不明なほかの構成は安易に削除しないでください。管理対象デバイスでは、デバイス管理の要件に従って対応します。スイッチを繰り返しオンにするだけでは、権限の問題は解決できません。

接続状態とアクセス可否を分けて確認する

許可が完了したら、接続状態が変わるまで待ちます。接続中にスイッチを何度もタップしないでください。システムにVPN状態が表示され、アプリで接続がオンになっていても、確認できるのはトンネルの状態だけで、すべてのアクセス先に接続できることを示すわけではありません。認証エラー、接続先のDNS解決失敗、意図しないルール選択などは、スイッチがオンのままでも発生する可能性があります。次の手順でConnectivity Testを実行し、実際のアクセスも確認してください。

初回確認ではネットワークを安定させ、Wi-Fiとモバイル通信を意図的に切り替えないでください。VPN接続を確立するほかのデバイス機能を使っている場合は、システムが現在どの接続を使用しているか確認し、接続の置き換わりをサーバー障害と誤認しないようにします。テスト後に接続を切る場合はHomeに戻り、画面上部のスイッチをオフにして、未接続状態に戻ったことを確認します。

接続がオンの状態を保てる場合は、次の手順に進んで実際のリクエストを確認します。オンの状態を保てない場合は、問題の切り分けに進み、許可と基本設定から確認してください。接続が確立していない段階では、ルールの分流が想定どおりか判断できないため、Ruleを大量に変更しても最初の対処にはなりません。

ShadowrocketのHome画面。上部にNot Connected、その下にGlobal Routing、Connectivity Test、SERVER、Add Serverを表示
Home:まずサーバーとGlobal Routingを選び、上部のスイッチをオンにします。接続後、Connectivity Testで動作を確認してください。

04 · 接続とルールの動作を確認する

テスト結果、実際のアクセス、ルールの適用状況を個別に確認します。

接続がオンの状態を保てたら、HomeでConnectivity Testをタップし、テストが終わるまで待ちます。テストが完了したか、利用可能な結果が返ったかを確認してから、実際に使いたいWebサイトやアプリを開きます。1回のテストで確認できるのは、使用した接続先と方法に限られます。すべてのドメイン、プロトコル、アプリの正常動作を保証するものではありません。また、テスト対象が1つ失敗しただけで、接続全体が使えないと判断することもできません。

実際にアクセスしてから、条件を1つずつ比較する

アクセスできるはずだと分かっている対象を1つ選び、最初の画面が表示されるかだけでなく、読み込みが完了するかを確認します。一部の内容が表示されない場合は、リソースごとに異なるルールが適用されているか、接続先自体に問題がある可能性があります。明確な対象をもう1つ選んで再確認しても構いませんが、短時間にサーバー、モード、テスト方法を同時に変更しないでください。「現在のネットワーク、サーバー、モード、接続先、症状」を記録すると、後の比較に役立ちます。

Configで失敗する場合は、一時的にProxyへ切り替え、同じサーバーと接続先で再テストします。Proxyでは正常でConfigでは失敗する場合は、現在の設定が正しく選択されているか、接続先のドメインにDIRECT、REJECT、または意図しないルールが適用されていないかを優先して確認します。Proxyでも失敗する場合は、ドメインルールを増やすのではなく、サーバーへの到達性、認証、通信パラメータを確認してください。

Directの動作を確認する場合は、あくまで比較条件であることを明確にしてください。Directで正常でも、プロキシサーバーが正常だとは限りません。モードを切り替えても、アプリが既存の接続を再利用する場合があります。必要に応じて接続先へのリクエストを再実行して確認してください。比較テスト後はGlobal Routingを普段使うモードに戻し、一時的なProxy設定を残して、通常の振り分け要件を忘れないようにします。

レイテンシの結果は、継続的な通信速度を示すものではありません

Connectivity Testの結果は、現在のテスト条件での接続性を判断する参考情報であり、継続的な通信速度を保証するものではありません。テスト結果が正常でも実際の読み込みが遅い場合は、ローカルネットワークの品質、接続先の応答、通信設定、サーバー側の状態を分けて確認します。数値が小さいだけであらゆる利用場面に適していると判断したり、短時間のテスト1回で実際の用途を確認したことにしたりしないでください。

ルールの判断にログを使う場合は、問題の切り分け中に関連するリクエストとエラーだけを確認し、接続先、適用されたルール、使用されたポリシーを重点的に調べます。情報を共有する前に、サブスクリプションURL、認証情報、その他の個人データを隠してください。照合順序の詳細はルールのリファレンスをご覧ください。基本的な確認では「接続を維持できる」「接続先にアクセスできる」「モードが想定どおり」の3点を確認できれば十分です。

05 · 症状に応じて段階的にトラブルシューティング

まず問題の範囲を絞り、一度に1項目だけ変更して、同じ接続先で再テストします。

トラブルシューティングを始める前に、失敗がどの段階で起きているかを確認します。項目を読み込めない、スイッチがオンを保てない、テストと実際のアクセスが両方失敗する、一部の接続先だけ失敗する、ネットワーク切り替え後に切断される、といった症状に分けて考えます。むやみに削除して作り直すより、症状を切り分けたほうが手掛かりを残しやすくなります。以下の順に基本から確認し、正常と確認できた項目は毎回変更する必要はありません。

読み込みに失敗する:元の情報を確認する

Subscribeを保存しても項目が表示されない場合は、URLが完全か、URLがまだ有効か、現在のネットワークからサブスクリプションにアクセスできるか確認します。サブスクリプションの取得とサーバーへの接続は別の処理です。以前の項目で接続できても、更新URLにアクセスできるとは限りません。手動追加で失敗する場合は、Type、Host、Port、認証情報、通信パラメータを元の情報と一項目ずつ照合します。記憶を頼りに入力し直したり、Methodを手当たり次第に切り替えたりしないでください。

接続に失敗する:許可、ネットワーク、パラメータを確認する

スイッチがすぐオフになる場合は、システムのVPN許可や構成の制限を確認します。スイッチはオンのままでもすべてのテストが失敗する場合は、いったん接続を切り、デバイス自体のネットワークが使えるか確認してから、再接続してテストします。可能であれば、自分が利用できる別のネットワークでも比較します。特定のネットワークだけで失敗する場合は、その違いを記録し、正しい可能性のあるパラメータをすべて変更しないでください。サーバーの認証情報と通信条件は、引き続き手元の情報と照合してください。

一部の接続先だけ失敗する:モードとルールを確認する

一部の接続先だけで問題が起きる場合は、まずGlobal Routingを確認し、ConfigとProxyの結果を比較します。現在のファイルで関連するDOMAIN、DOMAIN-SUFFIX、IP-CIDR、FINALの順序とポリシーを確認し、特に上位のルールが先に適用されていないか注意します。DNSが関係する場合は、現在の設定とエラーの症状を記録してから関連設定を確認します。DNSの変更は、あらゆる接続失敗に有効な万能策ではありません。

Settings:テスト条件と自動接続の動作を確認する

Settingsを開き、Test Methodを確認して、現在の問題を調べる目的に合った方法が使われているか確認します。方法によって結果が異なる場合があります。方法を切り替えた後は、テスト条件が変わったことを記録し、異なる条件で得た結果を同じ測定値として比較しないでください。Languageは画面の言語を確認するために使えます。Today Widgetは基本的な接続確認に必須ではなく、初回テストで設定する必要はありません。

On Demandは、条件に応じて接続を自動的に開始するかを設定するもので、サーバーパラメータやRuleの代わりにはなりません。ネットワーク切り替え後の自動接続が想定どおりでない場合は、設定済みのOn Demand条件を確認します。まず手動接続で基本的な通信が正常か確認してから、自動接続の条件を調整してください。1回接続できなかっただけで、すべての自動動作を同時に有効にすると、何が再接続を開始したのか判断できなくなります。

Diagnosticsは、問題の切り分けに使う情報の確認に役立ちます。共有する前に、サーバーアドレス、アクセス先、認証情報が含まれていないか確認してください。SettingsのProxy、TCP、UDPは、必要に応じて詳しく調べるための項目であり、すべてを変更する必要があるわけではありません。特定のプロトコルに関する設定は、自分の構成に照らして確認します。スクリーンショットに項目名が表示されているだけで、初期値を変更しないでください。

接続が復旧してから設定を整理する

変更するたびに、以前と同じ接続先と方法で再テストします。改善しなければ元の設定に戻してから、次の項目を確認します。有効な調整が見つかったら理由を記録し、テスト用に作成した重複項目を整理して、Global RoutingとOn Demandが想定どおりの状態に戻っていることを確認します。設定ファイルの詳細なセクション、ルールの優先順位、ポリシーの記述方法はルールと設定のリファレンスをご覧ください。手順を最初から確認する場合は追加・読み込みに戻り、このページの順番に沿って確認してください。

ShadowrocketのSettings画面。Language、Test Method、Today Widget、On Demand、Diagnostics、Proxy、TCP、UDPを表示
Settings:症状に応じてTest Method、On Demand、Diagnosticsを確認し、一度に複数の設定を変更しないでください。