Shadowrocket 使い方
既存のサブスクリプションまたはサーバー情報から始め、追加、モード選択、接続、確認の順に進めます。まず接続を一つ確立してから、ルールやオンデマンド接続の設定を調整しましょう。
操作の順序:まず入力情報がそろっていることを確認し、処理方法を選びます。接続スイッチをオンにした後は、実際のリクエストも確認してください。サブスクリプションと設定ファイルは別のものです。ファイル名だけで読み込み先を判断しないでください。
Add Server:サーバーの追加とサブスクリプションの読み込み
手動入力とサブスクリプションの読み込みは、どちらか一方を選びます。読み込みが完了したかどうかは、リンクが保存されただけでなく、HomeのSERVERに選択可能なサーバーが表示されるかで確認します。
手動で追加:Typeに応じて必要な項目を入力
ShadowrocketのHomeを開き、SERVER欄にあるAdd Serverをタップします。まずTypeをタップし、サーバー情報に指定されたプロトコルを選択してから、HostとPortを入力します。Hostには提供されたサーバーアドレスを入力してください。サブスクリプションリンク全体を貼り付けてはいけません。Portには対応するポート番号のみを入力し、説明文は加えません。プロトコルを選ぶと対応する認証項目が表示されます。入力が必須かどうかはプロトコルとサーバー設定によって異なります。
たとえばShadowsocksを選択した場合は、手元の情報に従ってPasswordとMethodを入力します。名前が似ているという理由だけで暗号化方式を選ばないでください。VMess、VLESS、Trojan、Hysteria2を使う場合は、対応する識別情報、TLS、トランスポートのパラメーターも確認します。あるプロトコルの設定を別のプロトコルに流用しないでください。サービス提供元から必要な項目が提示されていない場合は、適当な値を試すのではなく、情報を確認してください。見分けやすいメモは入力できますが、実際のアドレスや認証情報の代わりにはなりません。
入力内容を確認したら保存してHomeに戻ります。SERVERに追加した項目が表示され、名前が想定どおりであることを確認してからサーバーを選択します。この時点で完了したのは情報の登録であり、サーバーが利用できると判断することはできません。読み取り可能なサーバーのQRコードがある場合は、Add ServerのScan QR Codeから読み込めます。読み込み後も項目を開き、Type、Host、Portなどを確認してください。スキャンに成功しても接続成功とは限りません。
Subscribe:手元のサブスクリプションを読み込む
サブスクリプションリンクがある場合は、Add ServerでSubscribeを選び、画面の項目に完全なリンクと見分けやすいメモを入力して保存します。コピーする際は既存のクエリパラメーターを残し、チャットの文言、改行、リンクを囲む引用符を取り除いてください。アクセス情報を含むサブスクリプションリンクは機密情報です。公開コメントや公開スクリーンショットに載せないでください。サポートを求めるときはエラーの状況だけを伝え、リンク内の機密部分を隠してください。
Homeに戻り、サブスクリプションの読み込みを待ちます。必要に応じて該当項目から更新してください。成功すると、そのサブスクリプションから生成されたサーバー項目が表示されます。サブスクリプション名だけが表示され、サーバーがない場合は、まず取得時のエラーを確認し、リンクの応答がShadowrocketで読み取れるサブスクリプション形式であるか、ログインページや通常のWebページではないかを確認します。一度失敗しただけで同じ名前の項目を何度も作ると、後で誤った項目を選ぶ原因になります。
サブスクリプションの更新は、リモートのサーバー情報を同期するためのもので、ルール設定の読み込みとは異なります。また、サブスクリプション項目に加えたローカル変更が保持されるとは限りません。必要な情報がそろったサーバーを一つ選び、次の手順に進みます。更新の失敗、内容の変更、重複項目への詳しい対処はよくある質問をご覧ください。設定ファイルの構造は設定項目リファレンスで説明しています。この手順ではルールを変更しません。
Global Routing:Config・Proxy・Direct
サーバー項目では接続先を選び、Global Routingではリクエストの処理方法を選びます。それぞれ別に確認してください。
追加後にHomeへ戻り、Global Routingをタップして現在の選択状態を確認します。よく使われる選択肢はConfig、Proxy、Directです。まずチェックされている項目を確認し、変更するか判断してください。接続に失敗したからといって、複数のモードを続けて切り替えないでください。どの変更が結果に影響したか分かりにくくなります。
Config:現在の設定に基づいてルールを適用
Configを選ぶと、有効な設定内のルールに従ってリクエストが処理されます。Configを開き、現在どの設定ファイルを使っているか確認してから、該当する内容のRuleを確認してください。設定ファイルが一覧にあるだけでは、有効になっているとは限りません。別のファイルを編集しても、現在の接続で使われるルールが自動的に変わるわけではありません。初めて使う場合は、まず現在のファイルが想定どおりか確認してください。General、Ruleなど、すべての項目を一度に変更する必要はありません。
Ruleは通常、上から順に確認され、該当するルールが見つかると指定されたポリシーが適用されます。たとえばDOMAIN-SUFFIX,example.com,PROXYは指定したドメインのサフィックスにPROXYを適用し、IP-CIDR,192.168.0.0/16,DIRECTは該当するアドレス範囲を照合します。末尾のFINAL,PROXYは、それ以前のルールに一致しなかったリクエストの処理方法を指定します。これらは構文例です。使用中の既存ルール全体をそのまま置き換えないでください。
PROXY、DIRECT、REJECTはポリシーのキーワードです。日本語の意味から類推して任意に置き換えないでください。ルールを確認する際は、対応するポリシーやポリシーグループが存在し、選択先が意図どおりであることも確認します。ルール種別、DNS解決、マッチ条件の関係など、詳しい記述方法はRuleとルールの順序をご覧ください。このガイドでは、まず現在のファイルと実際のポリシーを確認します。
ProxyとDirect:接続経路を比較
Proxyを選ぶと、選択中のプロキシ経路が正常かどうかを確認できます。複雑なルールを同時に検証せず、経路を切り分けるのに役立ちます。Directは直接接続の状況を確認するためのもので、選択中のプロキシサーバーが利用可能であることの証明にはなりません。Proxyでは正常でConfigでは特定のアクセス先に問題がある場合、すべてのサーバー情報を入力し直すのではなく、そのアクセス先に適用されたルールとポリシーを優先して確認してください。
モードを選んだらHomeに戻り、Global Routingの表示と、SERVERで現在選択中のサーバーをもう一度確認します。比較テストが終わったら、継続して使う予定のモードに戻してください。ルールに基づいて使う場合は、通常Configに戻し、確認済みの有効な設定を維持します。次の手順では接続スイッチだけをオンにし、設定ファイルは同時に編集しません。
Home:接続を開始してVPN構成を許可
サーバーとGlobal Routingを確認してから、画面上部のスイッチをオンにします。システムの許可とサーバー認証は別のものです。
Homeに戻り、SERVERで先ほどテストするサーバーが選択されていることを確認します。同じ名前の古い項目を選んでいないか注意してください。次にGlobal Routingが前の手順と同じ設定か確認します。準備ができたら画面上部の接続スイッチをオンにします。未接続のときはNot Connectedと表示される場合があります。スイッチをオンにした後の状態変化は、システム接続の確立を判断するためのもので、特定のWebサイトにアクセスできるかどうかを単独で判断するものではありません。
初回接続時、システムからShadowrocketによるVPN構成の追加を求められます。表示されたアプリ名と現在の操作が一致することを確認し、許可してからデバイスの案内に従って認証を完了してください。ここで作成するのはシステムのネットワーク拡張機能が使うVPN構成であり、サーバーのPasswordを再入力するものではありません。サーバーのパスワードを無関係なシステム認証欄に入力したり、この表示に対応するために別の設定ファイルを探して読み込んだりする必要はありません。
システムでの確認が終わったらShadowrocketに戻り、接続スイッチがオンのままか、Not Connectedから接続済みの状態に変わったかを確認します。システムの確認画面でキャンセルすると、接続を確立できない場合があります。その場合は再度接続を開始し、案内に従って許可してください。以前にシステム設定から該当のVPN構成を削除していた場合も、この手順を再度行うことがあります。
スイッチがすぐにオフに戻る場合は、許可の確認画面やエラーメッセージが表示されたか、まず記録してください。iPhone / iPadのシステム設定でVPNを検索し、該当する構成があるか、別の接続が現在のネットワークを使用していないかを確認できます。状況を記録せずにネットワーク設定をすべて削除しないでください。まず権限、現在の接続、アプリ内の設定を確認すると、原因を特定しやすくなります。デバイス管理の制限がある場合は、その管理ポリシーに従ってください。
接続スイッチがオンのままになったら、アプリの状態が更新されるまで待ってからアクセスを確認します。システムにVPNの表示が出ても、関連するシステム接続が有効であることを示すだけです。サブスクリプションの有効期限、サーバー認証、リモートへのアクセス、すべてのルールによる振り分けが正常であることを保証するものではありません。On Demandはまだ有効にせず、サーバーも複数切り替えないでください。条件を変えずに次の手順へ進めば、結果とこの接続を正しく照合できます。
一時停止するには、Homeに戻って画面上部の接続スイッチをオフにします。手動で接続と切断を一度確認してから、オンデマンド接続の設定を検討してください。初回許可の意味や、誤って削除した場合の対処はVPN構成の追加を求める表示についてもご覧ください。
Connectivity Test:テストと実際のアクセス
「テストに応答がある」「システムが接続済み」「対象にアクセスできる」は別々に判断します。互いに置き換えることはできません。
まずサーバーをテストし、次に対象のページを開く
HomeでConnectivity Testを見つけて実行し、結果が表示されるまで待ちます。まず現在選択中のサーバーの結果を確認してください。一覧全体を一度に比較する必要はありません。結果はSettingsのTest Method、現在のネットワーク、テスト対象などの条件に左右されます。応答があっても、そのテスト条件で結果が得られたことを示すだけです。すべてのプロトコル設定、アクセス先、ルールが正しいとは限りません。
次にブラウザーを開き、自分が利用でき、通常どおりアクセスできる対象ページを開きます。できるだけ明確なURLを指定し、ページが読み込まれるまで待ってから、主要な内容を操作できるか確認してください。キャッシュ済みのホームページや、アプリ内に残った古い表示だけで判断しないでください。必要に応じて再読み込みし、名前解決、接続、読み込み、ログインのどの段階で問題が起きたか記録します。Webサイトへのログイン失敗がプロキシ接続の問題とは限らないため、ネットワークリクエストの失敗とは分けて判断してください。
Dataで実際のポリシーを確認
ページにアクセスできても、想定した経路を通ったか確認したい場合は、Dataで該当リクエストの記録を確認します。現在のバージョンで提供される情報に基づき、対象ドメイン、適用されたルール、使用されたポリシーを確認してください。Configで一部のリクエストにDIRECTが適用されるのは、ルールの処理結果であり、接続全体が無効という意味ではありません。同様に、画面上部の接続スイッチがオンでも、すべてのリクエストにPROXYが使われるとは限りません。
一つのアクセス先だけで問題が起きる場合は、サーバーを変えずにProxyとConfigの結果を比較します。前者では成功し後者では失敗する場合は、現在の設定、ルールの順序、ポリシーグループの接続先を確認します。両方で失敗する場合は、サーバーの設定情報とリモートの状態を確認します。Directを比較に使う場合はリクエストの経路が変わることを理解し、その結果をプロキシサーバーのテスト成功とみなさないでください。
有効な確認では、再現可能な条件を記録します。使用したネットワーク、選択したサーバー、Global Routingの値、対象アドレス、エラーの状況を残してください。Wi-Fiとモバイル通信を切り替えるとネットワーク環境を切り分けられますが、切り替えた後に再テストし、異なるネットワークの結果を混ぜて比較しないでください。実際にアクセスでき、処理ポリシーも想定どおりであれば、この接続の基本確認は完了です。
Settings:よくある失敗と次の設定
まず、どの手順で失敗したかを特定してから、該当する設定を変更します。一度に変更するのは一項目だけにし、元に戻せるよう元の設定を残してください。
読み込みに失敗する:リンクと内容を確認
Subscribeの保存または更新時に失敗する場合は、まずデバイスがネットワークに接続できることを確認し、リンクが完全か、認証情報がまだ有効かを確認します。サブスクリプションの取得時にエラーが発生しただけでは、一覧にあるすべてのサーバーが利用できないとは判断できません。サービス提供元が案内したリンクの用途と内容形式を確認し、ルール設定用のURLをサーバーのサブスクリプションとして使わないでください。リンクの更新が必要な場合は、既存のサブスクリプションを編集してから、項目の変化を確認します。
テストがタイムアウトする:パラメーターとテスト方法を確認
サーバーを追加できたのにConnectivity Testが応答しない場合は、SettingsでTest Methodを開き、現在どの方法でテストしているか確認します。次にType、Host、Port、認証情報と、対応するTLSおよびトランスポートのパラメーターを確認してください。テスト方法によって結果が異なることがあります。応答を得るためだけに、不明な項目を何度も変更しないでください。デバイスの日付とタイムゾーンを正しく設定し、特に証明書を検証する場合はシステム時刻を確認します。検証条件を安易に緩和しないでください。
同じサーバーが一方のネットワークでは失敗し、別のネットワークでは正常な場合は、両方の結果を記録し、現在のネットワークに追加の制限がないか確認します。すべてのパラメーターが元の情報と一致していても接続できない場合は、利用中のサービス提供元にサーバーの状態と情報の有効性を確認してください。他の人に状況を伝える前に、Password、認証情報、サブスクリプションリンクなど、サービスへのアクセスに使える情報を隠してください。
接続済みでも一部のリクエストが失敗する:ルールと記録を確認
スイッチがオンのままでも一部のページだけで問題が起きる場合は、まずDataで該当するリクエストを確認し、Global Routingと現在のConfigを照合します。想定したPROXY、DIRECT、REJECTが適用されたか、ポリシーグループで利用可能な接続先が選択されているかを確認してください。ドメイン名の解決が関係する場合は、具体的なドメインとエラーを記録します。DNS、ルールファイル、サーバーを同時に置き換えないでください。DNSやルール項目の詳しい説明は設定項目リファレンスをご覧ください。まず症状から原因を絞り、該当する章を確認します。
DiagnosticsとOn Demand:基本接続の確認後に使う
SettingsのDiagnosticsでは、診断情報を詳しく確認できます。診断記録は判断の補助に使うもので、有効なサーバー情報の代わりにはなりません。記録を共有する前に、非公開のアドレスや認証情報が含まれていないか確認してください。問題が繰り返し発生する場合は、単に「使えない」と伝えるより、操作の順序、エラー表示、ネットワーク環境を残すほうが原因を調べやすくなります。タイムアウトの詳しい確認手順は接続失敗のチェックリストをご覧ください。
On Demandは、手動接続が正常に動作することを確認してから設定してください。有効にする前に起動条件を理解し、どのネットワーク環境で自動接続する必要があるか確認します。サブスクリプションやサーバー情報の誤りを修正する機能ではありません。接続をオフにしても自動的に再接続する場合は、On Demandと関連する起動条件を確認してください。バックグラウンド接続とバッテリー消費の関係はOn Demandを使うタイミングをご覧ください。初回の設定ですべてを完了させる必要はありません。
確認が終わったら、検証済みの組み合わせ、つまりサーバー、Global Routing、現在の設定を維持してください。今後調整するときは先にバックアップし、一度に一項目だけ変更して、「接続、実際のアクセス、記録の確認」を繰り返します。結果に問題があっても、最初からすべてを読み込み直さず、直前に確認した設定へ戻せます。