Add Server:サーバーの追加またはサブスクリプションの読み込み
サブスクリプションURLと個別サーバーの接続情報は、別々の入力方法です。手元の情報に合う方法を選び、重複して追加する必要はありません。
まず手元の情報を確認
Shadowrocketを開いてHomeに進み、SERVERグループとAdd Serverを探します。手元の情報を確認してください。サーバー一覧を更新するためのURLならSubscribeを使います。Host、Port、Passwordなどが個別に記載されている場合は、サーバーを個別に追加します。サブスクリプションURL全体をHostに貼り付けたり、URLの見た目だけでプロトコルを判断したりしないでください。判断できない場合は、利用中のサービスの案内を確認してから次へ進みます。
サブスクリプションURLがある場合:Subscribeを選択
Add Serverを開き、TypeをタップしてSubscribeを選択します。自分のサブスクリプションURLを、選択したTypeに表示されるアドレス欄に入力します。貼り付けた後、先頭や末尾に空白、改行、引用符が入っていないか確認してください。特に、URLの疑問符以降にあるパラメーターを残します。内容を確認して保存し、一覧の読み込みが終わったらHomeに戻り、該当するグループとサーバー項目が表示されるか確認します。URLを保存できたことと、一覧の読み込みに成功したことは別です。一覧が空の場合は、接続スイッチをオンにする前に読み込みエラーを解決してください。
サブスクリプションの更新では、そのURLから返される内容を再取得します。初回の読み込み後は、同じURLを毎回追加するのではなく、該当するサブスクリプション項目の操作メニューから更新できます。既存のサブスクリプションが使える場合は、変更前に元の項目を残しておくと、誤って削除した際に戻せます。サブスクリプションURLにはアクセス情報が含まれることがあります。スクリーンショットを共有したり、問題を説明したりする際は、URL全体と識別用パラメーターを隠してください。
サーバー情報がある場合:Add Serverに項目を入力
Typeで手元の情報に記載されたプロトコルを選び、Host、Port、およびそのプロトコルで必要な認証情報や暗号化の項目を確認します。公式スクリーンショットにはPasswordとMethodを含むフォームが表示されていますが、すべてのプロトコルで同じ項目が必要という意味ではありません。Shadowsocks、VMess、VLESS、Trojanなどは、それぞれ手元の情報に沿って入力してください。TLS、転送方式などの追加項目も、元の情報と一致させます。他のTypeのスクリーンショットを見て項目を補わないでください。
Hostには通常、サーバーのドメイン名またはアドレスを入力し、Portには対応するポート番号を入力します。WebページのパスをHostの後ろに追加しないでください。Passwordなどの認証項目は大文字・小文字を含め、正確にコピーします。サーバー情報を示すQRコードがある場合は、Scan QR Codeから読み込めます。読み込み後もTypeと重要な項目を確認してください。Import from Cloud JSONは別の読み込み方法で、Subscribeとは異なります。保存したらHomeに戻り、項目を選択できることを確認してからモードを選びます。
Global Routing:モードを選び、Configを確認
接続先として使えるサーバーはサーバー設定で決まり、通信の処理方法はGlobal Routingで決まります。それぞれ個別に確認してください。
サーバーを追加したらHomeに戻り、Global Routingを開きます。ここでは設定(Config)、プロキシ(Proxy)、直接接続(Direct)の3つを区別します。モードを切り替えてもサーバー情報は修正されず、新しいサーバーが追加されることもありません。初めて使う場合は現在の選択を記録し、テストでは一度に一項目だけ変更すると、変化がサーバー、モード、ルールのどれによるものか判断しやすくなります。
設定(Config):現在の設定に従ってリクエストを処理
Configを選択すると、現在有効な設定のルールとポリシーに従ってリクエストが処理されます。Configを開き、どのファイルを使用中か確認してから、該当する設定のRuleを開きます。スクリーンショットにあるGeneral、Rule、Hosts、URL Rewrite、HTTPS Decryptionは、設定編集画面の各セクションです。Add Ruleはルールの追加に使います。初回接続時に「設定を完成させる」ため、各セクションを一つずつ変更する必要はありません。今回の目的に関係のない設定も有効にしないでください。
ルールは通常、上から順に照合され、先に一致したルールがリクエストの行き先を決める場合があります。DOMAIN-SUFFIXはドメインの末尾、IP-CIDRはIPアドレスの範囲に一致させるルールです。FINALは、それ以前のルールに一致しない場合の最終処理に使います。PROXY、DIRECT、REJECTは異なる処理ポリシーを表し、サーバー名ではありません。特定のページを調べるときは、使用されるドメイン、ルールの照合順、最終ポリシーを合わせて確認してください。ルールが一つ存在するかどうかだけでは判断できません。
プロキシ(Proxy):サーバー接続の比較に使用
Proxyでは、このモードに従って通信が処理されます。サーバー情報を確認した後、接続を簡易的に比較するのに適しています。同じサーバーがProxyでは使えるのに、Configに戻すと特定のページで失敗する場合は、設定、ルール、名前解決を重点的に確認します。これは確認範囲を絞るための方法で、Proxyが日常のあらゆる利用に適しているという意味ではありません。テスト後は必要なモードに戻してください。
直接接続(Direct):プロキシの確認と混同しない
Directは、サーバーを経由せずに直接アクセスするモードです。Directでページが開いても、追加したサーバーが使える証明にはなりません。接続前にGlobal Routingをもう一度確認し、直接接続の結果をプロキシ接続の結果と取り違えないようにしてください。既存の設定ファイルとSubscribeも別のものです。Subscribeは主にサーバー一覧を読み込み、Configは設定とルールを管理します。サブスクリプションを読み込んでも、使用するルールファイルが自動で切り替わるわけではありません。照合の仕組みについては機能と設定の説明を、具体的な症状についてはトラブル対処をご覧ください。
Home:サーバーを選択して接続スイッチをオン
先に項目を選び、その後スイッチをオンにします。初回接続時には、システムのVPN構成を許可する必要があります。
Homeに戻り、SERVERリストから使用するサーバーを選択し、想定した項目が選ばれていることを確認します。グループが複数ある場合は、名前と登録元も確認し、古い項目を誤って選ばないようにしてください。次にGlobal Routingを確認します。Configを使う場合は設定が選択済みであることを、Proxyで比較する場合は今回テストするサーバーが選択されていることを確認します。両方を確認してから、Home上部のスイッチをオンにします。
初回にシステムの確認が表示された場合
初回接続時に、VPN構成の追加を許可するシステムの確認が表示されることがあります。これはアプリがネットワーク接続の構成を作成するための許可であり、アプリの再購入やサーバー情報の自動読み込みを求めるものではありません。操作中のアプリがShadowrocketであることを確認し、システムの案内に従って許可とデバイス認証を完了してください。以前に確認をキャンセルした場合は、Homeに戻ってスイッチを再度オンにし、許可の手順がもう一度表示されるか確認します。
許可が完了したらアプリに戻り、上部の状態がNot Connectedから接続中の状態に変わるか、すぐに元に戻らないかを確認します。システム上のVPN状態は接続構成の動作を確認する参考になりますが、サーバー、DNS、特定のWebページが利用できることまでは示しません。接続スイッチが示すのはクライアントの接続処理の状態です。実際のリクエストが想定どおり完了するかは、次の手順で確認してください。
スイッチをオンにしたら、まず他の設定を変更しない
現在のサーバー、Global Routing、設定を変えずに、Connectivity Testと実際のアクセスを一度ずつ行います。初回のトラブル対処では、VPN接続を管理する他の設定を一時的に停止してから再接続すると、システム側で接続先が切り替わった影響を、現在の項目の失敗と誤認しにくくなります。サーバーの切り替え、新しい設定の読み込み、DNSの変更を同時に行わないでください。変更が重なると、再び使えるようになっても原因を特定しにくくなります。
スイッチがすぐにオフになる、何度も元に戻る、またはシステムの確認が完了しない場合は、Ruleを編集する前に許可と接続状態を確認します。接続に関わる重要な項目を変更する場合は、先にスイッチをオフにして変更を保存し、その後再接続して確認してください。確立済みの接続と保存直後の新しい設定は、同じテスト条件とは限りません。再接続すると、確認対象を明確にできます。確認を終えたら、実際のリクエスト結果を調べます。
Connectivity Test:応答と実際のアクセスを確認
テストの応答、接続の確立、目的のリクエストの成功は、それぞれ別に確認する必要があります。
まずテストで何を確認できたかを見る
HomeでConnectivity Testを実行し、テストが終わるまで待って、選択中のサーバーから結果が返るか確認します。テスト結果は現在のTest Methodでの到達状況を示すもので、すべてのWebサイトにおけるDNS、TLS、ルールの経路、サーバー側の処理までは確認できません。遅延が表示されても、そのテストで応答があったことを示すだけで、すべてのページが正常に開くとは限りません。2回の結果を比較する場合は、ネットワーク環境とTest Methodを同じにしてください。
次に実際のリクエストで確認
ブラウザーを開き、実際に使うページを再読み込みして、新しいリクエストを試します。すでに表示されているページはキャッシュから読み込まれている可能性があり、画面に内容が見えるだけでは判断できません。同じサイトの別ページを開くか、アクセスをもう一度行ってください。テスト時のサーバーとGlobal Routingを確認し、必要に応じてアプリ内で確認できるリクエスト記録から、対象ドメインと適用ポリシーを調べます。該当するリクエストが記録にない場合は、キャッシュを使っていないか、テスト対象が一致しているかも確認してください。
Configを使用している場合、通常のページと目的のページがそれぞれDIRECTとPROXYを通ることがあり、一方が成功して他方が失敗しても矛盾ではありません。まず、失敗したリクエストにどのルールが適用されたか確認し、設定を変更するか判断します。Proxyでは使えてConfigでは使えない場合は、サーバー情報を維持したまま、ルールとDNSを重点的に確認します。どちらのモードでも失敗する場合は、サーバー情報と基本のネットワーク接続を再確認します。関係のない変更を減らし、問題を再現しやすくできます。
比較が終わったら、Global Routingを普段使うモードに戻し、同じページをもう一度テストします。一時的なProxyでのみ成功した場合は、Configに戻してルールの経路も確認します。これで「項目を読み込んだ」状態から「必要なリクエストが完了する」状態まで確認できます。まだ失敗する場合は、次の手順で原因を調べてください。読み込みを最初からやり直す必要はありません。
Settings:症状に合わせて順に確認
まず基本条件を確認し、次に項目とルールを調べます。一度に変更する条件は一つだけにして、同じテストを繰り返してください。
一覧が空の場合:読み込みと更新を確認
Subscribeを保存してもサーバーが表示されない場合は、まず接続をオフにし、現在のネットワークで基本的なアクセスができることを確認します。次にURLが完全か、サブスクリプションが有効か、更新時にエラーが返っていないかを調べます。一覧が空の状態でGlobal Routingを変更しても、項目は追加されません。同じURLを何度も追加してグループを重複させず、確認用の項目を一つ残して、利用中のサービスのサポート窓口に応答内容とURLの状態を確認してください。
項目はあるが接続できない場合:入力内容と許可を確認
項目の編集画面を開き、Type、Host、Port、認証情報、Method、および必要なTLSや転送方式の設定を元の情報と照合します。項目によっては特定のTypeでのみ表示されます。スクリーンショットにある項目が見当たらないからといって、プロトコルを変更しないでください。次にシステムのVPN許可が完了していること、デバイスの接続が別の設定に切り替わっていないことを確認します。特定のサーバーだけが失敗する場合は、その項目を先に確認し、設定全体をすぐに置き換えないでください。
テストは正常だがWebページが開かない場合:ルールと名前解決を確認
まずDirectになっていないことを確認し、同じサーバーでProxyとConfigのアクセス結果を比較します。特定のドメインだけが失敗する場合は、REJECTに一致していないか、前のルールに先に一致していないか、最終ポリシーが想定どおりかを確認してください。DNSの名前解決に失敗すると、遅延は正常でもページが開かないことがあります。現在の設定で使われている名前解決方法と表示されるエラーを確認し、タイムアウトだけを理由にDNSを次々と変更しないでください。詳しいケース別の説明はトラブル対処をご覧ください。
接続状態が自動で変わる場合:On Demandを確認
Settingsを開き、On Demandが有効か、どの条件が設定されているか確認します。On Demandは接続を開始するタイミングに関係するため、初回の手動テストでは現在の目的に合っているか確認し、自動接続による影響を避けてください。SettingsのTest Methodを変更すると、テスト結果の意味も変わります。変更前後の数値を同じ条件の結果として比較しないでください。TCP、UDPなどのセクションも、初回の失敗時にすべて変更する必要はありません。具体的な症状に応じて確認範囲を決めます。
設定を消去せず、診断情報を残す
さらに原因を調べる場合は、SettingsのDiagnosticsを開き、利用可能な診断情報を確認します。エラーの文言、発生した段階、そのときのモードを記録してください。記録を共有する前に、サーバーアドレス、サブスクリプションURL、認証情報が含まれていないか確認し、該当箇所を隠します。元の設定を残し、変更内容を記録してください。失敗したら直前の変更を元に戻してから、次の項目を試します。App Storeからの入手、購入済みアプリの復元、購入範囲についてはApp Storeガイドをご覧ください。これらはサーバー接続のトラブル対処とは別の手順です。
同じサーバーとモードで実際のアクセスを繰り返し完了できれば、今回のトラブル対処は終了です。その後On Demandを設定したりRuleを細かく調整したりする場合は、現在の正常な状態を先に保存し、一項目ずつ変更してください。問題が再発したときに、複数の不確かな設定からやり直すのではなく、確認済みの状態に戻せます。
完了後に確認する3項目
- Homeで想定したサーバーが選択されており、サブスクリプションまたは手動入力した情報が自分の既存資料と一致している。
- Global Routingが普段使うモードに戻っており、Configでは確認済みの設定が選択されている。
- スイッチがオンになったことやテスト数値だけでなく、実際のページを再読み込みしてリクエストが正常に完了している。
必要に応じて機能と設定またはトラブル対処をご覧ください。購入、App Storeでの表示、機種変更後の復元についてはApp Storeガイドをご確認ください。接続がすでに正常なら、その設定を変更する必要はありません。