公式マニュアル · はじめての使い方

Shadowrocketの使い方:
サブスクリプションの追加と接続確認

追加、ルーティング、接続、確認、トラブルシューティングの順に進めます。まず再現可能な接続を一度確立し、その後でルールや自動接続の設定を調整します。

サーバー情報がすでに登録されている場合は、手順02から始められます。接続中と表示されるのにアクセスできない場合は、手順04と05を確認してください。

手順 01 · 接続情報の種類を確認

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

手元の情報がサブスクリプションURLか、サーバーの接続パラメーター一式かを確認します。サブスクリプションは、サーバー情報をまとめて読み込み、後から更新するために使います。手動追加では、1台分の情報を項目ごとに入力します。どちらか一方を選べばよく、同じ情報を重複して登録する必要はありません。サブスクリプションURLには認証情報が含まれることがあるため、ご自身のデバイスや信頼できる入力先でのみ使用してください。トラブルシューティングの際も、URL全体を公開しないでください。

手動で追加:Typeに応じた項目を入力

ShadowrocketのHomeを開き、SERVERのAdd Serverを選びます。画面上の追加ボタンからも開けます。Typeをタップし、手元の情報に合うプロトコルを選択します。次にHostとPortを入力し、そのTypeで必要なPassword、Methodなどの認証・通信項目を設定します。公式スクリーンショットの入力項目は、その時点で選択されているTypeに対応したものです。すべてのプロトコルで同じパラメーターを使うわけではありません。

Hostには通常、サーバーのドメイン名またはIPアドレスを入力し、Portには指定されたポート番号を入力します。パスを含むサブスクリプションURL全体をHostに入力したり、PasswordをMethodに入力したりしないでください。TLS、サーバー名、通信パスなどの情報がある場合は、元の情報に従って項目ごとに入力します。不明な項目は情報の提供元に確認し、推測で埋めないようにします。入力後、画面右上の保存操作を行い、Homeに戻ってSERVERに表示されたことを確認します。

サブスクリプションの読み込み:Subscribeを選んで保存

自分のサブスクリプションURLがある場合は、Add ServerのTypeでSubscribeを選び、対応するURL欄にアドレス全体を入力します。見分けやすいメモも追加してください。貼り付けた後、先頭や末尾に空白、改行、チャットの文面が混ざっていないか確認します。URLの大文字・小文字、パラメーター、記号は変更しないでください。保存して読み込みが完了するまで待ち、Homeに戻ってサブスクリプションのグループとサーバー情報が表示されていることを確認します。

SubscribeのURLとConfigの設定ファイルURLは用途が異なります。前者は主にサーバー情報を提供し、後者はルールや設定内容を含みます。どちらもURLだからといって、同じ画面から読み込めるわけではありません。読み込み後に一覧が空の場合は、情報の形式と用途を確認し、サブスクリプションが有効かどうかを調べます。Global Routingを変更しても、形式の誤りがサーバー一覧に変わることはありません。

画面下部のScan QR Codeは対応するQRコードの読み取りに、Import from Cloud JSONは該当するクラウドJSONの読み込みに使います。あらゆるサブスクリプションに使える共通の入口ではありません。手元の情報がそれぞれの方法に対応していることを確認してください。読み込み後、HomeのSERVERで今回使用する項目をタップし、選択マークが付いたことを確認して次に進みます。

この手順の完了条件:SERVERに識別できる項目があり、必要な情報が保存され、いずれか1つが選択されていること。プロトコル項目の意味は用語ガイドで確認できます。

ShadowrocketのAdd Server画面。Type、Host、Port、Password、Methodの各項目と、画面下部の読み込みメニューを表示
Add Server:先にTypeを選び、その種類に必要な項目を入力します。
手順 02 · トラフィックの処理方法を選択

Global Routing:設定、プロキシ、直接接続を選択

サーバー情報は「どの接続先を使うか」を決め、Global Routingは「トラフィックをどう処理するか」を決めます。読み込み後にHomeに戻り、Global Routingを開いて、用途に合わせて設定(Config)、プロキシ(Proxy)、直接接続(Direct)を選びます。設定を切り替えてもサーバー情報は補われず、無効な認証情報も修正されません。

設定(Config):現在のルールに従って処理

設定(Config)は、ルールに基づいてトラフィックを振り分ける通常の利用に適しています。選択後、Configで実際に有効な設定ファイルを確認し、開いてRuleの内容を見ます。編集画面にファイルが表示されていても、それが現在有効な設定とは限りません。変更を保存した後、一覧で現在の選択状態も確認してください。サーバーのサブスクリプションを正常に読み込めても、用途に合うルールファイルが自動的に取得されるわけではありません。

ルールは上から順に確認され、最初に一致したルールのポリシーが適用されます。そのため、範囲が明確な条件は一般的な条件より前に置き、該当しないリクエストを処理するFINALは末尾に置くのが基本です。以下は「指定ドメインをPROXYに、それ以外をDIRECTにする」考え方の例であり、そのまま読み込める完全な設定ではありません。ドメインは説明用の例です。実際の利用目的に合わせて変更し、元の設定は残しておいてください。

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

この例では、example.comとそのサブドメインがPROXYに一致し、それ以外の未一致トラフィックはFINAL,DIRECTで処理されます。PROXY、DIRECT、REJECTはポリシーを表すキーワードで、サーバー名として入力するものではありません。トラブルシューティングでは、ルールの順序、現在の設定ファイル、現在のルーティングを合わせて確認します。項目が1行存在するだけでは、適用されているとは判断できません。

プロキシ(Proxy)と直接接続(Direct):目的を絞った比較に使用

プロキシ(Proxy)は通常のトラフィックを選択中のプロキシ経由で処理するため、ルール選択が問題かどうかを一時的に確認するのに使えます。ただし、サーバーの利用可能性を保証するものではありません。直接接続(Direct)は通常のトラフィックを接続先に直接送るため、基礎となるネットワークの比較に使えますが、選択したサーバーへの接続確認にはなりません。実際の処理は、アプリの設定にある例外動作にも注意してください。

最初の操作では、General、Hosts、URL Rewrite、HTTPS Decryptionを同時に変更する必要はありません。まず現在の設定で基本的なルーティングが想定どおりか確認してから接続します。テストのためにプロキシ(Proxy)または直接接続(Direct)へ一時変更する場合は、元の設定を記録し、比較後に戻してください。次回利用時にルールが機能していないと誤解するのを防げます。ルールキーワードの詳細は用語ガイド、体系的な確認方法はトラブルシューティングをご覧ください。

この手順の完了条件:現在のGlobal Routingの選択を把握していること。設定(Config)を使う場合は、現在のファイルとフォールバックポリシーを確認できること。

ShadowrocketのConfig編集画面。General、Rule、Hosts、URL Rewrite、HTTPS Decryptionの各セクションとAdd Ruleを表示
Config:現在の設定内容を確認します。Global Routingの選択画面はHomeにあります。
手順 03 · 許可して接続を確立

Home:Not Connectedのスイッチをオン

サーバーの選択とGlobal Routingの設定が済んだら、Homeに戻ります。SERVERで選択中の項目が今回使うものかを確認し、Global Routingに表示された設定も確認します。画面上部にNot Connectedと表示されている場合は、まだ接続が開始されていない状態です。読み込みに失敗したという意味ではありません。

初回接続時にVPN設定の追加を許可

画面上部の接続スイッチをオンにします。初回利用時は、VPN設定の追加を許可するかシステムから確認されます。Shadowrocketの操作であることを確認して許可し、デバイスのパスコードまたは生体認証で認証します。この許可により、システムがローカルVPNトンネルを作成し、処理対象のトラフィックをアプリに渡せるようになります。サーバーアカウントではなく、サブスクリプションや認証情報を補うものでもありません。

以前に許可を取り消した場合は、アプリに戻って接続を再試行し、実際に表示されるシステムの案内に従ってください。デバイスが管理対象である場合やシステム上の制限がある場合、設定を追加できるかどうかは管理ポリシーによります。まずデバイスでこの操作が許可されているか確認してください。チュートリアルを続けるために、用途の分からない管理設定を削除しないでください。判断できない場合は変更を中止します。

状態が変わるのを待ってからアクセスをテスト

許可後にHomeへ戻り、画面上部の状態とスイッチが安定しているかを確認します。デバイスのステータス領域にVPNアイコンが表示される場合もありますが、位置はデバイスによって異なります。接続状態がオンならシステムのトンネルは確立されていますが、選択したサーバー、DNS、すべての接続先が検証済みという意味ではありません。次に実際のアクセスを確認します。

スイッチがすぐにオフへ戻る場合は、エラーの内容と発生した段階(許可前、許可後、接続試行後)を記録します。ほかのVPN接続が動作中の場合は、いったん停止してから単独でテストし、切り替えによる干渉を減らします。スイッチを何度もすばやく操作したり、接続中に複数のパラメーターを変更したりしないでください。

今回はOn Demandの設定を変更せず、まず手動接続を一度完了させます。手動でオフにした後に接続が自動で再開する場合は、手順05でOn Demandの条件を確認してください。スイッチが安定したら、VPNアイコンだけで確認を終えず、Connectivity Testとブラウザーでのアクセスを行います。

この手順の完了条件:必要なシステム許可を済ませ、Homeの接続状態が安定し、使用中のサーバーとルーティングを把握していること。

ShadowrocketのHome画面。上部にNot Connectedのスイッチ、Global Routing、Connectivity Test、その下にSERVERとAdd Serverを表示
Home:上部のスイッチで接続し、同じ画面でGlobal Routingとサーバーの選択を確認します。
手順 04 · 接続とルーティングを分けて確認

Connectivity Test:テスト後に実際のアクセスを確認

接続がオンの状態で、HomeのConnectivity Testをタップし、今回のテストが終わるまで待ちます。結果は、選択中の項目が現在のテスト方法で応答するかどうかを判断する手がかりになります。実際のサイトへのアクセスと同じではなく、特定のルールが一致したことを直接証明するものでもありません。まず選択中の項目の結果を確認し、その後ほかの項目を調べます。一覧の別項目の結果を現在の接続結果と取り違えないようにしてください。

結果を判断する前にテスト条件を確認

Connectivity Testの結果は、SettingsのTest Method、現在のネットワーク、サーバー側のテスト方法への対応状況によって変わります。タイムアウトしても、すべての実際のリクエストが失敗するとは限りません。テストが成功しても、すべてのアプリのトラフィック、UDP、すべての接続先が利用できるとは限りません。結果を比較するときは、できるだけ同じネットワーク、同じ項目、同じテスト方法を使い、条件の異なる数値をそのまま優劣の判断に使わないでください。

想定する経路を2種類のアクセスで確認

続けてブラウザーを開き、利用権限のある接続先のうち、PROXYを通る想定のものとDIRECTを通る想定のものにアクセスします。設定(Config)では、無作為にページを開くのではなく、現在のルールに応じてテスト先を選びます。前述の例のルールを使う場合、PROXYを通るのはexample.comに一致するリクエストだけです。それ以外のサイトに直接接続できても、プロキシサーバーが使える証明にはなりません。

アプリのDataまたは関連するリクエスト記録で今回の処理情報を確認できる場合は、接続先ドメイン、時刻、ポリシーを照らし合わせます。画面に表示される情報は、アプリの実際の表示に従ってください。ページが開く速さだけから経路を推測することはできません。ページによっては別ドメインへのリクエストも発生するため、最初に入力したURLだけでなく、どのリクエストが失敗したかを確認します。

簡単に比較する場合は、同じサーバーを選んだままGlobal Routingを設定(Config)からプロキシ(Proxy)に一時変更し、同じ接続先を再読み込みします。プロキシ(Proxy)ではアクセスできるのに設定(Config)では失敗する場合、まずルール、現在の設定ファイル、DNSを確認します。両方で失敗する場合は、サーバー情報と基礎となるネットワークを確認してください。テスト後は元の設定に戻します。

この手順の完了条件:接続スイッチがオンであるだけでなく、条件を把握したうえでアクセス結果を再現でき、現在のルーティングとルールの想定に合うか判断できること。

手順 05 · 変更は一度に1項目

Settingsとよくある失敗の原因:発生段階ごとに確認

問題が追加時、接続確立時、接続後のアクセス時のどこで発生したかを確認します。段階ごとに確認場所が異なります。サブスクリプションの読み込み失敗ならURL、スイッチがオンの状態を保てないなら許可、特定の接続先だけ失敗するならルールとDNSを確認します。以下では基本的な切り分けを行います。複数の設定が関係する場合や問題が続く場合は、トラブルシューティングガイドをご覧ください。初めて使う段階ですべての詳細設定を確認する必要はありません。

読み込みに失敗する、またはSERVERに項目が表示されない

サブスクリプションURLが完全か、有効期限内か、サーバー用のサブスクリプションURLであるかを確認します。ネットワークまたは証明書のエラーが表示された場合は、現在のネットワークから該当URLに正常にアクセスできるか確認し、デバイスの日付と時刻も確認してください。URL全体を公開検索やスクリーンショットに載せないでください。サービス提供元に問い合わせる際は、必要なエラー情報だけを伝え、認証情報を隠します。

手動追加したサーバーが使えない場合は、Add Serverに戻り、Type、Host、Port、認証項目を確認します。パスワードが同じように見えても、前後に空白が入っている場合があります。ポート、暗号化方式、TLS関連のパラメーターが一致しない場合も接続に失敗することがあります。修正して保存した後、Homeで該当の項目を選び直してテストします。古い項目を使い続けないようにしてください。

スイッチがオンにならない、自動で切断される、再接続する

まず、システムのVPN設定の許可が完了しているか確認し、ほかのVPN接続が同時に動作していないか確認します。手動でオフにした後に自動で再接続する場合は、SettingsでOn Demandの有効状態と起動条件を確認してください。On Demandは自動接続のタイミングを制御するもので、Configの「接続後にどうルーティングするか」とは別の設定です。変更前の状態を記録し、確認後は用途に合わせて元に戻します。

Wi-Fiとモバイル通信を切り替えた後に問題が起きた場合は、両方のネットワークで個別に再テストし、アプリ自体の問題とすぐに判断しないでください。現在の設定と項目はそのままにして、ネットワークだけを切り替え、同じ接続先で一貫した結果になるかを確認します。これにより、基礎ネットワークの違いとサーバー設定の誤りを切り分けられます。

接続済みなのにアクセスできない、または一部の接続先だけ失敗する

まず、問題なく使えることが分かっている一般的な接続先にアクセスし、基礎ネットワークを確認してから、現在のサーバーとGlobal Routingを確認します。プロキシ(Proxy)では正常で設定(Config)では失敗する場合、実際に有効な設定ファイル、ルールの順序、FINALを優先して確認します。一部のドメインだけ失敗する場合は、DNSの名前解決と関連リクエストを調べます。最初からDNS、TCP、UDP、すべての通信設定を同時に変更しないでください。

SettingsのTest Methodは接続テストの条件を把握するために使い、Diagnosticsは原因を調べる際の手がかりになります。Proxy、TCP、UDPなどはより詳しい動作に関係するため、使い始めの段階では既存の値のままにします。診断情報を共有する前に、サブスクリプションURL、サーバー情報、アクセス記録が含まれていないか確認し、トラブルシューティングに必要な部分だけを残してください。

サブスクリプションの更新後に選択中の項目が消えた場合は、SERVERに戻って現在の選択を確認します。設定を変更してから問題が起きた場合は、保存しておいた以前の設定に戻し、同じ接続先で再テストしてください。「基準の状態に戻す、1項目だけ変更する、再確認する」の順で進めると、設定を重ねて変更するより原因を見つけやすくなります。

これで初回の利用手順は完了です。画面用語の意味は用語ガイドをご覧ください。タイムアウト、DNS、バッテリー消費、アップデート後の異常などが続く場合は、トラブルシューティングで該当する症状を確認してください。

ShadowrocketのSettings画面。Language、Test Method、Today Widget、On Demand、Diagnostics、Proxy、TCP、UDPを表示
Settings:症状に応じてTest Method、On Demand、Diagnosticsを確認します。すべてを変更する必要はありません。
確認完了

使える設定を維持し、必要に応じて次の内容を確認

最後に3点を確認します。SERVERで想定した項目が選択されていること、Global Routingが継続利用する設定に戻っていること、実際のアクセス結果がルールの想定と一致していることです。現在使える設定を保ち、今後変更するたびに同じ接続先で再テストすると、どの変更が影響したか判断しやすくなります。

自動接続、プロトコル、設定の用途を知りたい場合は機能ガイドをご覧ください。指定したサイトだけをPROXY経由にするルールの書き方は、特定サイトのルーティング設定で解説しています。