接続状態
スイッチがオンの状態を維持している場合、ローカルの接続状態が変化しています。実際のリクエストによる確認も必要です。
公式マニュアル · 初期設定
iPhone / iPadの画面を例に、「追加 → モード → 接続 → 確認 → トラブル対応」の順で基本設定を進めます。各手順の結果を確認してから、次に進んでください。
設定の追加から始める操作の流れ
手元の情報を追加する
まず、手元の情報がサブスクリプションリンク、サーバー共有リンク、または個別に記載されたサーバーパラメーターのどれにあたるかを確認します。サブスクリプションリンクでは複数の項目を取得でき、手動設定のパラメーターは一つのサーバー情報を表します。追加画面は似ていますが、同じ方法で入力することはできません。Shadowrocketを開き、HomeのSERVERグループ付近にあるAdd Server、または画面上の追加項目を選びます。Typeを確認し、サブスクリプションリンク全体をHostに貼り付けないでください。
Add ServerでTypeを開き、Subscribeを選択して、ユーザーがすでに持っているサブスクリプションリンク全体を該当するURLフィールドに入力します。コピー時は疑問符以降のパラメーターも残してください。メッセージ内の引用符、空白、改行を混ぜないようにします。リンクが途中で切れている場合は、推測で補わず、元の配布元からコピーし直してください。備考は情報の識別に使うもので、区別しやすい名前を付けられます。認証情報を備考に入力しないでください。
保存後にHomeへ戻り、サブスクリプションを更新して一覧が読み込まれるまで待ちます。取得に成功すると、サブスクリプション名だけでなく、サーバー項目が表示されます。名前だけが表示されて項目が展開されない場合は、まず更新が完了したかを確認し、問題の切り分けに進んでください。サブスクリプションの更新で項目が追加・削除されることがあるため、更新後は選択中のサーバーが残っているかも確認します。
手動で追加する場合は、情報に基づいてShadowsocks、VMess、VLESS、TrojanなどのTypeを選び、Host、Port、および選択したTypeに表示される認証フィールドを一つずつ確認します。公式スクリーンショットは一例のフィールド構成です。すべてのプロトコルにPasswordとMethodが表示されるわけではなく、あるプロトコルのパラメーターを別のプロトコルに流用することもできません。TLS、トランスポート方式、その他の追加フィールドは、手元のサーバー情報に従ってください。不明なフィールドをむやみに切り替えないでください。
QRコードがある場合はScan QR Codeで取り込み、読み取り後にTypeと接続先を確認します。Import from Cloud JSONは別の取り込み方法で、対応する情報がすでにある場合に限り使用します。一般的なサブスクリプション入力欄として使わないでください。サーバー共有リンクも適切な取り込み方法で処理し、推測したパラメーターに分解しないでください。保存前にPort、認証情報、空白を再確認し、保存後にHomeへ戻って使用する項目を選択します。
この手順の完了条件:Homeに選択可能なサーバーがあり、現在どの項目を選んでいるか明確に把握できていることです。まだ接続スイッチをオンにする必要はありません。次に、リクエストをルールで振り分けるか、一律に処理するかを決めます。サブスクリプションリンクにはアクセス情報が含まれる場合があります。スクリーンショットや診断記録を共有する前に、リンク全体と認証フィールドを隠してください。
リクエストの処理方法を決める
Homeに戻り、Global Routingを開きます。ここではConfig / Proxy / Directの3つのモードを選択できます。これらはリクエストの処理方法を決めるもので、サーバープロトコルの種類ではありません。サーバーの選択は「どの既存接続情報を使うか」、Global Routingの選択は「リクエストをどう処理するか」を決めるため、別々に確認する必要があります。
ドメインやIPなどのルールに基づいて通信経路を決める場合はConfigを選び、次にConfigで現在有効な設定ファイルを確認します。サブスクリプションの取り込みは通常サーバー一覧の管理に使われ、ルール設定も完了したことを意味するわけではありません。使用中の設定を開き、General、Ruleなどのセクションを確認します。複数のファイルがある場合は、編集前に選択中のファイルを確認してください。別のファイルを変更したために反映されない、という事態を避けられます。
Rule内の項目は順番に照合され、最初に一致したルールが後続のポリシーを決定します。前のルールに一致しなかった場合はFINALで処理します。ルールがPROXYやポリシーグループを参照している場合は、現在の設定に該当する定義と利用可能な選択肢があることも確認してください。以下は構造の説明用の一行であり、現在のファイルとそのまま置き換えられる完全な設定ではありません。
DOMAIN-SUFFIX,example.com,PROXY
DOMAIN-SUFFIXはルールキーワード、example.comは例示用ドメイン、PROXYはポリシー参照です。ルールを追加する前に、現在の設定のコピーを保管してください。初回接続のためにHosts、URL Rewrite、HTTPS Decryptionを同時に変更しないでください。初期設定では、既存の設定が使われていることと、ルールの参照先に不足がないことを確認すれば十分です。キーワードの意味は用語集、複雑な一致条件の問題はトラブルシューティングガイドをご覧ください。
Proxyは、選択中のサーバーが実際のリクエストを処理できるか、一時的に比較する場合に適しています。Directではリクエストが直接アクセスするため、ローカルネットワークの状態を比較できます。モードを切り替えても、サーバーのパスワード誤りが修正されたり、不足している設定が自動で補われたりするわけではありません。ProxyでアクセスできてConfigでできない場合は、サーバーをすべて再追加するのではなく、まずルールとポリシー参照を確認してください。
この手順の完了条件:現在のモードと、Configで使用している設定ファイルを説明できることです。テストが終わったら、予定していたモードに戻してください。一時的なProxyやDirectを長期設定として使い、戻し忘れないようにします。
選択内容を確認してから接続
Homeに戻り、まずSERVERグループの選択項目を確認し、次にGlobal Routingを確認します。初回は一つのサーバーに固定して検証手順を進めてください。テストのたびに別のサーバーへ切り替えると、変化の原因がサーバー、モード、ローカルネットワークのどれなのか判断できません。サブスクリプションを更新した直後は、選択項目をもう一度確認してください。同じ名前の項目や、更新で削除された項目に注意が必要です。
上部にNot Connectedと表示されている場合は、接続スイッチをオンにします。初回接続時は、システムからVPN構成の追加許可と、デバイスのパスコードまたは生体認証を求められることがあります。操作が、いま開いたShadowrocketから開始されたことを確認してから、システムの案内に従って許可してください。許可を取り消した場合は、アプリに戻って再度開始できます。システムの確認画面を処理する前に、スイッチを続けて押さないでください。
許可後、状態が更新されるまで待ちます。スイッチがオンになり、アプリの接続状態が変わると、ローカルトンネルが確立を試みたことを示します。リモートサーバーからすべての接続先にアクセスできることや、Configのすべてのルールが正しいことを意味するわけではありません。状態が変わったら、現在のサーバーとモードを維持して、次の手順でテストしてください。スイッチがすぐにオフへ戻る場合は、Ruleを変更し続けるのではなく、まずシステムの表示を記録します。
デバイスで別のVPN接続やネットワーク拡張機能を同時に有効にしていると、今回の接続に影響する場合があります。不要なVPNセッションを終了してからShadowrocketに戻り、再現可能な接続テストを一度行います。管理対象デバイスでVPNの追加が制限されている場合は、デバイス管理ポリシーを確認するか管理者にお問い合わせください。用途が不明な構成プロファイルを何度も削除しないでください。
手動で切断するにはHomeに戻り、スイッチをオフにします。オフにしても自動接続される場合は、SettingsでOn Demandの有効状態とトリガー条件を確認します。自動接続の原因を把握してから、一時的に機能をオフにするか判断してください。この手順の完了条件:スイッチの状態が維持され、現在のサーバーとGlobal Routingを記録できていることです。その後、実際のリクエストで確認します。
テスト結果と実際の利用を分けて確認
接続後、まずHomeでConnectivity Testを実行し、使用するサーバーが現在のテスト方法でテストを完了できるか確認します。この結果が示すのはテスト条件下での接続性であり、通信速度の測定ではありません。また、すべてのWebサイト、プロトコル、アプリが使えることを証明するものでもありません。似た名前の項目が複数ある場合は、一覧内の別の項目ではなく、現在選択中の項目に対応する結果か確認してください。
次にブラウザーを開き、普段使用していて結果を判別しやすいページにアクセスし、リクエストをもう一度実行します。すでに読み込まれたページやローカルキャッシュだけを見ないでください。ページを更新し、「表示できる」「読み込みに時間がかかる」「名前解決に失敗する」など、具体的な状態を記録します。普段使う別のアプリも確認し、一つのアプリだけの問題なのか、すべてのリクエストが失敗するのかを切り分けます。ページが表示されたとしても、そのリクエストがProxy経由とは限りません。ConfigによってDIRECTに振り分けられている場合があります。
ルールによる振り分けを確認するには、まず対象がどのルールに一致するはずかを確認し、アプリ内で利用できるリクエスト記録や診断情報を確認します。システムのVPN表示だけを見るより、ドメイン、一致した項目、ポリシーの選択を確認する方が有用です。対象ドメインが別のドメインへリダイレクトされる場合、最初のアドレスと後続のリクエストで一致するルールが異なることがあります。その場合は、実際のリクエストドメインを記録し、広範囲に適用されるルールを一度に大量追加しないでください。
Configで失敗する場合は、同じサーバーのまま一時的にProxyへ切り替え、同じリクエストを再実行します。Proxyで成功しConfigで失敗する場合は、ルール、ポリシーグループの選択、関連するDNS設定を確認します。Directで成功しProxyで失敗する場合は、サーバー接続情報とリモート側の利用可否を優先して確認してください。比較時はモードだけを一度に変更し、ネットワーク、サーバー、DNSを同時に切り替えないようにします。そうしないと結果を判断しにくくなります。
この手順の完了条件:サーバーのテストと実際のアクセスを少なくとも一度ずつ行い、それぞれの結果から分かることを把握できていることです。記録後、予定していたGlobal Routingに戻します。期待した結果にならない場合は、具体的な失敗箇所を次の手順で確認してください。すべての設定を最初から消す必要はありません。
スイッチがオンの状態を維持している場合、ローカルの接続状態が変化しています。実際のリクエストによる確認も必要です。
Connectivity Testで確認できるのはテスト条件下の接続性です。ルールの動作は、一致した項目とポリシーも確認してください。
最初に失敗した箇所から確認
トラブル対応は「サブスクリプションを取得できるか → サーバーをテストできるか → VPN接続を維持できるか → 実際のリクエストを完了できるか」の順に進めます。最初に失敗した箇所を解決してから、次へ進んでください。SettingsにはTest Method、On Demand、Diagnosticsなどの項目があります。本ページでは初回接続に必要な確認を扱い、Proxy、TCP、UDPのすべての設定変更を求めるものではありません。
まず、ダウンロードに失敗したのか、読み込み後に項目が表示されないのかを切り分けます。ダウンロードに失敗する場合は、通常のページにアクセスできるか、サブスクリプションリンクが完全か、既存の認証情報がまだ有効かを確認します。ダウンロードできても一覧が空の場合は、リンク先が対応するサブスクリプション内容を返しているか、ログインページやエラー説明が返されていないかを確認してください。公開ページにリンク全体を貼り付けて相談しないでください。元の情報の提供元に確認する場合は、必要なエラーメッセージのみを送り、スクリーンショットでは認証情報を隠してください。
SettingsでTest Methodを確認し、現在のテスト条件を把握してからHomeに戻り、同じ項目を再テストします。タイムアウトの原因はテスト方法、サーバーアドレス、Port、利用中のネットワークなどが考えられます。一度の結果だけで設定全体が無効だと判断しないでください。手動で追加した項目はType、Host、Port、認証フィールドを再確認します。サブスクリプション項目の場合は、まず更新してから選択が変わっていないか確認します。別のネットワークでテストする場合は、その変更を分けて記録します。
スイッチがすぐにオフになる場合は、システムのVPN許可、他のVPNセッション、デバイス管理による制限を確認します。スイッチをオンのまま維持できてもアクセスに失敗する場合は、前のセクションの手順でConfig、Proxy、Directを比較し、サーバー、ルール、DNSのどれを確認するか判断します。ドメインを開けないからといって、すべてのDNS設定をすぐ変更しないでください。エラーがドメインリクエストだけで発生するか、ルールやポリシー参照に不一致がないかを確認します。
スイッチをオフにしても自動再接続する場合は、On Demandのトリガー条件を確認します。一部のアプリだけで問題がある場合は、以前のセッションを使い続けているのではなく、アプリが接続を再確立したかを確認してください。診断が必要な場合はDiagnosticsを開き、失敗時の操作、選択したモード、エラー情報を記録します。診断記録には接続先のドメイン、サーバーアドレス、認証関連情報が含まれる場合があります。共有前に内容を確認し、機密情報を隠してください。
一度に変更する設定は一つにし、同じ接続先を再テストします。改善しない場合は元の値に戻し、一時的な変更を積み重ねて別の問題を生まないようにしてください。成功したら現在使える設定のコピーを保存し、高度な機能は一つずつ追加します。症状別の手順はトラブルシューティングガイド、購入や復元に関する問題はよくある質問、プロトコルやルールの用語は用語集をご覧ください。初期設定はここまでで完了です。すべての機能を同時に設定する必要はありません。