Shadowrocket 使い方ガイド:
追加・接続・動作確認
iPhone・iPadの画面を例に、5つの手順で既存のサブスクリプションまたはサーバー情報を追加し、接続とルールが想定どおり動作するかを確認します。初回設定ではまず接続を一つ確立し、ほかの設定は確認後に調整します。
操作の前に情報の種類を確認してください。サブスクリプションURLは複数のサーバー情報を取得するためのものです。個別のサーバーURL、QRコード、パラメーター表は特定のサーバーを追加するために使います。ルール設定は通信の処理方法を決めます。いずれもリンクだからといって、同じ入力欄に登録できるわけではありません。
サーバーの追加 / サブスクリプションの読み込み
Shadowrocketを開き、Homeに進みます。初回は接続スイッチをオンにせず、右上のプラスボタンからAdd Serverを開いてください。手元の情報に合った追加方法を一つ選べばよく、同じ情報を重複して読み込む必要はありません。サブスクリプション、個別サーバー、設定ファイルはそれぞれ役割が異なります。何度も保存を試すより、適切な追加先を選ぶことが大切です。
サブスクリプションURLがある場合:Subscribeを選択
- Add ServerでTypeを開き、Subscribeを選択して入力画面に戻ります。
- URLにサービス提供元から取得した完全なサブスクリプションURLを貼り付けます。Remarksには識別しやすい名前を入力できます。パスワードやURL内の機密情報は名前に含めないでください。
- URLの前後に空白、改行、チャットの文章が混ざっていないか確認してから、右上の保存をタップします。Homeに戻って内容が読み込まれるのを待ちます。取得できない場合は、そのサブスクリプションを更新してください。
- サブスクリプションのグループを展開し、サーバー項目が表示されていることを確認してから、今回接続に使う項目を選択します。
サブスクリプションURLには個人のアクセス認証情報が含まれることがあるため、機密情報として扱ってください。コピーする際は、画面に短縮表示された文字列ではなく完全なURLをコピーします。不明な解析ページにURLを入力しないでください。読み込み後にグループ名しか表示されず、サーバーがない場合は、利用可能な項目の取得が完了していません。接続スイッチをオンにしても不足情報は補えないため、サブスクリプションの内容と更新結果を確認してください。
個別のサーバー情報がある場合:Add Serverに入力
サーバーアドレス、ポート、認証パラメーターがある場合は、Typeで情報に記載されたプロトコル(Shadowsocks、VMess、VLESS、Trojanなど)を選び、各項目を入力します。アドレス欄にはホスト名またはIPアドレスを、ポート欄にはポート番号を入力します。共有URL全体をアドレスとして入力しないでください。認証情報、トランスポート方式、TLS関連の項目は元の情報に合わせます。プロトコル名が同じでも、別のサーバーの設定をそのまま流用しないでください。
トランスポートパス、ホスト名、サーバー名が指定されている場合は、該当する欄に入力します。各オプションを有効にするかどうかは、サーバーの実際の設定に従ってください。ガイドにその言葉が出てくるかどうかで決めるものではありません。保存してHomeに戻り、追加した項目を選択します。パラメーターを修正する場合は項目の編集画面を開き、似た名前の項目を複数作って選択を間違えないようにしてください。
QRコードがある場合は、Scan QR Codeで読み取り、認識されたプロトコルとパラメーターを確認してから保存します。どの方法でも、この手順の完了条件は同じです。Homeにサーバー項目があり、今回使う項目が選択されていることを確認してください。プロトコル項目が分からない場合は、用語ガイドを確認し、無作為にオプションを切り替えて試さないでください。
Global Routingのモードを選択
サーバーを追加した後は、どの通信にそのサーバーを使うか決める必要があります。HomeでGlobal Routingを開くと、Config、Proxy、Directの3つのモードが表示されます。ここで選ぶのは通信の処理方法です。サーバーを選び直す操作ではなく、前の段階で入力したアドレスや認証情報の誤りを自動修正するものでもありません。
| モード | 機能と用途 |
|---|---|
| Config | 現在の設定にあるルールに従って通信を振り分けます。通信はプロキシ、直接接続、その他の設定ポリシーを利用できます。日常的にルールに従って通信を処理する場合に適しています。 |
| Proxy | プロキシ可能な通信を選択したプロキシポリシーに渡します。一時的な比較テストに適していますが、Config内のすべてのルールが正しいことを確認する方法にはなりません。 |
| Direct | 選択したプロキシサーバーを経由せず、直接接続します。元のネットワークでのアクセス状況の確認に適していますが、プロキシサーバーの動作確認には適しません。 |
普段ルールに従って使う場合はConfigを選び、画面下部のConfigを開いて、使用する設定が有効になっていることを確認してください。Config画面とGlobal Routing内の同名オプションは連動していますが、同じ操作場所ではありません。前者は設定ファイルを管理し、後者は設定に従って通信を処理するかどうかを決めます。
「サブスクリプションの読み込みに成功した」ことは、「ルール設定も完了した」ことを意味しません。サブスクリプションは主にサーバー情報を更新し、設定ファイルはルール、ポリシー、関連設定を定義します。現在の設定のルールは通常、順番に照合されます。ドメインが先にDirectルールに一致すれば、サーバーを選択済みでも、その通信がプロキシを経由しないことがあります。そのため、後の確認では、すべてのページが同じ動作をするかではなく、ルールの適用結果も確認してください。
最初の接続では、用途を理解している既存の設定をそのまま使い、DNS、複雑なポリシーグループ、複数のルールを同時に変更しないでください。DOMAIN-SUFFIX、GEOIP、FINALなどのキーワードについて詳しく知りたい場合は、プロキシモードの解説を参照してください。まず「サーバーが選択済みで、Global Routingを確認済み」という基本状態にしてから、接続に進みます。
Homeで接続スイッチをオンにする
Homeに戻り、サーバー一覧で選択中の項目が変わっていないことと、Global Routingが先ほど設定したモードになっていることを確認します。その後、画面上部の接続スイッチをオンにします。初回はiPhone・iPadにVPN構成を追加するシステムの確認が表示されます。内容を読んで許可し、システムの指示に従ってデバイスのパスコードまたは生体認証で確認を完了してください。ここで求められるのはデバイスの許可であり、サーバーのパスワードではありません。
- Shadowrocketを前面に表示したまま接続スイッチをオンにし、システムの確認が表示されるまで待ちます。
- システムの許可後にアプリへ戻り、スイッチがオンのままか、アプリに接続済みの状態が表示されているか確認します。
- 以前に許可を取り消した場合は、もう一度接続を試し、表示された確認を完了します。デバイスが管理対象でVPN構成の追加を制限されている場合は、デバイス管理のルールを確認してください。
- 接続後はサーバーとモードを変更せず、次の手順でテストします。追加の自動接続設定はまだ有効にしないでください。
システムにVPNの状態が表示されても、デバイスでネットワーク構成が有効になったことを示すだけで、リモートサーバーへのアクセスや、すべての通信がプロキシ経由になることを保証するものではありません。スイッチがオンでも、サーバー認証の失敗、リモート接続不可、ルールによるDirectへの振り分けが起こる場合があります。この手順では許可とローカルの接続状態を確認します。実際に使えるかどうかは、次のテストとアクセス確認を合わせて判断してください。
スイッチをオンにしてすぐオフに戻る場合は、まずアプリに表示されたメッセージを記録し、システムの許可、現在の設定の有効性、ほかのVPN接続がネットワークを使用していないかを確認してください。スイッチを何度も素早く切り替えず、切り替え後は状態が変わるまで待ちます。管理対象デバイスでは、用途が分からない管理設定を自分で削除せず、デバイスの利用要件を確認してください。
On Demandは条件に応じて接続する機能で、初回接続に必須ではありません。まず手動接続で正常に使えることを確認してから、必要に応じてオンデマンド接続を設定してください。初回の確認中に自動再接続の条件を追加すると、確認中に接続が自動で復旧し、変化が手動操作によるものか自動起動によるものか分かりにくくなることがあります。
Connectivity Testと動作確認
Homeに戻り、Connectivity Testで一覧のサーバーをテストします。選択中のサーバーから結果が返るか、タイムアウトや失敗になるかを確認してください。テストは現在のネットワーク環境での応答を判断する参考になりますが、テストに応答があっても、認証、ルール、DNS、すべての接続先が正常とは限りません。一度のタイムアウトだけでパラメーターの誤りと断定することもできません。
次にブラウザーを開き、確認したいページにアクセスして、読み込みが完了するまで待ってから再読み込みします。すでに開いているページだけで判断しないでください。キャッシュされたページや、切り替え前の処理が続いている接続の可能性があります。確認の妨げを減らすため、今回は明確な対象を少数だけテストします。Wi-Fi、サーバー、モード、ブラウザー設定を同時に変えると、違いが出たときに原因を特定しにくくなります。
Configの振り分けを確認する場合は、Dataを開き、該当する接続ログで対象ドメイン、適用されたルール、最終的に使われたポリシーを確認します。必要な情報がログに表示されない場合は、テスト前に関連するログ機能が有効か確認し、リクエストを再実行してください。ページが開いてもログにDirectと表示されている場合、確認できるのは今回の直接接続が成功したことだけです。選択したプロキシサーバーが通信を中継した証拠にはなりません。
比較する場合は、Configでの結果を記録してから一時的にProxyへ切り替え、同じ対象へのリクエストを新しく発行して動作を比べます。確認後は、元のモードに戻してください。Proxyでは使えてConfigで問題が起きる場合は、サーバーを削除して再追加する前に、ルールの適用状況と設定内のポリシーを確認します。どちらのモードでも失敗する場合は、まずネットワークとサーバーのパラメーターを確認してください。
確認が終わったら、使用したサーバー、ネットワーク、Global Routingのモード、成功または失敗した対象を簡潔に記録しておくと便利です。後で問題が起きた場合は、最初からすべての設定を変更するより、確認済みの状態と比較するほうが変更箇所を見つけやすくなります。
よくある問題と確認の順序
問題が起きたら、読み込み、テスト、許可、実際のアクセスのどの段階で失敗したかを確認します。前の段階が完了していない場合は、まずその問題を解決してください。たとえば一覧が空のままなら、Global Routingを変更する必要はありません。変更する条件は一度に一つにし、同じテストを再実行して結果を記録してから、変更を保持するか判断します。
サブスクリプションを読み込めない、または更新後に一覧が空になる
コピーした内容が完全なサブスクリプションURLか、クエリーパラメーターの欠落、チャットアプリによる切り詰め、余分な句読点がないかを確認します。次に、現在のネットワークからサブスクリプションの内容を取得できるか、自分のサービスが有効かを確認してください。ブラウザーで開けるアカウント管理ページが、読み込み可能なサブスクリプションとは限りません。ログインページやエラーメッセージが返される場合、アプリはそれをサーバー一覧として扱えません。情報の種類が分からない場合は、URLの用途をサービス提供元に確認してください。
更新に失敗しても、すぐに既存のサブスクリプションを削除しないでください。古い項目が残っているか確認し、エラーを示すメッセージを保存します。同じサブスクリプションを何度も追加しても、グループが重複するだけで、元のURLから誤った内容が返る問題は解決しません。サブスクリプションが正常に戻った後で再度更新し、新しいサーバー項目が読み込まれたことを確認してください。
サーバーが表示されるがConnectivity Testがタイムアウトする
まずプロキシに接続していない状態で、ローカルネットワーク自体が使えることを確認し、サーバーアドレス、ポート、プロトコルを照合します。手動で追加した項目では、認証情報が完全か、TLS、トランスポート方式、関連する名前が元の情報と一致しているかを特に確認してください。サブスクリプション内に使用可能な別の項目がある場合は、ネットワークとテスト方法を変えずにそちらも試すことで、個別サーバーの問題とネットワーク全体の問題を切り分けられます。
テストのタイムアウトは、リモート側の状態、ネットワーク経路、テスト対象などが原因の場合があります。一度の結果だけで結論を出さないでください。少し時間をおいて再試行するか、可能な場合はローカルネットワークを切り替えて比較します。必要なセキュリティ確認を無効にする方法を、一般的な解決策として使わないでください。
接続はオンだがページを正常に開けない
まず誤ってDirectを選んでいないか確認し、次にConfigで有効になっている設定が想定どおりか確認します。一部の対象だけに問題がある場合は、その対象にどのルールが適用され、どのポリシーに振り分けられているかを確認してください。ドメインへのアクセスだけが失敗し、ほかの接続に問題がない場合は、現在の設定のDNSを確認します。最初からすべてのDNSアドレスを一度に変更すると、もともと使えていた条件を失う可能性があります。
同じ対象がProxyでは使えてConfigでは失敗する場合は、ルールとポリシーを確認してください。すべての対象で問題が起きる場合は、サーバーの状態と接続許可を確認します。特定のブラウザーやアプリだけに問題がある場合は、そのアプリでのみ発生するかも確認してください。アプリ自体のログイン、キャッシュ、権限の問題をすべてプロキシ接続の問題と決めつけないようにします。
修正後にもう一度動作を確認する
パラメーターを変更して保存したら、必要に応じて切断してから再接続し、新しい設定でリクエストが行われるようにします。続けてConnectivity Testを実行し、以前に失敗した対象に再度アクセスして、最後にログのポリシーを確認してください。エラーが一時的に消えただけで確認を終わらせないでください。以前失敗した状況も改善して初めて、変更が有効だったと判断できます。
問題を特定できない場合は、デバイスのOS、使用中のネットワーク、失敗した手順、機密情報を除いたメッセージを整理して、よくある質問を確認してください。画面上の用語やルールの意味は用語ガイドを、iPhone・iPadのストア地域、購入、購入済み項目の復元についてはApp Storeガイドを参照してください。これらはサーバーパラメーターとは別の問題なので、分けて確認します。