Shadowrocket クイックスタート
iPhone / iPad の画面を例に、既存の設定を追加し、Global Routing を選択して接続と動作確認を行います。初回はまず接続を確立し、その後にルールや自動接続の条件を調整してください。
手順:まず1~4を順に進めます。エラーが発生した場合は、どの段階で起きたかを記録してから5へ進んでください。画面画像は操作箇所の確認用です。項目は選択した Type やアプリの画面によって異なります。
Add Server:追加とインポート
サブスクリプションリンクと個別サーバー情報は別々の入力方法です。手元の情報に合う方法を選んでください。
サブスクリプションリンクがある場合:Subscribe を使用
Shadowrocket の Home を開き、Add Server を選びます。画面上の追加メニューからも開けます。画面が開いたら Type をタップし、Subscribe を選択して、自分のサブスクリプションリンク全体を該当する URL 欄に貼り付けます。この場合はサブスクリプションの Type を使います。リンク全体を個別サーバーの Host 欄に入力しないでください。識別しやすい名前をメモとして入力し、内容を確認して保存します。
保存後、サブスクリプションの取得が完了するまで待ち、Home に戻って SERVER を確認します。1つのサブスクリプションから複数のサーバー項目が作成されることがあります。該当するグループを開き、一覧に項目が表示されてから、接続に使うサーバーを選択してください。グループ名だけが表示されてサーバーが見当たらない場合は、取得が完了していないか、リンクが無効になっていないか確認します。すぐに接続スイッチをオンにしないでください。サブスクリプションを更新すると、リモートの一覧を再取得します。手動で変更した項目は、後の更新で上書きされることがあります。
サーバー情報がある場合:Type に合わせて入力
Add Server で情報に指定された Type を選び、Host、Port、Password、および現在のプロトコルに表示されるその他の項目を順に入力します。Host にはサーバーアドレスを入力し、Web ページのパスは追加しません。Port には提供されたポート番号を入力し、プロトコル名から推測しないでください。Shadowsocks の Method はサーバー側と一致させる必要があります。他のプロトコルで SNI、転送方式、認証項目が表示された場合も、元の情報に従って入力し、異なるプロトコルのパラメーターを混在させないでください。
情報が QR コードで提供されている場合は、Scan QR Code をタップし、システムの案内に従ってカメラへのアクセスを許可してから読み取ります。Import from Cloud JSON は対応する形式のデータを読み込むための機能で、任意のサブスクリプションリンクをインポートする汎用メニューではありません。インポート後も項目を開き、Type、アドレス、ポートを確認してください。サーバーのパスワード、サブスクリプションリンク全体、QR コードには認証情報が含まれている場合があります。公開ページやスクリーンショットに載せないでください。
この段階では、SERVER に識別可能な項目が表示され、そのうち1つのサーバーが選択されていることを確認します。サブスクリプションの保存が完了しても、情報が追加されたことを示すだけで、サーバーへの接続が保証されるわけではありません。次に Global Routing を選択してから接続し、モードを誤ってサーバーの可否を判断しないようにしてください。
Global Routing:モードを選択
サーバーは接続先を決め、Global Routing はリクエストがその接続をどう利用するかを決めます。
Home に戻り、Global Routing をタップします。初めて使うときは、3つのモードの違いを確認してください。Config は現在有効な設定ファイルに基づいて各リクエストのポリシーを決定します。Proxy はプロキシ経由で接続をテストする場合に使います。Direct はトラフィックを直接接続として処理します。モードを切り替えても、サーバーのパスワード、サブスクリプションの有効期限、プロトコルのパラメーターは修正されません。
普段のルールに基づく振り分けには Config を選択し、Config を開いて現在有効なファイルを確認します。サブスクリプションにサーバーが含まれていても、用途に合ったルール設定が用意されているとは限りません。Subscribe は接続情報を管理し、Config は設定ファイルを管理します。両者は代わりにはなりません。切り替える前にファイル名と内容を確認し、利用可能なファイルがある場合は、このガイドに合わせるためだけに上書きしないでください。
設定の編集画面には General、Rule、Hosts、URL Rewrite、HTTPS Decryption などのセクションがあります。ここでは Rule の順序と最後の処理ポリシーだけを確認します。初回接続のために HTTPS Decryption を有効にする必要はありません。複数のセクションを同時に変更しないでください。ルールは上から順に評価され、最初に一致したルールのポリシーが適用されます。FINAL は末尾に置き、それ以前のルールに一致しなかったリクエストを処理します。
以下はルール構文の例であり、サーバー情報でも、現在のファイルと置き換えるための完全な設定でもありません。example.com とそのサブドメインには PROXY を適用し、指定したアドレス範囲には DIRECT を適用し、それ以外のリクエストは最後の行に渡します。例のドメインは構文の説明用です。実際のリクエストを確認するには、自分がアクセスする対象と既存の設定を基準にしてください。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY
「サーバーへの接続失敗」と「ルールに一致しない状態」を切り分けたい場合は、一時的に Proxy に切り替えて同じ対象をテストし、終わったら Config に戻します。この一時的なテストだけで、通常の設定が正しいと判断しないでください。ルールの種類、対象範囲、設定ファイルの構成についてはルールリファレンスをご覧ください。このページでは初回接続に必要な確認に絞って説明しています。
Home:接続スイッチをオンにする
サーバーとモードを確認してから、システムによる VPN 構成の追加を許可します。
Home に戻り、SERVER で選択されているサーバーと Global Routing のモードを確認します。同じ名前の項目が複数ある場合は、項目を開いてアドレスとグループを確認し、先ほど確認した情報とは別のものを使わないようにしてください。初回接続時は、現在の Wi-Fi またはモバイル通信を安定させ、自動切り替えの条件は設定せずに各手順の結果を確認します。
上部の Not Connected の横にあるスイッチをタップします。初回はシステムから VPN 構成の追加を求められます。Shadowrocket の操作による要求であることを確認して許可し、デバイスの案内に従ってパスコードまたは生体認証を完了します。ここで許可するのはシステムが VPN 接続を確立するための機能であり、既存のサブスクリプションへのログインや変更は行いません。以前に許可をキャンセルした場合は、スイッチをもう一度操作し、システムの案内が再度表示されるか確認してください。
アプリに戻り、上部の状態が Not Connected から接続済みに変わっているか、スイッチがオンのままかを確認します。システムのステータスバーやコントロールセンターにも VPN の状態が表示される場合がありますが、それだけでは目的のページに想定したポリシーでアクセスできたことを証明できません。スイッチがすぐに戻る場合は、何度もすばやくタップせず、表示されたメッセージを記録してから手順5で許可と設定を確認します。
他の VPN 接続がある場合は、システム設定で現在どの構成が使われているかを確認し、別の接続状態を Shadowrocket の結果と誤認しないようにしてください。組織管理下のデバイスでは、管理ポリシーにより VPN 構成が制限されることがあります。デバイスの管理要件に従い、システム構成を繰り返し削除しないでください。接続が維持されたら、複数の設定を同時に変更せず、次の手順で実際のリクエストを確認します。
Connectivity Test:動作を確認
サーバーテスト、実際のアクセス、ルールの判定を分け、1つの状態だけで結論を出さないようにします。
サーバーをテストしてから実際の接続先にアクセス
Home で Connectivity Test を実行し、選択したサーバーが現在のテストを完了できるか確認します。Test Method によってテスト対象や方法が異なるため、テストが成功してもすべてのアプリにアクセスできるとは限りません。失敗した場合も、テスト方法を踏まえて確認する必要があります。まず成功、タイムアウト、エラーメッセージを記録し、特定の数値だけで接続全体の品質を判断しないでください。
次に、ブラウザーで実際にアクセスする必要のあるページを開き、本文、画像、または必要な機能が読み込まれるか確認します。接続が復旧したと誤認しないよう、新しいページでリクエストを行ってください。特定のアプリだけで問題が起きる場合は、同じサービスをブラウザーから開いて比較します。すべての接続先で失敗する場合は、ルールを増やすのではなく、サーバー情報、許可、現在のネットワークを確認してください。
Config のポリシーを確認
Config でページが開けても、期待したルールに一致したとは限りません。Data を開き、画面で確認できる接続記録から、対象ドメイン、時刻、利用可能なポリシー情報を照合します。記録に表示されていない詳細を推測で補わないでください。記録を確認する場合は、先に記録を開始してから新しいリクエストを行い、以前のキャッシュによる接続と今回の操作を混同しないようにします。
Proxy ではアクセスできるのに Config ではできない場合は、Rule が先に DIRECT に一致していないか、現在の設定が実際に有効か、FINAL の位置が適切かを優先して確認します。どちらのモードでも失敗する場合は、サーバーとネットワークの状況を確認します。比較が終わったら本来のモードに戻し、同じ対象に再度アクセスしてください。戻した後も正常にアクセスできて初めて、一連の確認が完了します。
Settings:問題の原因を確認
一度に変更する項目は1つにし、同じ接続先で再テストします。変更前の設定も保存してください。
項目が表示されない、または接続スイッチが維持されない
追加後に SERVER が空の場合は Subscribe に戻り、リンク全体を確認します。コピー時に空白、改行、説明文が含まれていないか確認してください。ブラウザーでリンクを開けても、認識可能なサブスクリプション情報が返されるとは限りません。ログイン画面や案内ページが表示される場合は、元の情報の提供元に確認してください。同じリンクを複数の Type に繰り返し入力したり、第三者にテストを依頼するために公開したりしないでください。
スイッチがオンの状態を維持できない場合は、システムのメッセージを読み、VPN 構成の追加が許可されているか、他の接続が現在使われていないかを確認します。スイッチをオンにできてもすぐにアクセスできなくなる場合は、サーバーの Type、Host、Port、認証項目を確認してください。Host にドメイン名を使っている場合は、現在のネットワークで名前解決が正常に行われるかも確認します。プロトコルのパラメーターが不足している場合は元の情報を補う必要があります。テスト方法を変更しても、パスワードや転送設定の不足は補えません。
テストが失敗する、または一部の接続先だけ失敗する
Settings を開いて Test Method を確認し、現在どのテスト方法が使われているかを把握します。変更した場合は、同じネットワークで Connectivity Test を再実行してください。異なるテスト方法の結果をそのまま比較しないでください。自分の Wi-Fi とモバイル通信でそれぞれ再テストし、接続中のネットワークが影響しているかを切り分けます。ネットワークの切り替えは原因を調べるためのものであり、すべてのネットワークでサーバーが利用できることを保証するものではありません。
一部の接続先だけが失敗する場合は、手順4の Proxy と Config の比較を行い、ルールの順序やドメイン名前解決に関連する設定を確認します。HTTPS ページで証明書の警告が表示された場合は、システムの警告を無視したり、初回接続を完了するために HTTPS Decryption をむやみに有効にしたりしないでください。不要な変更を元に戻し、デバイスの時刻、接続先サービスの状態、元の設定の用途を確認してから、原因の特定を続けます。
自動接続と Diagnostics
接続が自動的に再開する場合や、ネットワーク切り替え後に動作が変わる場合は、Settings で On Demand を確認します。条件に応じて接続を開始する機能のため、手動で切断した後の動作が想定と異なることがあります。基本的な接続が安定するまでは既存の条件を記録し、用途を確認したうえで、テスト中は関連する自動接続条件を一時的に無効にします。条件を戻す場合も1つずつ確認し、Wi-Fi と Cellular の条件を同時に変更しないでください。
さらに原因を調べる場合は、Settings の Diagnostics を使用し、発生時刻、ネットワークの種類、現在のモード、エラーの原文を記録します。診断情報を共有する前に、サーバーアドレス、サブスクリプションリンク、パスワード、その他の認証情報が含まれていないか確認し、必要に応じて機密情報を隠してください。ルールの書き方と設定の優先順位についてはルールと設定のリファレンスをご覧ください。再操作する場合は追加とインポートに戻り、同じ順序で再テストします。