公式マニュアル · 入門ガイド

Shadowrocket 使い方ガイド
追加・接続・確認

iPhone / iPad の画面を例に、初回利用時の操作を5段階で説明します。まず既存のサーバー情報で接続できることを確認し、その後にルールを確認します。最初からすべての設定を変更する必要はありません。

  1. 01 追加
  2. 02 モード選択
  3. 03 接続
  4. 04 確認
  5. 05 トラブル対処

スクリーンショットは App Store の公式素材で、画面や項目の確認に使用しています。実際の配置はアプリの更新により異なる場合があるため、現在のアプリの表示をご確認ください。画像内のサーバー情報をそのまま入力しないでください。

手順 01 · 選択できる項目を準備

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

Shadowrocket を開き、まず Home に移動します。情報をまだ追加していない場合、SERVER のグループに選択可能なサーバーがないのは正常です。Add Server をタップして追加画面を開き、手元の情報に合った方法を選びます。サブスクリプションリンク、個別の共有情報、QRコード、手動入力はそれぞれ異なる方法です。サブスクリプションリンク全体を Host に入力しないでください。

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

Add Server を開いたら Type をタップして Subscribe を選び、該当する URL 入力欄にサブスクリプションリンク全体を貼り付けます。貼り付ける前後に改行や空白、チャットメッセージ内の説明文が混入していないか確認してください。特にリンク末尾のパラメーターを欠かさないようにします。自分で見分けやすい名前を入力して保存し、アプリが内容を取得・解析するのを待ちます。その後 Home に戻り、SERVER に項目が表示されているか確認します。

保存できても、入力内容が保存されたことを示すだけで、サブスクリプションの取得成功を意味するとは限りません。項目が表示されない場合は、現在のネットワークからサブスクリプションの URL にアクセスできるか、リンクが有効かを確認します。同じサブスクリプションを何度も追加して解決しようとしないでください。取得した内容はアプリが解析できる接続情報である必要があります。Webページ、ログイン画面、エラーテキストはサーバーリストとして使えません。

個別のサーバー情報または QRコードを使う

手動で追加する場合は、まず Type で情報と一致するプロトコルを選び、Host、Port と、そのプロトコルで必要な項目を入力します。たとえば Shadowsocks では Password と Method の確認が必要です。ほかのプロトコルでは、異なる認証情報や転送設定が表示される場合があります。項目が不明な場合は元の情報を確認してください。名前から推測したり、別のプロトコルのパスワードを認証欄に入力したりしないでください。

QRコードがある場合は、追加画面で Scan QR Code を使い、システムの案内に従ってカメラへのアクセスを許可します。読み取り後も Type とサーバー項目を確認してください。Import from Cloud JSON は別の読み込み方法であり、Subscribe と同じではありません。一般的なサブスクリプションリンクをそのまま貼り付ける用途には適しません。いずれか1つの追加方法を完了すればよく、すべての方法を試す必要はありません。

最後に Home に戻り、SERVER から利用権限のある項目を1つ選択し、選択状態を確認します。リストに多数の名前が表示されても、すべて使えるとは限りません。まず明確なテスト対象を1つ選び、次の手順でリクエストの処理方法を選びます。

Shadowrocket Add Server の公式スクリーンショット。Type、Host、Port、Password、Method と QRコード読み込みを表示
公式スクリーンショット:Add Server。まず Type を選び、手元の情報に合わせて項目を入力します。
手順 02 · リクエストの処理方法を決める

Global Routing:3つのモードを選択

サーバーを選択したら Home に戻り、Global Routing をタップします。ここではリクエストの処理方法を選択します。サーバーのプロトコルを切り替える画面ではありません。3つのモードはConfig、Proxy、Directです。今回のテスト目的を決めてから該当する項目を選び、記録を取らずにモードを何度も切り替えながらトラブル対処することは避けてください。

Config は現在の設定ファイル内のルールに従ってリクエストの接続先を決めます。ルールによる振り分けを行う場合に適しています。使う前に Config を開き、適用可能な設定ファイルがあり、有効になっていることを確認してください。サブスクリプションを読み込んでサーバー項目を取得できても、ルール設定まで用意されたとは限りません。サーバーリストと設定ファイルはそれぞれ確認が必要です。

Proxy は選択したプロキシを通じてリクエストを処理するモードです。短時間の比較テストに使えます。同じ宛先に Proxy ではアクセスでき、Config ではできない場合は、まずルールとポリシーを確認してください。認証情報の誤りを修正する方法ではなく、すべてのアプリの動作が同じになることを保証するものでもありません。比較後は、通常使うモードに戻してください。

Direct は直接接続するモードです。「スイッチがオンだから、リクエストは選択したサーバーを経由している」と判断することはできません。プロキシ接続をテストするつもりで Direct を選んでいた場合、通常のWebページが開いてもサーバーが使える証明にはなりません。モード、選択した項目、実際に適用されたポリシーの3点を確認してください。

初回利用時にルールの基本を確認

Config 画面では General、Rule などのセクションを確認できます。ここでは Rule の照合順序だけを理解すれば十分です。HTTPS Decryption など関係のない設定は変更しないでください。以下は説明用の例であり、完全な設定ファイルの代わりにはなりません。

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

1行目は example.com とそのサブドメインに一致するリクエストを PROXY にします。次の GEOIP ルールに一致した場合は DIRECT を使います。前のルールに一致しないリクエストは FINAL に処理されます。ルールは上から順に確認され、一致した行のポリシーが適用されるため、FINAL は最後に置きます。実際に PROXY を使うには利用可能なプロキシの選択も必要です。ルールの記述だけでサーバーが作られるわけではありません。

この手順の完了条件は、現在選択しているモードと、Config を使う場合に有効になっている設定ファイルを説明できることです。ルールの種類、REJECT、設定セクションの詳細は設定ガイドをご覧ください。ここでは設定を安定させたまま、初回接続に進みます。

Shadowrocket Config の公式スクリーンショット。General、Rule、Hosts、URL Rewrite、HTTPS Decryption の各セクションと Add Rule を表示
公式スクリーンショット:Config の設定編集画面。設定ファイルと Home のサーバー選択を個別に確認します。
手順 03 · システムの許可を完了

Home:画面上部の接続スイッチをオンにする

Home に戻り、次の2点を順に確認します。SERVER でサーバーが選択されていること、Global Routing に先ほど決めたモードが表示されていることです。続いて画面上部の Not Connected 付近にあるスイッチをオンにします。まずこの手順を完了してからブラウザーを確認してください。情報の追加成功と接続成功を混同しないようにします。

初回接続時は、iPhone / iPad に VPN 構成の追加を求めるシステムの案内が表示される場合があります。案内を読み、Shadowrocket が開始した操作であることを確認してから許可し、システムの指示に従ってデバイスのパスコードまたは本人確認を行います。このシステム許可は端末上のネットワーク接続構成を作成するためのものです。別の接続サービスを購入するものではなく、システムの本人確認画面にサブスクリプションのパスワードを入力する必要もありません。

許可の案内でキャンセルした場合、スイッチがオンのままにならなくても、サーバーが無効とは限りません。もう一度スイッチをオンにして、許可の案内が再表示されるか確認してください。必要に応じてシステム設定で VPN を検索し、既存の接続構成と現在の状態を確認します。トラブル対処中は、別の VPN 接続が通信を引き継がないよう一時停止してください。記録を取らずに端末の構成をまとめて削除しないでください。

許可後に Home に戻り、画面上部の状態が変わるまで待ちます。スイッチがオンになってすぐオフに戻る場合は、その場でエラーメッセージを記録し、システムの許可とサーバー項目を確認してください。十数個の項目を次々に切り替えると条件が増え、設定の問題か個別の接続情報の問題かを切り分けにくくなります。

端末に VPN の状態表示が出た場合、システムの接続状態が変化したことを示しますが、すべてのリクエストが PROXY を経由することや、サブスクリプション内の全サーバーにアクセスできることを証明するものではありません。Global Routing が Direct の場合や、Config のルールの一部が DIRECT を使う場合もあります。アプリの接続を維持し、次の手順でテストと実際のアクセスの両方を確認してください。状態表示だけで結論を出さないようにします。

この手順を終えたら、ひとまず On Demand は有効にしないでください。自動接続を検討する前に、手動での接続、切断、再接続を確認しておくと、手動操作と自動起動の動作を区別しやすくなります。

Shadowrocket Home の公式スクリーンショット。Not Connected のスイッチ、Global Routing、Connectivity Test、SERVER、Add Server を表示
公式スクリーンショット:Home。接続前にサーバーと Global Routing を確認し、接続後は実際のリクエストを確認します。

確認:テスト、アクセス、ルールの記録

手順 04 · 「接続済み」と「想定どおりにリクエストが処理される」を分けて確認します。

まず Connectivity Test、次に実際のアクセス

接続を維持したまま、Home で Connectivity Test を実行します。テスト結果が示すのは、現在のテスト方法とテスト対象での到達性です。すべてのWebサイト、アプリ、通信方式が正常であることを示すものではありません。テストに応答があれば、ブラウザーでアクセス可能とわかっているページを開いてください。タイムアウトした場合も、まず結果を記録し、サブスクリプション全体が使えないとすぐに判断しないでください。

実際にアクセスする際は、新しいページを開いて再読み込みし、ブラウザーのキャッシュで結果が変わらないようにします。まず1つの対象をテストし、次に用途の異なる対象を試してください。一度に大量のページを開かないでください。特定の対象だけ失敗し、ほかが正常な場合は、対象自体、ドメイン解決、ルールの違いを確認します。すぐにアプリを再インストールする必要はありません。

リクエストに想定したポリシーが適用されたか確認

ルーティングを確認するには、アプリのリクエスト記録、または Data で利用できる記録画面を開き、直前に送信したリクエストを探して、宛先ドメイン、適用ルール、ポリシーを確認します。PROXY を確認する場合は、該当のリクエストに PROXY が使われている必要があります。記録に DIRECT と表示される場合は、Global Routing と現在の設定を確認してください。画面に十分な情報が表示されない場合は、次の手順で Diagnostics を使い、関連する診断情報を収集できます。

同じ対象を使った短時間の比較テストが有効です。サーバーは変えず、Config から Proxy に切り替えてアクセスします。結果が変わった場合は、設定によるルーティングを優先して確認します。どちらのモードでも失敗する場合は、サーバー、ネットワーク、アクセス先を確認してください。比較後は元のモードに戻し、結果を記録して、一時的なテストモードを使い続けないようにします。

最後に接続を切り、もう一度接続して同じアクセスを繰り返します。これにより、以前のキャッシュや一時的な状態による成功ではないことを確認できます。手動接続が安定してから日常利用を始めます。自動接続、複雑なルール、追加設定は後から1つずつ追加できます。

手順 05 · 変更は一度に1つだけ

Settings:失敗した箇所を切り分ける

問題が起きたら、まずどの手順で止まったかを特定し、Settings で関連する設定を確認します。Test Method はテスト方法に影響し、Diagnostics は診断に使います。どちらも正しいサーバー項目の代わりにはなりません。現象、現在のネットワーク、Global Routing、選択した項目を記録し、条件を1つ変更して再試行してください。どの変更が影響したか判断しやすくなります。

読み込み後にサーバーが表示されない

Subscribe に戻り、リンク全体が入力されているか、Webページのアドレスをコピーしていないか、空白文字が混入していないか、サブスクリプションの有効期限が切れていないかを確認します。取得に失敗したという表示が出る場合は、現在のネットワークからそのアドレスにアクセスできるか確認してください。解析に失敗した場合は、返された内容の形式を確認します。必要に応じて、元の情報の提供元にリンクの状態を確認してください。リンクを公開の場に貼り付けないでください。サブスクリプションリンクにはアクセス情報が含まれることがあるため、パスワードと同様に保護してください。

スイッチがオンのままにならない

まずシステムの VPN 構成許可が完了しているか確認し、次に Type、Host、Port とプロトコルに必要な項目を確認します。許可の前、接続直後、一定時間経過後のどの時点でエラーになったかを記録してください。別の VPN が動作中の場合は一時停止して再試行します。端末が組織や学校によって管理されている場合、システムポリシーにより変更が制限されることがあります。端末の管理要件に従い、管理設定を何度も削除しないでください。

接続済みと表示されるがページを開けない

Global Routing で誤って Direct を選んでいないか確認し、Connectivity Test と実際のページアクセスを照らし合わせます。設定はそのままにして、Wi-Fi とモバイル通信を切り替えるなど、利用可能な別のネットワークでも試し、それぞれの条件を記録してください。特定のドメインだけ失敗する場合は、DNS と適用ルールを確認します。どちらのモードでも失敗する場合は、サーバーの状態、認証情報、アクセス先への到達性を優先して確認してください。

アクセスはできるがルーティングが想定と異なる

Config に戻り、先ほど確認したファイルが有効になっているか確認します。範囲の広いルールが具体的なルールより前にないか、FINAL が末尾にあるか、各ルールのポリシーが目的に合っているかを確認してください。1つのルールを直すために DNS、プロトコル、サーバー、すべてのルールを同時に変更しないでください。まず1つのドメインで再現し、リクエスト記録を見ながら該当するルールを調整します。

問い合わせる場合は、エラーメッセージ、再現手順、試した比較結果をまとめてください。スクリーンショットや診断記録を共有する前に、サブスクリプションリンク、パスワード、認証項目、サーバーへのアクセス情報を隠します。記録にアクセス先のドメインが含まれる場合もあるため、送信前に確認してください。サブスクリプション、ネットワーク、アカウントに関する詳しい内容は項目別によくある質問をご覧ください。ルールの構文は設定ガイドをご確認ください。

初回接続が完了したら、正常に動作する設定を記録しておきます。今後サブスクリプションを更新したり、ルールを調整したり、On Demand を有効にしたりする場合も、「1つ変更、1回テスト、結果を記録」の順で進めてください。問題が起きても、検証済みの設定に戻せるため、インストールからやり直す必要がありません。

Shadowrocket Settings の公式スクリーンショット。Language、Test Method、Today Widget、On Demand、Diagnostics、Proxy、TCP、UDP を表示
公式スクリーンショット:Settings。まず Test Method と Diagnostics で問題を確認し、必要な設定だけを変更します。