OFFICIAL MANUAL / GETTING STARTED

Shadowrocketの使い方:追加と接続

既存の情報を追加してルーティング方式を選び、接続後に実際のリクエストで動作を確認します。初回操作の順に説明します。iPhoneとiPadが対象です。

初めて操作する場合は順番にお読みください。接続はできるもののアクセスに問題がある場合は、動作確認とトラブル対処へ進んでください。画面上の用語は英語表記のままです。項目の場所や選択肢は、アプリに表示される内容をご確認ください。

STEP 01 / ADD SERVER

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

手元の情報が、サーバー一覧を取得するサブスクリプションURLなのか、単一サーバーの接続パラメーターなのかを確認してください。どちらも同じ追加画面から登録しますが、入力方法は異なります。サブスクリプションURLは一般的なウェブサイトのトップページやアカウント管理ページとは異なります。用途が分からない場合は、元の情報の提供元に確認し、URLを何度も変更して試すことは避けてください。

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

Shadowrocketを開いてHomeに移動し、右上のプラスボタンをタップしてAdd Serverを開きます。種類の選択欄をタップし、Subscribeを選んで、既存のサブスクリプションURLをURLにすべて貼り付けます。メモを付ける場合は、自分で判別しやすい名前を入力してください。メモは情報の出所を区別するためのもので、サーバーの接続方式には影響しません。

貼り付けたら、URLの先頭、末尾、途中が欠けていないか確認してください。チャットの改行やコピー時に含まれた空白、クエリパラメーターの欠落などが読み込みエラーの原因になることがあります。サブスクリプションURLの認証部分はアクセス情報にあたる場合が多いため、元のまま保持し、勝手に削除しないでください。また、URL全体を公開の場に投稿しないでください。確認後、画面の保存ボタンを使い、Homeに戻って読み込みを待ちます。

読み込み後、SERVER一覧にサブスクリプション内のサーバー項目が表示されていることを確認してください。サブスクリプション名だけが表示されている場合は、更新結果とエラーメッセージを確認します。情報が読み込まれる前に接続スイッチをオンにしないでください。ルーティング設定でサーバー情報の不足を補うことはできません。

単一サーバーの情報がある場合:該当する種類を選択

サーバー共有用のリンクがある場合は、まずリンク全体をコピーし、アプリ内に表示される読み込み案内に従って項目を確認してください。QRコードがある場合は、Scan QR Codeで読み取れます。読み取り後も、種類とアドレスを確認してください。読み込みに成功しただけで、パラメーターが正しいとは限りません。QRコードに含まれる認証情報も安全に管理してください。

手動で入力する場合は、Add Serverで情報に合った種類(Shadowsocks、VMess、Trojanなど)を選び、アドレス、ポート、認証情報を入力します。プロトコルによって必要な項目は異なります。暗号化方式、通信方式、TLS関連のパラメーターは元の情報と一致させ、あるプロトコルの入力方法を別のプロトコルに当てはめないでください。

保存後、Homeに戻り、SERVERから使用するサーバーを選択します。まず確認済みの情報を1つ使って一連の手順を完了し、その後で名前やグループを整理してください。この時点で完了したのは「情報をクライアントに登録すること」であり、接続はまだ確立していません。次に、登録した情報をリクエストにどう使うかを決めます。

STEP 02 / GLOBAL ROUTING

Global Routingの3つのモードを選ぶ

Homeに戻り、Global Routingをタップして、用途に応じてConfig、Proxy、Directを選びます。ここで決めるのはクライアントがリクエストをどう処理するかであり、別のサーバーを選ぶ操作ではありません。変更後はHomeに戻り、現在のモードを確認してから次へ進みます。「サーバーを選択した状態」と「ルーティング方式を選択した状態」を混同しないようにしてください。

Config:現在の構成に従ってリクエストを処理

ルールに基づいてリクエストを振り分ける場合は、Configを使います。まずアプリのConfig画面を開き、必要な構成ファイルが存在し、使用するものとして選択されていることを確認してください。一覧にファイルが表示されているだけでは、現在の構成として選択されているとは限りません。アプリ上の選択状態を確認してください。このモードでは、ファイル内のルール、ポリシー、関連設定に基づいてリクエストの経路が決まります。

たとえば、ルールではDOMAIN-SUFFIXでドメインの末尾を照合し、IP-CIDRでIPアドレスの範囲を照合して、先行するルールに一致しないリクエストをFINALで処理する場合があります。初めて使うときに、こうした内容をすぐ編集する必要はありません。ただし、同じサーバーに接続できても、すべてのルールが想定どおりに機能するとは限りません。構成内で参照されるポリシーが有効かどうかも確認してください。ルールのキーワードだけを確認しても十分ではありません。

Proxy:プロキシ経由の接続を確認

現在のプロキシ経路を個別に確認する場合は、一時的にProxyを選び、SERVERでテスト対象のサーバーが選ばれていることを確認してから、接続して同じテスト先にアクセスします。これにより、「サーバーに接続できるか」と「ルールが想定したポリシーに一致しているか」を分けて確認できます。このモードを使っても、すべてのアプリや通信が必ず同じように処理されるとは限りません。

Proxyでは目的のサイトにアクセスできるのに、Configに戻すと失敗する場合は、すぐにサーバーを削除せず、現在の構成、ルールの優先順、最終ポリシーを先に確認してください。診断後は必要なモードに戻します。用途を確認せずに、一時的なトラブルシューティング設定をそのままにしないでください。

Direct:直接接続時の状態を確認

Directでは、選択中のプロキシサーバーを経由せず、対象のリクエストを直接接続します。元のネットワークでのアクセス状況を確認するのに役立ちますが、プロキシ接続の成功を示すものではありません。このモードでシステムにVPNと表示されても、リクエストがプロキシサーバーを使っているとは限りません。システムの接続状態と、リクエストに適用されるポリシーは別のものです。

次に進む前に、2点確認してください。現在のGlobal Routingが目的に合っていること、そしてConfigを選んだ場合は構成ファイルが選択されていることです。ルールの構文や構成ファイルの各項目については、公式ガイド全文をご覧ください。このページでは、まず確認可能な接続手順を完了します。

STEP 03 / VPN PERMISSION

接続スイッチをオンにしてVPN構成を許可

Homeに戻ります。接続スイッチをオンにする前に、SERVERで選択されているサーバーとGlobal Routingの現在値をもう一度確認してください。画面にNot Connectedと表示されている場合、クライアントはまだ接続を確立していません。接続スイッチをタップし、続けて表示されるアプリとシステムの案内に従ってください。

初回にVPN構成の追加を求められた場合

初めて接続するとき、システムからVPN構成の追加を求められることがあります。案内に記載されたアプリ名と権限を確認し、Shadowrocketの操作であることを確かめてから、システムの指示に従って許可し、デバイス認証を完了してください。ここで許可するのは、アプリが必要とするシステムVPN構成の作成です。サーバーが自動作成されたり、サブスクリプションURLが修正されたりするわけではなく、接続情報の利用可否が確認されたことを意味するものでもありません。

許可が完了したらShadowrocketに戻り、接続スイッチと状態が変わったか確認してください。システムに拒否された場合は、アプリに戻って再度接続し、実際に表示される案内に従ってください。必要に応じて、システム設定のVPN関連項目に該当する構成があるか確認します。トラブル対処のために、デバイス上のVPN構成をすべて削除しないでください。仕事用や管理用の構成がある場合は特に注意が必要です。

システムの接続状態とサーバーの利用可否を区別する

システムにVPNのアイコンが表示され、スイッチがオンのままなら、該当するシステム接続が有効な状態です。ただし、リモートサーバーの認証、ドメインの名前解決、接続先へのアクセスに失敗することがあります。反対に、スイッチがすぐにオフになる、または構成エラーが表示される場合は、許可、現在の構成、アプリのエラー内容を先に確認してください。問題を切り分けるために、ブラウザーを何度も再読み込みして複数の問題を混在させないようにしましょう。

最初の動作確認では手動接続のままにし、On Demandなどの自動接続設定を同時に変更しないことをおすすめします。自動接続の条件は接続がいつ再開するかに影響するため、基本の接続経路を確認できていない段階で一緒に変更するのは適切ではありません。次の手順が完了してから、実際の使い方に合わせてこれらの設定を確認してください。

アプリを離れてアクセスをテストする際は、現在のサーバーとルーティングの選択を維持してください。重要なパラメーターを変更する場合は、先に接続を切り、変更を保存してから再接続します。そうすることで、次のテストにどの設定が使われたかを明確にできます。次に確認するのは「スイッチがオンか」ではなく、「接続先へのリクエストが実際に完了したか」です。

STEP 04 / CONNECTIVITY TEST

テストと実際のリクエストで動作を確認する

確認するのは、クライアントまたはサーバーのテスト結果、システムの接続状態、接続先への実際のアクセス結果の3つです。これらをあわせて確認してください。テストが1つ成功しても、すべてのアプリでアクセスできるとは限りません。接続先の1つで失敗しても、すべての接続情報が使えないとは限りません。

まずConnectivity Testを実行し、実際の接続先にもアクセスする

HomeでConnectivity Testを開き、現在の画面に表示されている操作でテストを実行します。テスト対象が、確認したい対象と一致していることも確かめてください。複数のテスト方式が用意されている場合、結果を比較するときは同じ方式を使います。条件が異なるテスト結果をそのまま比較することはできません。

テストに応答があったら、ブラウザーまたは実際に使うアプリを開き、接続先のページを指定して新たに読み込みます。すでに開いていたページだけで判断しないでください。キャッシュから表示されている可能性があります。まず1つの接続先を確認してから、ほかの用途をテストしてください。多くのページを同時に開くと、リクエスト記録との対応が難しくなり、どの変更が影響したか判断しにくくなります。

Dataで該当リクエストとポリシーを確認

Shadowrocketに戻り、Dataを開いて、直前の操作時刻と接続先に該当するリクエスト記録を確認します。記録の詳細に適用されたルール、ポリシー、接続情報が表示される場合は、それをもとにリクエストの経路を判断できます。Configを使っている場合は、総通信量の変化だけで結論を出さず、適用されたルールが想定どおりかを確認してください。

たとえば、あるリクエストがプロキシを使う想定なのに、該当する記録にDIRECTと表示されている場合は、ルールの照合結果と順序を確認します。ポリシーが想定どおりなのに接続できない場合は、そのポリシーが実際に参照しているサーバーと関連パラメーターを確認してください。記録にリクエストが表示されても、クライアントがその通信を検知したことを示すだけで、接続先から完全な応答が返されたとは限りません。

再現可能な方法で動作を確認する

ページの再読み込みやアプリで必要なコンテンツの取得など、実際の操作が完了することを確認し、今回のモード、サーバーの選択、テスト先を記録します。サブスクリプションURL全体や認証情報を保存する必要はありません。後で問題が起きたときは同じ条件で再テストすると、結果を比較しやすくなります。

Connectivity Testは成功するのに実際のアクセスに失敗する場合は、次のセクションに進み、接続先の名前解決、ルール、サーバーのパラメーターを順番に確認してください。実際のアクセスは正常なのに特定のテストだけ失敗する場合は、テスト方式と対象を先に確認します。すべてのテスト結果を一致させるためだけに、正常な設定を変更しないでください。

STEP 05 / CHECK ONE CHANGE AT A TIME

症状から原因を絞り込み、一項目ずつ変更する

最初に失敗した段階から確認を始めます。まず現在の症状を記録し、条件を1つだけ変更して、同じテストを繰り返してください。サブスクリプションの更新、サーバーの変更、ルールの編集、ネットワークの切り替えを一度に行うと、アクセスが回復しても原因を特定しにくくなります。次に問題が起きたときの判断材料も残りません。

サブスクリプションを読み込めない、または更新後の項目に問題がある

まず接続を切り、元のネットワークで普段使うページにアクセスできることを確認します。次にサブスクリプションURLが完全で、有効期限内かどうか、アプリに更新エラーが表示されているかを確認してください。認証が必要な場合やサービスの情報が変更された場合は、すでに利用しているサービスの提供元に確認します。URLの認証情報を勝手に編集したり、読み込みエラーを理由に出所不明の情報を試したりしないでください。

更新前に、現在選択している項目名を控えておくと便利です。更新後にその項目が削除または改名されていた場合は、一覧にある有効なサーバーを選び直してください。サブスクリプションの更新で主に変わるのはサーバー情報です。現在のConfigにあるルールやポリシーの参照先も同期して変更されるとは限りません。

スイッチがオンの状態を維持できない、またはシステム構成エラーが表示される

まずアプリのエラーメッセージを確認し、初回のVPN構成の許可が完了しているかを確かめます。次にシステム設定のVPN関連項目で該当する設定を確認してください。システムVPNに影響するほかの構成も有効な場合は、現在有効な接続を確認し、同時に適用される条件を減らして再試行します。デバイス管理の制限がある場合は管理上の指示に従い、管理構成をむやみに削除しないでください。

ShadowrocketのシステムVPN構成を作り直す必要がある場合は、アプリ内のサーバー情報と構成ファイルを保持し、該当する項目だけを操作してください。システムVPN構成とアプリ内のサーバー一覧は別のものです。「システムの接続項目を削除する」ことでサーバーのパラメーターが修復されるわけではありません。

接続済みなのに接続先にアクセスできない

まず、診断のために一時的に設定したDirectのままになっていないかを確認し、次に選択中のサーバーを確認します。手動で登録した項目は、種類、ポート、認証情報、通信パラメーターを一つずつ照合してください。コピー時に項目が抜けていないかも確認します。パラメーターの確認を省くためにTLS検証をむやみに無効にしないでください。証明書関連のエラーは、元の情報とアプリの案内を参考に原因を調べます。

続いて、同じ接続先にProxyとConfigでアクセスした結果を比較します。前者では正常で後者に問題がある場合は、構成ファイルが選択されているか、ルールの順序、ポリシーの参照先を優先して確認します。両方で失敗する場合は、サーバー、元のネットワーク、接続先を確認してください。比較後は、普段使うモードに戻します。

一部の接続先だけ失敗する、またはネットワークを切り替えると問題が起きる

一部の接続先で問題がある場合は、Dataで実際に失敗したリクエストを確認し、ドメインの名前解決、適用されたルール、接続エラーを調べます。ページのメインドメインだけを見て、ページ全体が同じ経路を使っていると判断しないでください。ページ内で別のドメインにもリクエストすることがあります。まず失敗したリクエストを特定し、ルールを変更する必要があるか判断してください。

特定のWi-Fiまたはモバイルデータ通信でのみ問題が起きる場合は、サーバーと構成を変えずにネットワークだけを切り替えて再テストします。切り替え後、手動で接続を切ってから再接続し、同じエラーが再現するか確認してください。この比較は原因の範囲を絞るためのものであり、特定のネットワークに問題があると断定したり、サーバーの継続的な利用可能性を保証したりするものではありません。

以上の手順で、情報の読み込み、システム接続、実際のリクエストという3つの段階を区別できるようになります。次にOn Demand、構成ファイルの各項目、日常の管理について知りたい場合は、初心者から上級者までの公式ガイドをお読みください。基本操作をもう一度確認する場合は、このチュートリアルのサーバー追加と情報の読み込みに戻れます。

App Storeでダウンロード