公式ガイド · 初めて使う方へ

Shadowrocket の使い方

既存サブスクリプションの追加 → Global Routing → 接続許可 → 動作確認

5つの手順で基本的な接続を行い、確認結果に応じて設定を調整します。まずは初期設定を保ち、その手順で必要な項目だけを変更してください。一度に複数の項目を変えると原因を特定しにくくなります。

手順 01 · 接続情報を追加

Add Serverでサーバー追加・サブスクリプション読み込み

サブスクリプションリンクと個別サーバーの設定情報は、異なる形式の情報です。どちらをお持ちか確認し、該当する方法を選んでください。両方の手順を行う必要はありません。

既存のサブスクリプションリンクを使う

Shadowrocketを開いてHomeに進み、Add Serverをタップします。画面によっては上部の追加ボタンからも開けます。Add ServerでTypeをタップし、Subscribeを選んで、既存のサブスクリプションリンク全体を該当するURL欄に貼り付けます。リンクはサービス提供元から入手してください。サービス提供元のログインページ、注文ページ、説明ページのURLをサブスクリプションリンクとして入力しないでください。

貼り付けたら、リンクの先頭と末尾を確認してください。コピー時に空白、改行、引用符、省略記号が入っていないか特に注意します。サブスクリプションURLの疑問符以降の内容は認証に使われることがあるため、見た目だけで削除しないでください。識別しやすいメモを入力して保存し、アプリがサブスクリプションを読み込むまで待ちます。その後Homeに戻り、一覧にサーバーが表示されたことを確認して、今回テストするサーバーを選択します。

初回の読み込み後、同じリンクを続けて何度も追加しないでください。一覧が変わらない場合は、まず読み込み失敗のメッセージが表示されていないか確認します。サーバーが表示されていれば、サーバーを選択して次の手順へ進みます。サブスクリプションの更新はサーバー情報を再取得する操作であり、プロキシ接続の確立や設定ファイル内のルールの有効化を意味するものではありません。

単一サーバーの情報を使う

アドレス、ポート、認証情報、プロトコル設定を受け取った場合は、Add ServerのTypeで情報に記載されたプロトコルを選び、項目を順に入力します。Hostにはサーバーのドメイン名またはIPアドレス、Portには接続ポートを入力します。選択したプロトコルでPassword、Methodなどの認証項目が必要な場合は、受け取った情報どおりに入力してください。プロトコルによって項目は異なるため、別のプロトコルの設定値を流用しないでください。

スクリーンショットにあるPasswordとMethodは、その画面で選択されたタイプの入力項目の例です。すべてのタイプで必要になるわけではありません。情報にTLS、SNI、転送方式、パスが含まれている場合は、それらも確認してください。アドレスとポートだけを見て推測しないでください。設定情報が不足している場合は、アプリの項目を何度も変更するより、サービス提供元に必要な情報を確認するほうが問題を特定しやすくなります。

QRコードで情報を受け取った場合は、Scan QR Codeで読み取り、システムの案内に従って必要な権限を許可します。Import from Cloud JSONは対応するJSON情報を読み込む機能で、一般的なサブスクリプションリンクの代替として使うものではありません。どの方法で読み込む場合も、保存前に認識されたタイプ、アドレス、ポートを確認してください。完了したらHomeに戻り、SERVER一覧に対象の項目があることを確認して、モード選択へ進みます。

ShadowrocketのAdd Server画面。Type、Host、Port、Password、Methodと画面下部の読み込み項目を表示
App Store公式スクリーンショット:Add Server。項目はTypeによって異なります。ご自身のサーバー情報に従って入力してください。

手順 02 · リクエストの処理方法を選択

Global Routingの3つのモード

モードを選ぶ前に、「どのサーバーを使うか」と「どのリクエストをプロキシ経由にするか」を区別してください。前者はサーバー選択、後者はモードと設定によって決まります。

HomeでGlobal Routingをタップし、現在選択中のモードを確認します。ここではConfig/Proxy/Directの3つとして理解してください。リクエストの処理方法を制御するもので、異なるサーバーのグループではありません。モードを切り替えたらHomeに戻り、表示中の選択肢をもう一度確認してください。変更したつもりでも、実際には元の設定のままという事態を防げます。

Config:現在のルールに従って処理

ルールに基づいて通信を振り分ける場合はConfigを使います。アプリは現在有効な設定ファイルのルールに従って、各リクエストを対応するポリシーに振り分けます。そのため、Configを選ぶ前にConfigページを開き、使用する設定ファイルが有効になっていることを確認してください。サーバー一覧があるだけでは、自分に合ったルールファイルが設定済みとは限りません。サブスクリプションと設定ファイルは役割が異なり、サブスクリプションを読み込んでも現在のルールが置き換わるとは限りません。

公式スクリーンショットには、General、Rule、Hosts、URL Rewrite、HTTPS Decryptionなどの区分がある設定ファイル編集画面が表示されています。初回接続時に各区分を変更する必要はなく、通常の接続のために追加の復号機能を有効にする必要もありません。Ruleを開いたりAdd Ruleを使ったりする場合は、ルールの条件と順序を確認してください。範囲の広いルールが後続の詳細なルールより先に適用されることがあります。

たとえばDOMAIN-SUFFIX,example.com,PROXYは、ドメインのサフィックスで一致させて指定したポリシーに振り分ける例です。構文の説明であり、そのままコピーして使う完全な設定ではありません。リクエストがDIRECTになっていても、必ずしも接続失敗ではなく、現在のルールどおりの結果である可能性があります。ルールの種類、ポリシーの参照、適用順序についてはプロキシモードとルールの説明をご覧ください。

ProxyとDirect:比較に使うモード

Proxyは、選択中のサーバーを使ったプロキシ接続を確認するために利用でき、今回のテストでルールによる振り分けの影響を減らせます。ただし、実際のアクセス確認の代わりにはならず、デバイス上のすべての種類の通信が処理されることを意味するものでもありません。Directは直接接続との比較に使い、ローカルネットワークが本来利用できるか判断するのに役立ちます。プロキシが動作している証拠として扱わないでください。

設定が正しいか判断できない場合は、まずProxyを選んで基本的な接続をテストし、サーバーが利用できることを確認してからConfigに戻します。切り替えるたびに選択内容を記録し、同じ接続先で結果を比較してください。テストするモードを決めたら、Homeに戻って接続スイッチをオンにします。

ShadowrocketのConfig設定ファイル編集画面。General、Rule、Hosts、URL Rewrite、HTTPS Decryption、Add Ruleを表示
App Store公式スクリーンショット:Config編集画面。設定の構造を説明するための例であり、初回接続時に各項目を変更する必要はありません。

手順 03 · 接続を確立

Homeの接続スイッチと初回許可

情報の読み込みと接続の確立は別の段階です。まずサーバーを選択し、Global Routingを確認してから、画面上部のスイッチをオンにします。

Homeに戻り、SERVERグループから今回使うサーバーを選択します。複数の項目がある場合は、サブスクリプションのグループ名だけで判断せず、実際にサーバーが選択されていることを確認してください。続いてGlobal Routingが前の手順で決めたモードになっていることを確認し、画面上部にNot Connectedと表示されている接続スイッチをタップします。

初めて接続するときは、システムからVPN構成の追加許可を求められます。操作元が使用中のShadowrocketであることを確認し、システムの案内に従って許可した後、デバイスのパスコードなどによる認証を完了します。これはシステムの手続きであり、アプリにサーバーを追加したり、サブスクリプションを再貼り付けしたりする操作ではありません。完了したらShadowrocketに戻り、接続スイッチを何度も続けて操作せず、接続状態が維持されるか確認します。

初回の許可をキャンセルした場合は、アプリに戻ってスイッチを再度オンにし、表示された案内に従って許可を完了します。学校や職場で管理されているデバイスでは、システムのポリシーによってVPN構成が制限されることがあります。その場合は、この種の接続が許可されているか確認してください。内容が分からないデバイス管理項目を何度も削除しないでください。他のVPN接続が動作中の場合は、結果の判断が混乱しないよう、テスト前にその接続を切断してください。

スイッチがオンのままであれば、アプリの接続処理が開始または確立されたことを示しますが、対象のWebサイトに必ずアクセスできるとは限りません。サーバーの停止、認証情報の誤り、DNSの名前解決の問題、設定ポリシーの不一致などにより、「スイッチはオンだがページを開けない」ことがあります。許可が完了したら、実際にアクセスして動作を確認してください。

初回テストでは現在のWi-Fiまたはモバイルネットワークを維持し、ネットワーク、サーバー、モードを同時に変更しないでください。別のサーバーをテストする場合は、先に元の結果を記録してから切り替え、同じ確認手順を繰り返します。どの変更が結果に影響したかを把握しやすくなります。

ShadowrocketのHome画面。上部にNot Connectedスイッチ、Global Routing、Connectivity Test、下部にSERVERとAdd Serverを表示
App Store公式スクリーンショット:Home。接続スイッチ、Global Routing、Connectivity Testが同じ画面にあります。

手順 04 · 実際のリクエストを確認

Connectivity Testとアクセス確認

接続テスト、実際のページ表示、ルールの結果をあわせて確認してください。単一の数値や画面上部の状態だけで判断しないでください。

テスト後、同じ接続先にアクセスする

HomeでConnectivity Testを実行し、現在のサーバーが選択したテストを完了できるか確認します。テスト結果が示すのは、そのテスト方式での応答です。Webページの読み込み速度とは異なり、すべてのWebサイトやアプリにアクセスできる保証にもなりません。タイムアウトした場合は、まずテスト方式と現在のネットワークを記録し、すべてのサーバーが使えないとすぐに判断しないでください。

次にブラウザーを開き、利用可能と分かっているHTTPSページにアクセスして、見出しやキャッシュ表示だけでなく、ページ全体が読み込まれるか確認します。ページを再読み込みするか、新しいブラウザータブを使って、古いキャッシュの影響を減らしてください。特定のアプリだけに問題がある場合は、すべての設定をリセットするのではなく、まずブラウザーで同様の接続先にアクセスして比較します。

Configでルールの処理結果を確認

Configを使っている場合は、Dataを開き、利用できるリクエスト記録から対象ドメイン、適用されたルール、ポリシーを確認します。バージョンによって表示場所が多少異なることがあるため、現在の画面を確認してください。直接接続が想定されるリクエストがDIRECTになるのは正常です。プロキシ経由の想定なのに直接接続のポリシーが適用される場合は、現在の設定ファイルが有効か、先行するルールに上書きされていないかを確認します。

Proxyでは同じ接続先にアクセスできるのにConfigで失敗する場合は、利用可能なサーバーを再読み込みするのではなく、設定とルールを優先して確認します。反対に、どちらのモードでも失敗する場合は、サーバー情報、ローカルネットワーク、サーバー側の状態を確認してください。比較ではサーバーとネットワークを同じに保ち、モードだけを一度に一つ切り替えると、結果を参考にしやすくなります。

一連の確認が終わったら、普段使うモードをConfigに戻し、もう一度対象にアクセスして結果を確認します。「ネットワークの種類、サーバーのメモ、モード、症状」を記録すれば十分です。問題の記録を公開する際、サブスクリプションリンク全体、認証情報、それらを含むスクリーンショットを共有しないでください。想定どおりにならない場合は、次の症状別の手順を確認します。

手順 05 · 有効な設定を保ってトラブル対処

よくある失敗の確認手順

読み込み、許可、サーバー接続、ルール処理のどの段階で失敗したかを判断し、該当する箇所を確認します。

サブスクリプションを保存してもサーバーが表示されない

該当するサブスクリプション項目に戻り、TypeがSubscribeになっていること、リンク全体が入力されていること、現在のネットワークからサブスクリプションサービスにアクセスできることを確認します。通常のWebページのリンクはサブスクリプションの読み込みには使えません。認証情報が不足している場合も、正しく読み込めないことがあります。リンク全体を公開の掲示板などに貼り付けず、有効性の確認が必要な場合はサービス提供元にリンクの状態と応答形式を問い合わせてください。

以前は更新できていたのに急に失敗する場合は、同じネットワークで一度再試行し、次に利用可能な別のネットワークで比較します。元の項目を残しておくと比較しやすくなります。原因が分からないまま何度も削除と再作成を繰り返すことはおすすめしません。読み込みに成功した後もサーバーを選び、接続をオンにする必要があります。更新操作だけでは後続の手順は完了しません。

スイッチがオンにならない、またはオンにした後に戻る

まずシステムの許可が完了しているか確認し、デバイスに接続制限がないか、別のVPNが動作中でないかを確認します。システムのメッセージが表示された場合は、スイッチを何度も操作するより、メッセージの文面を記録してください。初回の許可が完了していない段階でDNSやルールを変更しないでください。通常、そうした変更では許可の問題は解決しません。

スイッチはオンだがテストがタイムアウトする

サーバーの種類、アドレス、ポート、認証項目を順に確認し、TLSや転送の設定も確認します。同じネットワークで別の登録済みサーバーをテストすると、特定サーバーの問題かローカルネットワークの問題かを切り分けるのに役立ちます。ネットワークを変えると結果が異なる場合は、ネットワーク環境を詳しく確認してください。同じサーバーが複数のネットワークで失敗する場合は、サービス提供元にサーバーの状態を問い合わせます。

Settingsでは関連項目だけを確認する

Settingsを開き、Test Methodで現在のConnectivity Testのテスト方式を確認します。特定のテストがタイムアウトしてもWebページを実際に開ける場合、テスト結果だけで接続不可と判断しないでください。Diagnosticsでは診断情報をさらに確認できます。記録を共有する前に、サーバーアドレス、認証情報、サブスクリプションの内容を隠してください。

手動接続がまだ安定していない場合は、複雑なOn Demand条件を設定しないでください。すでに有効にしている場合は、トラブル対応中に一時的にオフにして自動起動の影響を減らし、接続が安定した後に戻して個別に確認できます。スクリーンショットのProxy、TCP、UDPは設定の区分であり、トラブル対応時にすべてを変更する必要があるという意味ではありません。むやみに変更すると、確認すべき条件が増えてしまいます。

接続できるが一部のリクエストが失敗する

同じ接続先でProxyとConfigの結果を比較します。Configだけで問題がある場合は、適用されたルールとポリシーを確認します。両方のモードで問題がある場合は、DNS、プロトコル、接続先のサービスを確認してください。一つの接続先で失敗したからといって、すべてのサーバーを削除したりアプリを再インストールしたりしないでください。DNS、通信速度、バッテリー消費、アップデート後の問題についてはトラブル対処ガイドを引き続きご覧ください。基本手順を確認し直す場合は、このガイドの追加・読み込み手順に戻れます。

ここまでの確認可能な初回設定の流れは、情報の保存、サーバーの選択、モードの確認、許可の完了、テストと実際のアクセスで構成されます。今後サブスクリプションやサーバーを変更する場合も、同じ順序で確認してください。結果から特定の設定に原因があると分かった場合に、その項目を詳しく変更します。

ShadowrocketのSettings画面。Language、Test Method、Today Widget、On Demand、Diagnostics、Proxy、TCP、UDPを表示
App Store公式スクリーンショット:Settings。基本的なトラブル対応では、Test Method、On Demand、Diagnosticsを優先して確認します。
Shadowrocket公式ダウンロード