Shadowrocket
登録から初回接続まで
まず接続情報を準備し、モードを選択してスイッチをオンにしたら、結果を確認します。この公式マニュアルではiPhoneとiPadを対象に、初回操作の流れに沿って各画面と状態の確認方法を説明します。
- Add Server
- Subscribe
- Global Routing
- Connectivity Test
サーバー単体の情報とサブスクリプションは、登録方法が異なります。両方を重複して追加する必要はありません。サブスクリプションURLがある場合は2つ目の手順へ、サーバー情報がすべて揃っている場合は1つ目を完了してからモードを選択してください。
Add Server:既存のサーバー情報を入力
Shadowrocketを開いてHomeに移動し、SERVERグループのAdd Serverを選択します。すぐにアドレスを入力するのではなく、まずTypeを確認してください。Typeによって入力欄が変わり、プロトコルごとに認証方式や接続パラメータも異なります。サーバー名だけで判断せず、手元の情報に合わせてShadowsocks、VMess、VLESS、TrojanなどのTypeを選択してください。入力欄を減らすために別のプロトコルへ変更してはいけません。
続いてHostとPortを入力します。Hostはサーバーのドメイン名またはアドレス、Portはそのサービスが実際に待ち受けるポートです。必ず同じ接続情報に記載された値を入力してください。example.comは形式を示す例です。サブスクリプションURL全体をHostに貼り付けたり、URL内のパスやクエリパラメータをPortとして入力したりしないでください。貼り付け後は、前後の空白、改行、句読点を確認し、入力方式によって英字記号が別の文字に置き換わっていないかも確認します。
続いて、選択したTypeで必要な認証情報を入力します。画面例にあるPasswordとMethodは、表示されているTypeの入力項目です。すべてのプロトコルで同じパラメータを使うわけではありません。手元の情報にTLS、Server Name、その他のトランスポート設定がある場合は、それぞれ一致させてください。不明な値があるときは元の情報を確認し、検証を無効にしたり暗号化方式をむやみに変更したりして試さないでください。
接続情報がQRコードで提供されている場合は、Scan QR Codeで読み込み、編集画面に戻ってType、Host、Portを確認できます。Import from Cloud JSONは、指定された形式のデータを読み込むための別の入口です。任意のWebページのURLを設定ファイルとして読み込むことはできません。保存したらHomeに戻り、SERVER一覧に新しい項目が表示されていることを確認します。この時点で完了するのは保存までで、接続成功を意味するものではありません。
Subscribe:自分のサブスクリプションURLを登録
サーバー一覧を更新するサブスクリプションURLがある場合は、各サーバーを手入力せずSubscribeを使います。まず契約中のサービスからURL全体をコピーし、HomeのAdd Serverを開いてTypeをSubscribeに設定します。対応するURL欄に貼り付け、判別しやすいメモを入力してください。項目の位置はアプリの表示に従います。保存前に、案内ページ、アカウントページ、注文ページのURLをサブスクリプションURLとして入力していないか確認します。
サブスクリプションURLには、アカウントを識別するクエリパラメータが含まれる場合があります。URL全体を保持してください。末尾の文字をコピーし損ねたり、改行が混ざったり、不要に見えるパラメータを手動で削除したりすると、サーバー一覧を読み込めないことがあります。URLは機密情報として保管してください。サポートを求める際は、表示されたメッセージと失敗した段階だけを伝え、URL全体は公開しないでください。サブスクリプションの内容を別のWebサイトに貼り付けて処理する必要はありません。
保存後にサブスクリプションを更新し、読み込みが終わるまで待ってからHomeに戻り、該当するグループにサーバーが表示されたか確認します。「項目を取得できたか」と「項目に接続できるか」は別々に確認してください。更新成功は今回の内容を読み取れたことを示すだけで、各サーバーへの接続を保証しません。一覧が空でも、接続スイッチの故障とは限りません。まずURL、サブスクリプションの状態、現在のネットワークからそのURLにアクセスできるかを確認してください。
初めて使う場合は、まず手動で一度更新し、内容を確認してから自動更新を検討してください。同じサブスクリプションを何度も登録しても、URL自体の問題は解決しないことが多く、判別しにくいグループが増える原因になります。更新に失敗した場合は、既存の項目と元のURLを残してエラーメッセージを記録し、サブスクリプションの解析失敗・一覧が空の場合の確認手順に沿って確認してください。自動更新との違いはサブスクリプション更新ガイドをご覧ください。
Global Routing:3つのモードの違い
Homeに戻ってGlobal Routingを開き、現在の選択を確認します。モードはConfig、Proxy、Directの3種類です。これらはリクエストの経路の選び方であり、サーバーのプロトコルではありません。サーバーを追加しただけでは、この設定は完了しません。同じサーバーでもモードによって、一部のリクエストだけを処理する場合や、現在のリクエストに使われない場合があります。
| モード | 用途 | 操作前の確認 |
|---|---|---|
| Config | 現在の設定にあるルールに従って、適用するポリシーを選択します。 | 現在使用中のConfigとRuleを確認します。 |
| Proxy | リクエストをProxy経由で処理し、選択したサーバーが利用できるか確認します。 | 想定したサーバーが選択されていることを確認し、設定内の例外にも注意します。 |
| Direct | 直接接続の経路を使います。 | 宛先に直接アクセスできても、Proxy経由の接続が成功したとは限りません。 |
日常的にルールに従って使う場合はConfigを選び、Configで実際に使用する設定ファイルを確認します。該当ファイルの編集画面にはGeneral、Rule、Hostsなどのセクションがあります。Ruleでマッチ条件とポリシーを指定します。ファイルを開いて確認しただけでは、その設定が有効になったことにはなりません。一覧に戻り、現在使用中のマークを確認してください。初回は元の設定を維持し、複数のセクションを同時に編集しないでください。
たとえば、DOMAIN-SUFFIX,example.com,PROXYは、該当するドメインサフィックスのリクエストにPROXYを使うことを示します。FINAL,PROXYは、それ以前のルールに一致しなかった場合の最終選択に使います。これらは構文の説明であり、すべての人に適した完全な設定例ではありません。ルールの順序と使用するポリシーの両方が結果に影響するため、キーワードだけを見てリクエストが必ずProxy経由になるとは判断できません。
サーバー接続の問題とルール選択の問題を切り分けたい場合は、現在のモードを記録してから、一時的にProxyを使って比較テストできます。テスト後は元に戻してください。Directは直接アクセスの状態を確認するためのもので、サーバーの利用可否は検証できません。ルールの適用順や各モードの詳しい説明はGlobal Routing設定ガイドとルールの確認をご覧ください。このチュートリアルでは、まず確認可能な接続手順を一通り進めます。
Home:サーバーを選択して接続を開始
Homeに戻り、SERVERグループから今回使用するサーバーを選択して、項目の左側に選択マークが付いたことを確認します。項目の編集画面を開くことと、既定のサーバーとして選択することは別の操作です。パラメータを確認しただけで選択済みと判断しないでください。複数のグループを登録している場合は、選択した項目がどのグループに属するかを確認し、結果を比較できるよう以降のテストでは同じ項目を使います。
Global Routingを確認したら、Home上部の接続スイッチをオンにします。初回接続時は、ShadowrocketによるVPN構成の追加をシステムから求められる場合があります。操作中のアプリからの要求であることを確認し、システムの手順に沿って許可してデバイス認証を完了してください。この許可はアプリに必要なネットワーク構成を作成するためのもので、サーバーのパスワードを代替したり、アカウントに利用可能なサブスクリプションを追加したりするものではありません。
Shadowrocketに戻り、画面上部の状態がNot Connectedのままか、スイッチがオンのままかを確認します。システムの許可を取り消した場合は、サーバーのパラメータをすぐに変更するのではなく、まず許可の手順を確認してください。スイッチがオンになった直後にオフへ戻る場合は、表示メッセージと発生したタイミングを記録します。許可の前後か、宛先へのアクセス開始時かによって、確認すべき箇所が異なります。
スイッチがオンのままであることと、宛先にアクセスできることは別です。接続状態から分かるのは、まずローカルの接続処理が確立したかどうかです。状態表示だけで、サーバー認証、DNS、すべてのルールが正しいとは判断できません。モードとサーバーはそのままにして次の手順に進み、比較できる結果がないまま設定を次々に変更することは避けてください。
Connectivity Test:接続と実際のアクセスを個別に確認
HomeでConnectivity Testを実行し、テストが終了してから選択中のサーバーの結果を確認します。Test Methodによって検査内容が異なるため、比較するときは同じ方法を使ってください。テストが成功しても、その条件下で応答があったことを示すだけで、対象アプリのすべての接続が成功したとは限りません。一度タイムアウトしただけでは、認証エラー、サーバーへの到達不能、テスト先の一時的な無応答のどれが原因か判断できません。
続いて、利用する宛先のページまたはアプリを開き、キャッシュ済みの内容を眺めるだけでなく、ページを再読み込みするなど明確な操作を行います。普段使っている宛先を2つ選んで比較し、どちらが成功・失敗したかを記録してもよいでしょう。Configで特定の宛先だけ問題がある場合は、すべてのサーバーをすぐに変更せず、まず該当リクエストに適用されたルールを確認してください。
通信経路を確認するには、現在のアプリで閲覧できる接続記録やログを参照し、宛先ドメインと最終ポリシーを確認します。PROXY、DIRECT、REJECTは、それぞれProxy経由、直接接続、拒否を示します。ローカルの接続スイッチがオンでも、DIRECTのリクエストは通常どおり直接接続する場合があります。リクエストがREJECTに一致した場合は、該当ルールが意図したものか確認してください。ルールによる拒否を、サーバーの故障とすぐに結びつけないでください。
「サーバーテストが応答する → システム接続が維持される → 宛先に実際にアクセスできる → 適用ポリシーが想定どおり」の順に結果を記録します。最初の3項目に問題がなく、ポリシーだけが異なる場合はGlobal RoutingとConfigを確認してください。テストと宛先アクセスの両方に失敗した場合は、次の手順で接続情報とネットワーク条件を確認します。変更は一度に1項目だけ行い、再テストしてから反映を決めてください。どの変更が結果に影響したかを把握しやすくなります。
Settings:失敗した段階に応じて確認
登録できない場合:接続情報が揃っているか確認
サブスクリプションの保存後に解析に失敗する、または一覧が空の場合は、まず編集画面に戻ってURL全体が正しく入力されているか確認します。次に契約中のサービスの状態と、現在のネットワークからサブスクリプションURLにアクセスできるかを確認してください。サーバー単体の情報を入力した場合は、Type、Host、Port、認証情報を照合します。利用可能な項目が確認できていない段階では、後続の設定で不足した接続情報を補えないため、DNS、ルール、On Demandを先に変更する必要はありません。
接続できない場合:選択とシステムの許可を確認
項目が表示されているのに接続を開始してすぐ停止する場合は、まずHomeの選択マークと、システムのVPN構成への許可が完了しているかを確認してから、アプリのメッセージを確認します。比較のためにネットワーク環境を切り替えてもかまいませんが、サーバーとパラメータは同じにしてください。サブスクリプションの再登録、Portの変更、モードの切り替えを同時に行うと、成功・失敗の原因を追いにくくなります。
テストと実際のアクセス結果が異なる場合:Test MethodとDNSを確認
SettingsでTest Methodを開き、選択したテスト方法が確認したい内容に合っているかを確認します。テストによっては接続の一部しか検査しないため、実際のアクセス結果も併せて確認してください。ほかの接続は正常なのにドメインを名前解決できない場合は、DNSを確認します。まず現在の値とConfigを記録し、複数のDNSアドレスをむやみに追加しないでください。システムDNS、カスタムDNS、DNS over HTTPSの選び方はDNS設定ガイドをご覧ください。
接続の動作が想定と異なる場合:On Demandを確認
ネットワーク条件に応じて接続が自動で開始される場合や、手動スイッチの想定と異なる場合は、SettingsのOn Demandとその条件を確認します。最初のトラブルシューティングでは現在の状態を記録し、手動接続を一度安定した条件で試してから変更を検討してください。On Demandの初期値はアプリの表示に従います。他の人と設定が異なるからといって、そのままコピーしないでください。
解決しない場合:必要最小限の診断情報を記録
さらに調査が必要な場合は、Diagnosticsまたは現在のアプリで利用できるログを確認します。まず発生時刻、操作手順、エラーメッセージ、使用したType、最終ポリシーを記録してください。共有する前に、サブスクリプションURL、サーバーの認証情報、問題に関係のないアクセス記録を隠します。ログには宛先のドメイン名やアドレスが含まれることがあるため、全体を公開しないでください。
利用できる設定が見つかったら、まず通常の利用状態に戻し、調整が必要な項目を一つずつ確認します。SettingsのProxy、TCP、UDPなどは、より詳細な接続動作の設定です。初回接続時にすべて変更する必要はありません。各項目の意味と設定の目安はSettings項目ガイドをご覧ください。操作をやり直す場合は、このチュートリアルのAdd Server手順に戻って接続情報の登録方法を確認できます。