OFFICIAL MANUAL / GETTING STARTED

Shadowrocketへの追加・接続・確認

Homeから始め、既存情報を追加してGlobal Routingを選び、実際のリクエストで接続結果を確認します。

iPhone / iPad Add Server / Subscribe 接続とトラブルシューティング

以下ではiPhone / iPadでの操作手順を説明します。画面レイアウトはデバイスやアプリのアップデートにより変わる場合があります。項目名や入力欄は現在のアプリの表示に従ってください。画面例はページの見分け方を示すもので、記載された値をそのまま入力する必要はありません。

STEP 01 / IMPORT

Add ServerとSubscribe:既存情報を追加する

追加後にHomeへ選択可能なサーバー情報が表示されても、接続が確立したとは限りません。

Shadowrocketを開いてHomeに進み、画面下部のSERVERグループを確認します。初めて使う場合はAdd Serverから追加画面を開きます。すでにサーバー情報がある場合も、ここから追加できます。手元の情報が、サーバー一覧を取得するサブスクリプションURLなのか、アドレス、ポート、認証情報がそろったサーバー情報なのかを確認してください。情報の種類によって入力先が異なります。サブスクリプションURL全体をHostに入力しないでください。

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

Add ServerのTypeをタップしてSubscribeを選び、サブスクリプションURLの入力画面に戻ります。利用中のサービスから取得したURL全体をURL欄に貼り付け、余分な空白や改行がないこと、チャットアプリなどで途中が切れていないことを確認します。メモ欄がある場合は、用途が分かる名前を付けられます。メモは端末上の識別用であり、URLに含まれる認証情報の代わりにはなりません。

保存後にHomeへ戻り、一覧の取得が完了するまで待ってから、該当グループを展開してサーバー情報を確認します。サブスクリプション名だけが表示され、サーバー情報がない場合は、接続スイッチを何度も操作せず、まず更新結果を確認してください。次回以降はアプリの更新操作を使い、更新後にサーバー情報が残っているか確認します。URLの失効、サービスの期限切れ、取得内容の形式違いは、元のサービス情報を確認してください。アプリを再購入しても解決しません。

サーバーパラメータがある場合:Typeに合わせて入力する

手動で追加する場合は、まずTypeで手元の情報と一致するプロトコルを選び、HostとPortを入力します。Hostにはサーバーアドレスを入力し、Webページのパスは付けません。Portにはサーバー側で指定されたポートを入力します。プロトコル名から推測しないでください。たとえばShadowsocksでは、PasswordとMethodも記載どおりに入力します。Typeによって認証、TLS、通信方式の項目が異なる場合があります。該当するサーバー情報に従い、別のプロトコルの項目を流用しないでください。

画面下部のScan QR Codeでは既存のQRコードを読み取れます。Import from Cloud JSONは対応形式の情報を読み込む機能です。読み取り後もType、Host、Port、認証情報を確認してください。QRコードを認識できたことは、パラメータが有効であることを意味しません。カメラの使用時にシステムが許可を求めた場合は、スキャン機能を使うかどうかに応じて選択します。手入力の場合、カメラへのアクセスは不要です。

保存前に入力内容をもう一度確認し、Homeに戻って記録名とグループを確認します。まず情報がそろったサーバーを1つ選んで次の手順に進むと、複数の情報を同時に追加して使用中のものが分からなくなるのを防げます。この時点ではSettingsの詳細設定を変更せず、次の手順でGlobal Routingと設定ファイルの関係を確認します。

ShadowrocketのAdd Server公式スクリーンショット。Type、Host、Port、Password、Methodと画面下部のインポート項目を表示
Add Server:Typeを選んでから、プロトコルに必要なパラメータを入力します。画面下部にScan QR CodeとImport from Cloud JSONがあります。

STEP 02 / ROUTING

Global Routing:Config・Proxy・Direct

Global Routingはリクエストのルーティング方法を決めます。サーバー情報には接続パラメータが、Configにはルールや関連設定が含まれます。

Homeに戻ってGlobal Routingをタップし、現在の設定を確認します。このチュートリアルでは、画面上の3つの選択肢をConfig(設定)、Proxy(プロキシ)、Direct(直接接続)と表記します。変更する前に現在の選択内容を確認し、初期状態が特定のモードだと決めつけないでください。日常的な利用ではConfigが基本ですが、用途に合った設定ファイルが選択されていることが前提です。

Configでは、現在有効な設定ファイルのルールに従ってリクエストの経路が決まります。利用可能な設定ファイルがある場合はConfigを開き、実際に選択されているファイルを確認してから編集画面でGeneralやRuleなどの項目を確認します。Ruleのルールは通常上から順に照合され、最初に一致したルールのポリシーが適用されます。FINALは、それまでのルールに一致しなかったリクエストを処理します。ファイルの内容を確認しただけでは、そのファイルが有効になったことにはなりません。ファイル一覧に戻り、選択状態も確認してください。

Proxyはリクエストをプロキシ経由にする設定です。初回確認時に短時間の比較テストを行い、サーバー接続と振り分けルールのどちらに問題があるか切り分けるために使えます。ただし、自動修復の設定ではありません。Hostや認証情報、サービスの状態に問題があれば、Proxyに切り替えても接続できない場合があります。Directは直接接続の経路で、基本ネットワークとの比較に使えます。Directを選択した状態でのアクセス結果から、プロキシサーバーが有効だとは判断できません。

設定ファイルがある場合は、ほかの設定を変えずにConfigで接続を確認します。サーバー情報だけがあり、現在のConfigを確認できていない場合は、Proxyで接続テストを1回行い、その後Configを確認します。初回接続のためにURL RewriteやHTTPS Decryptionを同時に有効にしないでください。通常の接続に必須ではなく、それぞれ適用条件があります。

以下の断片はルールの構造を見分けるための例であり、初回設定時に貼り付ける必要はありません。1行目は指定したドメインサフィックスに一致し、2行目は最終ポリシーを指定します。例のドメインはテスト用サービスではなく、接続情報も含みません。

DOMAIN-SUFFIX,example.com,DIRECT
FINAL,PROXY

ルール編集、DNS、ポリシーの詳細はSettingsと設定オプションのマニュアルをご覧ください。このチュートリアルでは、現在のモード、設定ファイル、選択中のサーバーを把握しておけば十分です。3つの状態を記録してから接続手順に進むと、後で同じ条件を再現してトラブルシューティングできます。

ShadowrocketのConfig公式スクリーンショット。General、Rule、Hosts、URL Rewrite、HTTPS Decryption、Add Ruleを表示
Config:Ruleで一致する項目を確認します。設定ファイルの編集画面と、HomeのGlobal Routingで選択する画面は別の場所です。

STEP 03 / CONNECTION

Home:サーバーを選んで接続する

接続スイッチはシステムのネットワーク拡張機能をオン/オフするものです。初回のシステム認証とサーバー認証は別の手順です。

Homeに戻り、SERVERグループから使用するサーバーをタップして、選択マークが目的の項目に付いていることを確認します。複数の項目がある場合、表示順から使用中のサーバーを推測しないでください。次にGlobal Routingの表示が前の手順で確認した内容と一致していることを確認し、画面上部のNot Connected付近にある接続スイッチをオンにします。

初回接続時、システムにVPN構成を追加するための確認が表示される場合があります。これはアプリがネットワーク接続構成を作成するためのシステム認証であり、アプリの再購入やサブスクリプションの更新を求めるものではありません。表示されているアプリ名を確認し、自分の操作によって表示されたことを確かめてから、システムの案内に従って許可します。デバイスのパスコードやシステム認証を求められる場合があります。許可後にShadowrocketへ戻り、画面上部の状態が変わったか確認してください。

キャンセルした場合、この手順では接続を完了できません。準備ができたら接続スイッチをもう一度操作し、システム認証を完了してください。組織管理下のデバイスでは、構成制限が認証に影響する場合があります。その際はデバイスの管理要件に従い、サーバーのパスワードを繰り返し変更しないでください。システム認証の完了は、ネットワーク拡張機能を実行できる状態になったことを示すだけで、リモートサーバーが正常に応答したことを証明するものではありません。

状態が変わったら、すぐに切断されないか少し待って確認してから、次の手順に進みます。接続スイッチがオンのままになっていること、システムにVPNの表示があること、目的のサービスにアクセスできることは、それぞれ異なる確認項目です。どれか1つだけで全体の動作を確認したことにはなりません。スイッチがすぐにオフに戻る場合は、表示された案内と現在のモードを記録し、診断情報が混乱しないよう連続してオン/オフしないでください。

初回の手動接続では、On Demandを追加設定しないことをおすすめします。On Demandは条件に応じて接続を開始する機能で、「初回接続時に必ず有効にする」設定ではありません。自動接続の条件をすでに設定している場合は、手動でオフにした後に自動で再接続し、スイッチが効かないように見えるのを防ぐため、現在の状態を記録しておきます。接続が安定し、動作確認が完了してから、自動接続の動作を別途設定してください。

ShadowrocketのHome公式スクリーンショット。Not Connectedの接続スイッチ、Global Routing、Connectivity Test、SERVERグループを表示
Home:上部で接続状態、中ほどでGlobal RoutingとConnectivity Test、下部でSERVERのサーバーを確認します。

STEP 04 / VERIFICATION

Connectivity Test:実際のリクエストを確認する

テスト結果、実際のアクセス、ルールに基づく経路を合わせて確認します。所要時間の数字だけで判断しないでください。

接続テスト後に目的のサービスへアクセスする

HomeでConnectivity Testをタップし、テストが終わるまで待って、応答成功、タイムアウト、その他の表示を記録します。結果はテスト方法、テスト対象、現在のネットワーク環境によって異なります。1回成功しても、すべてのドメインやプロトコルにアクセスできるとは限りません。テストに失敗した場合も、実際のリクエストと合わせて判断してください。

続いて、利用権限のあるサービスを開き、ページを再読み込みするなど、目的が明確な操作を1つ行います。キャッシュ済みの内容だけで判断せず、必要に応じてページを更新するか、対象のアプリを開き直してください。まずは1つだけテストし、発生時刻とエラー表示を記録すると、接続記録から該当するリクエストを探しやすくなります。

リクエストの経路を確認する

Configを使っている場合、一部のリクエストがDIRECTに一致するのは通常の振り分け動作であり、接続が確立していないことを意味しません。アプリのLogや接続記録を開き、ドメイン、適用されたルール、ポリシーを確認します。ログの場所や表示項目は現在のアプリに従ってください。リクエストに想定外のポリシーが適用されている場合は、サーバーを変更する前に現在のConfigを確認してください。

比較が必要な場合はGlobal Routingだけを変更し、Proxyで同じ対象を再テストしてから元のモードに戻します。Proxyでは利用できるのにConfigの結果が想定と異なる場合は、ルールと名前解決を優先して確認します。どちらでも失敗する場合は、サーバーと基本ネットワークを確認します。同じ対象とネットワークで比較すると、結果を判断しやすくなります。

サブスクリプション一覧のテスト時間は、現在のテスト条件で比較するための目安です。実際のダウンロード速度や接続の安定性を保証するものではありません。初回接続の確認後は、利用できたサーバー、Global Routing、設定ファイル名を記録しておくことをおすすめします。設定変更後にこの条件へ戻せるようにしておくと、問題の範囲を絞り込めます。

STEP 05 / DIAGNOSTICS

Settings:よくある接続問題を順番に確認する

問題を段階ごとに切り分けてから設定を変更します。一度に変更するのは1項目だけにし、再テスト後に変更を維持するか元に戻すか判断してください。

まず基本ネットワークと追加結果を確認する

基本ネットワークはすべての接続の前提です。まず接続スイッチをオフにし、現在のWi-Fiまたはモバイル通信で、通常は直接アクセスできるサービスを開いてみます。同じように失敗する場合は、先にネットワーク接続を確認してください。公衆Wi-Fiではネットワークへのログインが必要なことがあり、未ログインのままだとサブスクリプションの更新やサーバー接続に影響します。ネットワークを切り替えて比較する場合は、切り替え前後の結果を記録し、異なるネットワークのテスト数値をそのまま比較しないでください。

SERVERに選択できる項目がない場合は、追加の段階で問題が起きています。SubscribeのURL全体が正しく入力されているか、更新時にエラーが出ていないか、元のサービス情報がまだ有効かを確認してください。一覧に項目があるのに特定のサーバーだけ失敗する場合は、その項目を開いてType、Host、Port、認証パラメータを確認します。TLSや通信方式の設定がある場合は、該当する項目も確認してください。デバイスの日付と時刻が大きくずれている場合は、証明書を使う接続を再テストする前に修正します。

次にモード、ルール、DNSを確認する

接続状態が維持されているのに目的のサービスを使えない場合は、まずDirectが選択されていないか確認します。ProxyとConfigで結果が異なる場合は、現在有効な設定ファイルとRuleの順序を確認し、特に早い段階で一致するルールと末尾のFINALに注意してください。有効になっていないファイルだけを編集し、別のファイルを使った結果で変更の効果を判断しないでください。

DNSはドメイン名を解決する機能です。名前解決の失敗とサーバーのハンドシェイク失敗は別の問題です。エラー表示や接続記録が名前解決の問題を示している場合に限り、現在の設定のDNSを確認してください。インターネットで見つけたアドレスをまとめて設定に上書きしたり、DNS、ルール、サーバーを同時に変更したりしないでください。元の値を記録し、1項目ずつ変更して同じ対象を再テストします。関連項目と設定値については、オプションマニュアルのDNSと診断の説明をご覧ください。

最後にテスト方法と自動接続を確認する

Settingsを開き、Test MethodとDiagnosticsを確認します。Test Methodによってテスト結果の意味が変わるため、異なる方法で測定した時間を同じ指標として比較しないでください。Diagnosticsは問題の詳細な切り分けに使います。具体的な場所や利用できるツールは現在のアプリの表示に従ってください。診断情報を記録する際は、発生時刻、現在のネットワーク、選択中のモード、エラー内容を中心に記録します。設定全体を公開する必要はありません。

手動でオフにしてから再接続する場合や、ネットワーク変更後の動作が想定と異なる場合は、On Demandの起動条件を確認します。条件に応じて接続を開始する機能のため、トラブルシューティングでは自動接続と手動操作を区別してください。Proxy、TCP、UDPなどの項目も、初回利用時に必ず変更するものではありません。明確な問題の根拠がなければ現在の値を維持し、初期値はアプリの表示に従ってください。

利用中のサービスにサーバー状態を問い合わせる場合は、必要なエラー情報だけを伝え、パスワード、サブスクリプションURL、認証ID、QRコードを隠してください。再現性のある失敗条件を確認できた場合は、サーバーのタイムアウト・接続失敗を確認する手順をご覧ください。設定項目の意味や値を調整する場合は、Settingsの設定項目リファレンスをご覧ください。初回設定時にすべての項目を一度に変更しないでください。

ShadowrocketのSettings公式スクリーンショット。Language、Test Method、Today Widget、On Demand、Diagnostics、Proxy、TCP、UDPを表示
Settings:問題に応じてTest Method、On Demand、Diagnosticsを確認します。その他の詳細設定は初回接続時に変更する必要はありません。

CHECKPOINT / NEXT REFERENCE

初回設定の完了チェック

選択可能なサーバー情報があり、モードと設定が明確で、接続状態が維持され、実際のリクエストが想定どおりに動作していれば、初回の動作確認は完了です。

以後は実際の用途に合わせて、必要な項目だけを個別に調整してください。ルールの照合とFINAL、DNS、On Demand、Logなどはオプションマニュアルで確認できます。購入、再インストール、購入済みアプリの復元については、アプリの入手方法をご覧ください。