Shadowrocket の使い方
iPhone / iPad の画面を例に、既存のSubscribeを使ってサーバー選択、Global Routing の設定、接続確認を順に進めます。
以下の5段階を順番に進めてください。サーバー一覧がすでにある場合は、2段階目から始められます。接続スイッチがオンなのにアクセスできない場合は、5段階目を確認し、比較できるよう現在の設定を残してください。
Add Server:サーバーの追加またはSubscribeの読み込み
Shadowrocket を開き、まず Home に移動します。サーバー一覧の確認、使用するサーバーの選択、接続の操作を行う画面です。一覧が空の場合、先に Config や DNS を変更する必要はありません。すでにあるSubscribeまたはサーバー情報を追加してください。Subscribeリンクと個別サーバーの共有リンクは用途が異なります。前者は通常、複数のサーバーを管理するためのものです。後者は特定の項目を1件追加します。手元の情報がどちらなのかを確認してから該当する方法を選び、SubscribeのURLをサーバーアドレス欄に入力しないようにしてください。
Subscribeリンクがある場合:Subscribeを選択
Home の右上にある追加ボタンをタップして Add Server を開き、Type から Subscribe を選択します。URL 欄に自分のSubscribeリンク全体を貼り付け、識別しやすいメモを入力して保存します。貼り付け後、先頭と末尾が欠けていないか、チャットの文字、改行、余分な空白が含まれていないか確認してください。Subscribeを識別するクエリパラメーターもURLの一部です。表示を短くするために削除しないでください。
保存後に Home に戻り、Subscribeの内容が読み込まれるまで待ちます。成功すると、保存済みのSubscribe URLだけでなく、一覧に該当する項目またはグループが表示されます。グループ名だけが表示され、中にサーバーがない場合は、まず更新が完了したかを確認し、次にリンクが有効かを確かめます。同じリンクを繰り返し追加しても通常は解決せず、後で項目を見分けたり削除したりする手間が増えるだけです。更新方法、グループ、複数のSubscribeの整理については、Subscribeとサーバー管理マニュアルをご覧ください。
サーバー情報が1件ある場合:プロトコルに応じて入力
サーバーアドレス、ポート、認証情報がある場合は、Add Server の Type で指定されたプロトコル(Shadowsocks、VMess、VLESS、Trojan など)を選び、各項目を入力します。Address にはサーバーのドメイン名またはアドレス、Port にはポート番号を入力します。パスワード、UUID、暗号化方式、その他のオプションは手元の情報に従って入力してください。プロトコルによって必要な項目は異なります。名前が似ていても項目を流用しないでください。また、サーバードメイン名のみを受け付ける欄に、ウェブページのURL全体を入力しないでください。
情報に TLS、SNI、転送方式、パスなどのパラメーターが含まれている場合は、それらも確認してください。アドレスとポートを保存するだけでは不十分です。不明な項目は値を繰り返し試すのではなく、元の情報を確認してください。QRコードがある場合は Scan QR Code を使用できます。個別サーバーの共有リンクがある場合は、アプリの案内に従ってクリップボードから読み込めます。どの方法を使った場合も、読み込み後に項目を開いてプロトコルと重要なパラメーターを確認してください。スキャンや貼り付けだけで情報がすべて揃うとは限りません。
この段階の完了条件:Home に識別できるサーバー項目が少なくとも1つ表示され、使用する項目が選択されていること。項目には自分で分かるメモを付け、テスト対象を取り違えないようにしてください。Subscribeリンク、パスワード、共有リンク全体にはアクセス情報が含まれる場合があります。公開スクリーンショットや質問に記載しないでください。次に通信の処理方法を設定し、接続スイッチをオンにします。
Global Routing:通信の処理方法を選ぶ
サーバーを選択したら、Home で Global Routing を開きます。ここでは通信の処理方法を決めます。サーバーを追加したり、認証情報の誤りを自動修復したりする機能ではありません。初めて使う場合は、設定(Config)、プロキシ(Proxy)、直接接続(Direct)の3つの一般的なモードを区別してください。速度設定ではありません。ルールによる振り分けが必要か、通常利用中か接続を調査中かに応じて選びます。
設定(Config):選択した設定ファイルに従って処理
設定(Config)では、現在有効な設定ファイルのルールに基づいて通信を処理します。信頼できる設定ファイルがある場合は、先に Config を開き、そのファイルが端末にダウンロード済みで選択されていることを確認します。その後 Home に戻り、Global Routing を設定(Config)にします。リモート設定のアドレスを追加しただけで、ダウンロードや有効化が完了していない場合、対応するルールが適用されているとは言えません。サーバーのSubscribeと設定ファイルは別の情報です。サーバー一覧を読み込んでも、ルーティングルール全体が同時に読み込まれるわけではありません。
設定(Config)では、同じ端末からのリクエストでも異なるポリシーが適用される場合があります。DIRECT に一致したリクエストは、サーバーを選択していてもそのサーバー経由にはなりません。PROXY に一致したリクエストは、対応するポリシーに従って処理されます。そのため、1つのウェブページが開けただけでは、すべてのリクエストが選択したサーバーを経由しているとは確認できません。DOMAIN-SUFFIX、IP-CIDR、GEOIP、FINAL などの用語は用語集で確認できます。このガイドではまず接続を完了させることを目標とし、初期設定時にルール全体を書き換えることはしません。
プロキシ(Proxy)と直接接続(Direct):明確に比較するためのモード
プロキシ(Proxy)は、クライアントで処理するアクセスをプロキシ経由にします。選択したサーバーを初めて確認する際、一時的な比較方法として利用できます。設定ファイルがまだない場合は、下記の接続確認を Proxy で行い、確認後に必要に応じて設定(Config)へ戻します。この操作はルールによる変数を減らすためのもので、すべてのアプリやシステム通信が完全に同じ経路を使うことを保証するものではありません。
直接接続(Direct)では、該当するアクセスは選択したプロキシサーバーを経由しません。基本ネットワークの確認や、一時的な直接接続との比較に適しています。プロキシサーバーの動作を確認する目的なのに Global Routing が Direct のままでは、接続スイッチがオンでも、そのサーバーが正常に動作しているとは判断できません。モードを変更したら Home に戻り、表示が選択した値になっていることを再確認してください。項目を確認しただけで選択が完了していない場合があります。
この段階の完了条件:現在選択しているのが設定(Config)、プロキシ(Proxy)、直接接続(Direct)のどれか、また今回の確認でどの経路を想定するかを説明できること。設定(Config)を使う場合は、現在有効な設定ファイルの名前も把握してください。この状態を記録し、次の段階では接続スイッチとシステムの許可だけを扱います。サーバーやルールは同時に変更しません。
Home:接続スイッチをオンにしてVPN構成を許可
Home に戻り、選択中のサーバーと Global Routing が前の2段階で確認した内容のままか確認してから、上部の接続スイッチをオンにします。初回接続時、iPhone / iPad にシステムの「VPN構成を追加」確認が表示される場合があります。アプリがローカルのVPN構成を作成するためのシステム許可であり、Subscribeの読み込み手順ではありません。また、リモートサーバーを作成するものでもありません。自分で接続を開始した直後に表示されたことを確認してから、許可してください。
Shadowrocket からの要求であることを確認したら、許可を選択し、システムの案内に従ってパスコードまたは生体認証を完了します。認証方法は端末の設定によって異なります。その後 Shadowrocket に戻り、接続スイッチがオンのまま維持されるか確認します。システムの許可が完了したことは、この接続に必要なシステム権限をアプリが取得したことを示すだけです。サーバーが利用可能か、認証情報が正しいか、ルールが想定どおりかは、次の段階でそれぞれ確認する必要があります。
誤って拒否した場合は、Home に戻ってもう一度接続を試し、システムの確認が再度表示されるか確認してください。それでも進めない場合は、システム設定の VPN ページで既存の構成を確認し、アプリに戻って再試行します。システムのバージョンによって設定画面の階層が異なる場合があります。設定内で VPN を検索してください。ネットワーク設定をすべて削除することを最初の対処方法にしないでください。まず実際の表示と構成状態を確認し、正常に使えている他のネットワーク機能に影響しないようにします。
端末で別の VPN 接続を使用中の場合は、現在使わない接続を先に切断してから Shadowrocket をオンにします。端末が会社や学校の管理下にある場合、ポリシーによってVPN構成が制限されていることがあります。その場合は、Subscribeを繰り返し変更するのではなく、端末管理の要件に従ってください。調査中は On Demand も有効化または変更しないでください。オンデマンド接続の条件によってスイッチの状態が変わり、手動接続の判断を妨げる場合があります。
この段階の完了条件:システムの許可が完了し、Home の接続スイッチがオンのままで、すぐにオフへ戻らないこと。オンにするとすぐ切れる場合は、システムの表示を記録してから、5段階目の許可と構成の確認を行ってください。スイッチがオンのままでもページを開けない場合は、ここで何度も切り替えず、実際のアクセス確認に進みます。
Connectivity Test:テスト後に実際のアクセスを確認
接続スイッチがオンのままになったら、使用予定のサーバーで Connectivity Test を実行します。テスト結果は、該当するテスト方法でサーバーから応答があるかを判断するためのもので、すべてのウェブページ、アプリ、ルールを確認できるわけではありません。同じグループに複数のサーバーがある場合は、テスト対象と Home で選択中のサーバーが同じことを確認してください。別の項目の成功結果を、現在の接続の根拠にしないでください。
続いてブラウザーを開き、普段利用していて内容を正常に更新できるページにアクセスします。基本ネットワークで通常アクセスできるページと、現在の設定でプロキシ経由になる想定のページを、それぞれ少なくとも1つ確認してください。設定(Config)では、2つのページに異なるポリシーが適用される場合があります。一時的な比較として Proxy を使う場合は、選択したサーバーで実際のリクエストが完了するかを重点的に確認します。変更前後を比較しやすいよう、テスト対象は同じものを使ってください。
すでに読み込まれたページやアプリのキャッシュだけで判断しないでください。新しいページを開くか、確認する内容を再読み込みして、新しいリクエストが実際に発生するかを見ます。ブラウザーでは正常でも特定のアプリで失敗する場合は、すぐに接続全体が失敗したと判断せず、そのアプリのリクエスト、ルール、ネットワーク動作に原因を絞ってください。逆に1つのウェブサイトだけがエラーを返す場合は、接続先サービス自体の問題も考えられるため、別のテスト先でも確認します。
経路をさらに確認する場合は、Data で関連する接続記録を確認し、接続先ドメイン、時刻、適用されたポリシーと照らし合わせます。まず明確な新しいリクエストを発生させてから該当する記録を探してください。大量の過去の記録から印象で判断しないようにします。ログにはドメインや個人的なアクセス情報が含まれる場合があります。調査資料を共有する前に機密情報を取り除き、記録全体をそのまま公開しないでください。
Connectivity Test が応答しなくてもウェブページを開ける場合は、テストとページアクセスで同じサーバー、同じ経路を使っているか確認してください。結果だけを根拠にすべての項目を削除しないでください。逆にテストで応答があってもページを開けない場合、経路が正常とは限りません。DNS、TLS、ルールの適用、接続先の状態が原因で失敗することがあります。初期応答、システムの接続状態、エンドツーエンドのアクセスは分けて記録します。
この段階の完了条件:新しいリクエストで実際のページを確認し、結果が現在の Global Routing の想定と一致していること。サーバー確認のために一時的に Proxy へ変更した場合は、元の設定(Config)に戻し、同じ接続先を再確認できます。設定を戻した後の結果も想定どおりであれば、通常のルーティング設定は完了です。
接続できない場合:一度に1つの項目を確認
接続に失敗したら、まず現在のサーバー、Global Routing、設定ファイル、使用中のネットワークを記録し、以下の順番で確認します。サーバーの変更、DNSの変更、ルールの更新、アプリの再インストールを同時に行わないでください。復旧しても、どの操作が有効だったのか分からなくなります。項目を1つ変更するごとに再接続し、4段階目で使った同じページを再確認します。元に戻せる設定は残してください。
基本ネットワークとサーバー情報を先に確認
Shadowrocket の接続を切り、端末が現在の Wi-Fi または Cellular を正常に使えるか確認します。ウェブログインが必要な Wi-Fi は、先にネットワークへログインしてください。基本ネットワークに接続できない場合は、まずネットワークへの接続を解決します。次に Home に戻り、選択した項目とSubscribeの更新状態、サーバー情報が有効かを確認します。手動で追加した項目は、メモの名前だけでなく、プロトコル、アドレス、ポート、認証情報、TLS関連の項目を照合してください。
同じSubscribe内の一部の項目だけ失敗し、他の既存項目が正常な場合は、失敗した項目を比較用に残し、動作確認済みの項目を一時的に選択します。すべて失敗する場合は、元の情報提供元に連絡して情報の状態を確認してください。Subscribe URLを開ける、または更新できることは、一覧取得が完了したことを示すだけで、一覧内のすべてのサーバーに接続できるとは限りません。
次に Global Routing と Config を確認
Global Routing が誤って直接接続(Direct)のままになっていないか、想定と異なる設定ファイルが選択されていないか確認します。設定(Config)で失敗する場合は、一時的にプロキシ(Proxy)へ切り替えて同じ接続先を再確認できます。Proxy ではアクセスできて Config ではできない場合は、すべてのサーバー情報をすぐに再入力するのではなく、ルールの適用状況とポリシーを優先的に確認してください。比較が終わったら元の設定へ戻し、一時的な調査状態を長期設定と取り違えないようにします。
設定内の FINAL は、それより前のルールに一致しない接続を処理します。前方にある範囲の広いルールも、接続先への経路を変える可能性があります。まず接続先に実際に適用されたルールを確認してから、変更するか判断してください。1つのページを開くためにすべてのルールを削除しないでください。ルールの順番と照合方法は用語集で確認できます。Subscribe項目の整理とバックアップについては、サーバー管理マニュアルをご覧ください。
最後にDNSとシステムの接続状態を確認
サーバーから応答があるのにドメインへのリクエストが継続して失敗する場合は、現在の設定にある DNS を確認します。まず以前から動作が確認できている設定に戻し、設定ファイルでDNSの動作が追加指定されていないか確かめてください。「名前解決に失敗」と表示されたからといって、知らないアドレスをむやみに入力しないでください。DNSリクエストが通る経路と接続先への通信に適用されるポリシーは、現在の設定に照らして判断する必要があります。アドレスを1つ変更するだけでは解決しない場合があります。
ウェブページが開かないのではなく接続スイッチがオンのままにならない場合は、3段階目に戻り、システムのVPN許可、既存の接続、端末管理による制限を確認してください。「接続済みなのにアクセスできない」状態をさらに調べる場合は、サーバー、Global Routing、DNS、ルールを順に確認する方法をご覧ください。問題を説明する際は、失敗した段階、現在のモード、機密情報を除いたエラー表示を伝えてください。Subscribeの認証情報やパスワードは含めないでください。
最後の確認:不要になった一時的な変更を元に戻し、使用中のサーバーと設定を残して、実際のアクセスをもう一度確認します。Subscribeやサーバーだけを変更した場合は1段階目から確認できます。ルールだけを変更した場合は、2段階目と4段階目を再確認すればよく、完了済みのシステム許可を繰り返す必要はありません。