Shadowrocket 入門ガイド
サブスクリプションの追加 → Global Routing → 接続 → 確認 → トラブルシューティング。順番に設定し、まず個々のサーバーが使えることを確認してからルールによる振り分けを確認します。
以下の手順はiPhoneとiPadで利用できます。画面の表示領域は異なりますが、基本的な流れは同じです。まず接続情報をサーバー項目として保存し、リクエストの処理方法を選んでから接続します。画面レイアウトはアプリの表示状況によって変わることがあります。特定のボタンの位置ではなく、Home、Add Server、Configなどの英語表記を目印に操作してください。
初回設定ですべての項目を一度に変更する必要はありません。わからない設定はそのままにし、現在の状態を記録して、このページで必要な操作だけを行います。プロトコルに必須の情報が不足している場合は、別の項目の値で代用せず、情報の提供元に確認してください。サブスクリプションリンク、パスワード、鍵は機密情報です。内容を公開の場で共有したり、画面を撮影して投稿したりしないでください。
01 · サーバーを追加、またはサブスクリプションを読み込む
Shadowrocketを開き、Home(ホーム画面)から追加画面を開いてAdd Server(サーバーを追加)を選びます。まず手元の情報を確認してください。サブスクリプションリンクは複数のサーバー項目を取得するためのものです。個別のサーバー情報には、プロトコル、アドレス、ポート、認証情報が含まれます。情報に合う方法をどちらか一つ選べばよく、ガイドを進めるために両方を読み込む必要はありません。
サブスクリプションリンクがある場合:Subscribeを使用
Add Serverの種類選択でSubscribe(サブスクリプション)を選び、画面を開いて、サービス提供元から入手したリンク全体をURL欄に入力します。コピー時に説明文、引用符、改行、前後の空白が入っていないことを確認してください。特に「?」以降のパラメーターを削除しないでください。サブスクリプションの識別に使われている場合があり、リンクを開けても、削除後に同じ内容を取得できるとは限りません。
自分で見分けやすい名前を入力し、サブスクリプションを保存します。Homeに戻り、サーバー一覧が取得されているか確認してください。項目が表示されない場合は、そのサブスクリプションの更新操作を行い、結果を確認します。リンクの保存と、サブスクリプション内容の取得成功は別です。選択できるサーバー項目が表示されて、主な確認が完了します。
サブスクリプションを更新すると、配信元の内容に応じて一覧が変わり、項目名も変わることがあります。初回読み込み時はグループと配信元を確認し、名前が似ているだけで古い項目を削除しないでください。古いサブスクリプションを入れ替える場合は、新しい方が更新でき、含まれるサーバーが使えることを確認してから古い内容を整理すると、問題発生時に元の状態と比較できます。
個別のサーバー情報がある場合:プロトコルと項目を確認
情報が個別のパラメーターで提供されている場合は、Add Serverで該当するプロトコルを選び、アドレス、ポート、認証情報を入力します。Shadowsocks、Trojan、WireGuardなどでは必要な項目が異なります。どれもアドレスとポートがあるからといって、同じ設定を使い回せるわけではありません。アドレス欄には通常、ホスト名またはIPアドレスを入力します。ウェブページのURLに独自に書き換えないでください。ポートは提供された情報どおりに入力し、よくある番号から推測しないでください。
TLS、Server Name、その他の通信オプションが情報に明記されている場合は、その値を入力します。ドメインアドレスとTLS検証に使う名前は役割が異なることがあるため、自由に入れ替えないでください。必要な項目が記載されていない場合は、情報の提供元に確認してください。保存を通すために証明書検証を無効にしたり、使えそうな公開アドレスで代用したりしないでください。
保存後にHomeへ戻り、SERVER(サーバー一覧)から追加した項目を見つけ、今回使うサーバーを選択します。編集画面を開いて、プロトコル、ポート、認証情報を中心にもう一度確認してください。項目が表示されても、情報が保存されたことを示すだけで、サーバーへの接続可能性は確認できていません。選択したら、次にGlobal Routingを設定します。
02 · Global Routingのモードを選択
HomeでGlobal Routing(グローバルルーティング)を開き、現在のリクエスト処理方法を確認します。このガイドでは、3つのモードをConfig(設定)/Proxy(プロキシ)/Direct(直接接続)と表記します。ここではリクエストの処理方針を決めます。サーバーのプロトコルを選ぶ場所ではなく、接続情報を補うものでもありません。切り替える前に現在の値を記録しておくと、確認後に元へ戻せます。
Config:現在の設定ファイルのルールに従って処理
普段からルールで通信を振り分ける場合はConfigを選びます。次にConfig(設定ファイル画面)を開き、意図した設定ファイルが有効になっているか確認してください。設定ファイルが一覧に保存されていても、有効とは限りません。編集しているファイルと現在適用中のファイルが異なる場合もあります。わからない場合は、まず有効表示を確認して、該当する内容を開いてください。
Configは現在の設定ファイルのルールに基づいて処理方針を決めます。リクエストはルールによりPROXY(プロキシ)、DIRECT(直接接続)、REJECT(拒否)のいずれかで処理されます。そのため、接続をオンにしても、すべてのリクエストがプロキシ経由になるわけではありません。ルールは通常、上から順に照合され、先に一致した項目が結果に影響します。設定ファイルの構造、ルールの構文、最終的な処理方針については設定項目リファレンスをご覧ください。初回接続時にファイル全体を書き換える必要はありません。
Proxy:まずプロキシ接続経路を確認
選択したサーバー自体で通信できるか確認する場合は、一時的にProxyを選び、このモードで処理されるリクエストを選択中のプロキシサーバー経由にできます。ルールによる振り分けの影響を抑えて確認できます。目的を決めた比較テストに適していますが、あらゆるネットワークで、すべてのアプリや接続先に必ずアクセスできることを意味するものではありません。
テスト前にHomeで選択されているサーバーが、先ほど確認したものと同じであることを確かめてください。テスト後、普段の利用でルールによる振り分けが必要な場合はConfigに戻し、接続先を再確認します。戻さないと、その後のアクセス結果が確認対象のルールではなく、Proxyモードによるものかもしれません。
Direct:ローカルネットワークからのアクセスを確認
Directは、選択したプロキシサーバーを使わず、接続先へ直接アクセスするモードです。ローカルネットワークからサービスにアクセスできるかを確認できますが、プロキシサーバーが使えることの証明にはなりません。情報を読み込んだ後もDirectのままでは、ウェブページが開いてもサブスクリプションが有効になったとは判断できません。
この手順では、現在のモードと選択理由を説明できる状態にします。普段のルールによる利用はConfig、ルールの影響を除いてプロキシ経路を確認する場合は一時的にProxy、ローカルからの直接アクセスの確認にはDirectを選びます。確認後にHomeへ戻り、接続を開始します。
03 · 接続をオンにしてシステムの許可を完了
Homeに戻り、選択中のサーバーとGlobal Routingを確認してから接続スイッチをオンにします。初回接続時、システムからVPN構成の追加を求められることがあります。この案内は、Shadowrocketが端末上でネットワーク通信を処理するためのシステム接続構成を作成する許可を求めるものです。購入手続きでも、サーバー情報を取得する手順でもありません。
確認画面に表示されたアプリ名と案内を読み、直前の操作によって表示されたことを確認してから許可し、システムの指示に従って端末の認証を完了します。許可を取り消した場合、サーバー項目を保存しただけでは接続できません。もう一度操作するときは、Shadowrocketに戻って接続を開始し、現在のシステムの案内に従ってください。確認を回避しようとスイッチを何度もタップしないでください。
許可が完了したら、接続状態が安定するまで待ち、Homeで状態を確認します。システムのVPNアイコンは関連する接続状態を示すだけで、接続先サービスへのアクセスや、すべてのリクエストがプロキシ経由であることを単独で証明するものではありません。スイッチをオンにしてすぐオフに戻る場合は、まずアプリの案内を記録してから次の手順で確認します。プロトコル、ルーティング、設定ファイルを続けて変更しないでください。
端末で別のシステムVPN接続を使用中の場合は、今回不要な接続を終了してから確認してください。組織管理下の端末では、ネットワークポリシーや構成管理によって操作が制限される場合があります。端末の管理要件に従い、用途がわからないシステム構成を削除しないでください。
初回の確認では、現在のWi-Fiを使い続けるなど、同じネットワーク環境を保つことをおすすめします。サーバーの確認中にネットワークを切り替えると、接続条件が変わり、ローカルネットワークの問題を情報入力の誤りと混同しやすくなります。一度接続を確認してから、別のネットワーク環境を個別にテストしてください。
この手順の完了条件は、許可手続きが済み、接続状態が安定し、現在のサーバーとルーティングモードが意図どおりであることです。次にテストと実際のアクセスを組み合わせて確認します。
04 · テストと実際のアクセスで動作を確認
HomeでConnectivity Test(接続テスト)を開き、現在のサーバーをテストします。結果は、特定のテスト先、テスト方法、現在のネットワーク環境における到達性の目安として扱ってください。結果が表示されても、すべてのサービスを正常に利用できるとは限りません。結果が得られなくても、すべてのプロトコル設定が誤りとは限りません。実際のアクセスもあわせて判断してください。
次にブラウザーを開き、普段利用していて成否を明確に判断できるページにアクセスします。以前のキャッシュ表示ではなく、新しいページ内容を取得できたか確認してください。ページ自体にログイン、地域、アカウント、サーバー側の制限がある場合は、それらが結果に影響することもあります。すべてをShadowrocketの原因と決めつけないでください。
アクセスに成功したらアプリに戻り、接続が維持されているか確認し、利用できるリクエスト記録で接続先への処理経路を確認します。Configの場合は、接続先がどのルールに一致し、最終的にどの方針が適用されたかを確認してください。DIRECTに一致した場合、ページが開いても直接接続が使えたというだけで、選択したプロキシサーバーがそのリクエストに使われた証拠にはなりません。
特定のルールを確認する場合は、同じ接続先と同じサーバーを維持したまま設定を確認します。まず現在有効なファイルを見ていることを確かめ、その後にルールの照合順を確認してください。接続先によっては複数のドメインへリクエストが送られます。トップページは開いても一部のリソースが読み込まれない場合、アドレスバーのドメインだけで全ルールの結果を判断せず、どのリクエストが失敗したかを切り分けてください。
Data(通信量)のアップロード・ダウンロードの変化は通信中かどうかの目安になりますが、特定の接続先が特定の経路を使った直接の証拠ではありません。ほかのアプリのバックグラウンド通信が含まれる場合や、サービス提供元の計測範囲と異なる場合があります。初回確認では実際のアクセス結果と適用された方針を優先し、両方の数値が完全に一致する必要はありません。
使用したネットワーク、選択したサーバー、Global Routingのモード、接続先サービスへのアクセス結果の4点を簡潔に記録しておくと便利です。パスワードやサブスクリプションリンク全体は記録しないでください。後でネットワークの変更、サブスクリプションの更新、ルールの変更をした際に、同じ条件で再テストでき、記憶に頼らず比較できます。
この手順の最後に、一時的に切り替えたProxyまたはDirectを、普段使う予定のモードに戻して同じ接続先へ再度アクセスします。Configに戻して結果が変わった場合は、まずルールを確認してください。どちらのモードでも失敗する場合は、以下の順にネットワークとサーバー情報を確認します。
05 · よくある問題を順に確認
確認中は一度に一つの条件だけを変え、同じテストを繰り返してください。サブスクリプションを変更し、ネットワークを切り替え、さらにルールも変えると、最後にアクセスできても何が解決につながったのかわかりません。以下の順に確認すると、「読み込みの失敗」「接続未確立」「ルール不一致」を分けて対応できます。
サブスクリプションを保存したが、サーバーが一覧に表示されない
まず端末のローカルネットワークが使えることを確認し、サブスクリプションリンクが完全か確認します。更新に失敗した場合は表示された案内を読み、リンクに到達できない、認証が無効、内容を認識できないなどの状況を切り分けてください。ブラウザーでリンクを開けても、何らかの応答が返ったことを示すだけで、読み込み可能なサブスクリプション内容とは限りません。ログイン画面や案内ページのURLをサブスクリプションリンクとして使わないでください。
以前は使えたリンクが更新できなくなった場合は、サービス提供元にリンクの状態と内容形式を確認してください。更新に失敗しても既存のサーバーがすぐに削除されるとは限らないため、「古い項目が残っていること」と「今回の更新に成功したこと」を区別します。配信元の状態を確認する前に、一覧を消去しないでください。
サーバーはあるが、接続またはアクセスに失敗する
該当項目の編集画面を開き、プロトコル、アドレス、ポート、パスワードなどの認証情報を一つずつ確認します。コピー時に空白が混ざったり、メモをアドレスとして入力したりすることがあります。TLSを使う接続では、情報に記載された名前の設定と端末の日付・時刻が適切か確認してください。情報の誤りを隠すために検証条件を緩めないでください。
次にHomeで、同じ名前の古いサーバーではなく該当項目が選択されていることを確認します。一時的にProxyへ切り替え、同じ接続先をテストしてください。それでも失敗する場合は、ローカルネットワークとサーバーの状態を個別に確認します。一度のテストタイムアウトで全サーバーをまとめて削除しないでください。テスト先に到達できないことと、接続全体が使えないことは必ずしも同じではありません。
接続状態は安定しているが、一部の接続先を利用できない
まず現在のGlobal Routingを確認します。ProxyではアクセスできてConfigではできない場合、現在有効なファイルと接続先に一致したルールを確認してください。特に、前方にある広範囲なルールが先に一致していないか、REJECTに一致していないかを確認します。重複ルールを大量に追加する前に、実際に処理方針を決めているルールを特定し、必要最小限の変更を行ってください。
ドメインへのアクセスだけが失敗し、ほかは正常な場合は、DNS(ドメイン名解決)の要因も確認します。ドメイン名が正しく解決されていないとき、サーバーのメモを変更したり一覧の順序を入れ替えたりしても通常は解決しません。失敗したドメインとそのときのモードを記録してください。DNSやルールの詳しい説明はFAQと設定項目リファレンスをご覧ください。初回の確認で、すべての名前解決設定を同時に入れ替えないでください。
スイッチがオンの状態を保てない、またはオフにしても自動接続する
スイッチがオンの状態を保てない場合は、システムの許可が完了しているか、アプリにエラーが表示されているか、端末に接続管理上の制限があるかを確認します。オフにした後で再接続する場合は、On Demandが条件に応じて再接続を開始していないか確認してください。この2つは原因が異なり、どちらもサブスクリプションの無効化とは限りません。システム構成を確認するときは、今回の設定に関係することを明確に特定できる項目だけを扱ってください。
問い合わせる際は、「どの手順で失敗したか、使用したプロトコル、現在のモード、テストと実際のアクセス結果」を文章で説明してください。画面やログを共有する前に、サブスクリプションリンク、パスワード、鍵、アカウント識別情報を隠します。問題の種類と必要な項目名は残しておくと、接続情報を漏らさずに原因を確認できます。
確認が終わったら、一時的に変更したルーティングモードとテスト設定を元に戻し、現在のConfigとサーバー選択を確認してから実際のアクセスを行います。これで、再現可能な手順として、情報の読み込み成功、正しいサーバーの選択、接続許可の完了、意図した処理方針の確認ができているはずです。必要に応じて、後からOn Demandや詳細なルールを一つずつ追加してください。