OFFICIAL MANUAL / FIRST CONNECTION

Shadowrocketの使い方

サブスクリプションの読み込み → Global Routing → 接続許可 → 動作確認 → 問題箇所の確認

このページでは、iPhoneとiPadでの初回設定を説明します。まず手動接続を一度完了してから、ルールの調整やOn Demandを設定してください。設定済みの項目がある場合は、該当する手順へ進めます。

STEP 01 / ADD SERVER

サーバーを追加するか、サブスクリプションを読み込む

Shadowrocketを開いてHomeに進み、SERVERグループのAdd Serverを探します。まず、手元の情報がどちらの種類か確認してください。サーバー一覧を更新するためにサービス提供元から発行されたURLは、サブスクリプションとして扱います。プロトコル、サーバーアドレス、ポート、認証情報が個別に記載されている場合は、サーバーとして追加します。入力場所は異なるため、サブスクリプションURL全体をHostに貼り付けないでください。

サブスクリプションURLがある場合:Subscribeを選択

Add Serverをタップし、Typeの選択画面でSubscribeを選び、ご自身のサブスクリプションURLを省略せずURL欄に貼り付けます。後から見分けやすい名前を付けて保存してください。URLの前後に空白や改行、チャットの説明文を含めないでください。クエリパラメーターも通常はURLの一部なので、短くするために削除しないでください。サブスクリプションURLにはアクセス認証情報が含まれる場合があります。個人情報として扱い、公開しないでください。

保存後にHomeへ戻り、サブスクリプションの取得が終わるまで待ってから、該当するグループとサーバー項目が表示されているか確認します。サブスクリプション名だけが表示され、選択できるサーバーがない場合は、まず更新結果を確認してください。この状態で接続スイッチをオンにしても、読み込みの問題は解決しません。URLが完全で有効か、現在のネットワークからアクセスできるかを確認します。サービス提供元がURLを再発行した場合は、新しいURL全体で既存の登録を更新してください。

サーバー情報がある場合:Typeに合わせて設定する

手動で追加する場合は、情報に明記されたプロトコルをTypeで選び、Host、Port、およびそのプロトコルで必要な認証・通信設定を入力します。スクリーンショットはサーバー設定画面の一例で、PasswordやMethodなどの項目が表示されています。Typeを変更すると項目も変わるため、スクリーンショットの項目がすべてのプロトコルで必須とは限りません。

Hostには通常、サーバーのドメイン名またはアドレスを入力し、Portには対応するポートを入力します。パスを含む完全なURLをアドレス欄に入力しないでください。PasswordとMethodは、手元の情報に記載された値を使い、名前から推測しないでください。VLESS、Trojan、WireGuardなどを使う場合も、それぞれの情報に基づいて設定を確認します。証明書の検証、サーバー名、通信パスなどは、情報に明確な指示がある場合にのみ変更してください。検証をむやみに無効にして、設定ミスを隠そうとしないでください。

読み取り可能なQRコードがある場合は、Add ServerでScan QR Codeを使い、システムの案内に従ってカメラへのアクセスを許可します。Import from Cloud JSONは対応する設定情報向けで、任意のサブスクリプションURLを読み込むための汎用入口ではありません。読み込み後も項目の詳細を開き、Typeとアドレスを確認してください。プロトコルとサブスクリプションの違いが分からない場合は、先に用語早見表を確認してから、次のルーティング設定に進んでください。

ShadowrocketのAdd Server画面。Type、Host、Port、Password、Method、Scan QR Code、Import from Cloud JSONを表示
App Store公式スクリーンショット:Add Server。項目はTypeによって異なります。ご自身のサーバー情報に従って入力してください。

STEP 02 / GLOBAL ROUTING

ルーティング方式を選び、Configを確認する

サーバー項目が表示されたら、すぐに接続せず、まずHomeでGlobal Routingをタップし、用途に応じてConfig、Proxy、Directを選びます。ここではリクエストの処理方法を決めます。サブスクリプションの取得や、誤ったサーバー設定の修正はできません。選択後はHomeに戻り、Global Routingに選択結果が表示されていることを確認してください。切り替えたつもりでも、実際には元の方式のままになっていることがあります。

Config:現在のファイル内のルールに従って処理する

Configでは、現在の設定ファイルのルールに基づいてリクエストの経路を決定します。Configを開き、使用中のファイルを確認してから内容を確認してください。公式スクリーンショットには、General、Rule、Hosts、URL Rewrite、HTTPS Decryptionの各セクションとAdd Ruleの入口が表示されています。初めて使う場合、すべての項目を変更する必要はありません。まずRuleに想定したルールがあるか、どのルールにも一致しないリクエストが最後にどう処理されるかを確認します。

ルールは上から順に照合され、通常は最初に一致したルールのポリシーが適用されます。以下の例は構造の説明用で、現在の設定ファイルを置き換えるものではありません。example.comは説明用のドメインです。FINALを末尾に置くと、それまでのルールに一致しない場合にDIRECTが適用されます。したがって、Configを選んでも、すべてのリクエストが選択中のサーバーを経由するとは限りません。

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,DIRECT

ProxyとDirect:通信の経路を明確に指定する

Proxyでは、通常このルーティング方式の対象となるリクエストを、現在選択中のプロキシに送ります。Configの振り分けルールが問題の原因かどうかを確認する際に利用できます。ただし、あらゆるシステム通信が同じ方法で転送されるとは限らないため、実際のリクエストも確認してください。Directは直接通信として処理され、同じネットワーク環境で比較する際に使えますが、サーバーが利用可能であることの証明にはなりません。

最初の切り分けでは、一時的にProxyを選択して接続を確認し、その後、使用予定のConfigに戻します。設定を変更する前に元のファイルを残し、一度に変更するのは一か所だけにしてください。サブスクリプションの変更、ルールの編集、テスト方法の変更を同時に行うと、失敗の原因を特定しにくくなります。ルールのキーワードやPROXY、DIRECT、REJECTの意味は用語早見表を、各種設定については設定ガイドをご覧ください。

ShadowrocketのConfig編集画面。General、Rule、Hosts、URL Rewrite、HTTPS Decryption、Add Ruleを表示
App Store公式スクリーンショット:Configの編集画面。ここでは設定内容を管理し、Global RoutingはHomeで選択します。

STEP 03 / HOME

サーバーを選択し、接続スイッチをオンにする

読み込みとルーティング方式の選択が終わったらHomeに戻り、SERVERから使用するサーバーをタップして、選択中の表示を確認します。サブスクリプショングループと実際のサーバー項目は階層が異なります。グループを開いただけでは、その中のサーバーが選択されたことにはなりません。リストが空の場合は追加手順に戻って確認し、接続スイッチを何度も切り替えないでください。

続いて、Homeの上部にある接続スイッチをオンにします。未接続の場合はNot Connectedと表示されます。オンにしたら、アプリとシステムの接続処理が完了するまで待ちます。初回は、システムからVPN構成の追加を求められることがあります。これはアプリが該当するネットワーク構成を作成するための許可です。内容を確認してShadowrocketの操作であることを確かめ、デバイスの案内に従って認証してください。

以前に許可を取り消した場合は、Homeに戻って接続を再試行し、システムの案内を確認してください。デバイスが管理対象である場合やシステムに制限がある場合、許可の結果はそのポリシーの影響を受けることがあります。サーバーのパスワードを推測して変更するのではなく、デバイスの制限に関する説明を確認してください。接続スイッチがすぐにオフへ戻る場合も、サーバーが利用可能か判断する前に、許可や設定のエラー表示を確認します。

Homeに戻り、画面上部の接続状態が維持されているかを確認し、選択中のサーバーとGlobal Routingも再確認します。ここで確認できるのは、ローカルの接続設定が確立したことまでです。目的のページにどうアクセスできるかは、まだ判断できません。システムのVPNアイコンが表示されても、通信全体が利用可能とは限りません。次にテストを実行し、実際にページへアクセスしてください。

iPadでも操作の順序は同じです。サーバー項目を確認し、ルーティング方式を選択してから、接続スイッチをオンにします。レイアウトやシステムのダイアログはスクリーンショットと異なる場合があるため、実際の画面に従ってください。初回の動作確認中は手動接続のままにし、On Demandの設定は後にしてください。自動接続の問題と手動接続の問題を切り分けやすくなります。

ShadowrocketのHome画面。Not Connectedのスイッチ、Global RoutingのConfig、Connectivity Test、SERVERグループ、Add Serverを表示
App Store公式スクリーンショット:Home。SERVERとGlobal Routingを確認してから、画面上部の接続スイッチを操作します。

STEP 04 / CONNECTIVITY TEST

動作確認:テストと実際のアクセス

接続したままHomeでConnectivity Testをタップし、テストが完了するまで待ちます。まず応答があるかを確認し、SettingsのTest Methodも踏まえて結果を読み取ってください。テスト方法によって確認する通信経路の段階が異なります。一つのテスト結果だけで、すべてのプロトコル、ページ、アプリが正常に動作すると判断しないでください。

続いてブラウザーを開き、アクセスできると分かっているページを表示して、実際に読み込めるか確認します。テストに応答があってもページを開けない場合は、現在のGlobal Routingでそのページがどの経路を通るかを確認してください。ConfigではDIRECTに割り当てられている場合も、PROXYやREJECTに一致する場合もあります。選択したサーバーが利用できないと決めつけず、該当するリクエストの記録とルールを確認してください。

比較する際は、テスト対象を変えないでください。まずConfigでの結果を記録し、一時的にProxyへ切り替えて同じページを再度開きます。ルーティング方式だけを変えて結果が変わる場合は、Configのルール順、最終ポリシー、ドメイン解決に関する設定を優先して確認してください。比較後は、使用予定の方式に戻し、一時的な診断設定をそのまま残さないようにします。

「通信量があること」と「正しい経路を通ること」は区別してください。Dataの通信量が増えても、特定のドメインに想定したポリシーが適用された証拠にはなりません。該当リクエストの接続記録を確認できる場合は、対象ドメイン、ポリシー、時刻を照らし合わせてください。調査資料を共有する前に、サーバーアドレス、サブスクリプションURL、認証情報を削除してください。

STEP 05 / SETTINGS & DIAGNOSTICS

よくある問題を段階ごとに確認

Shadowrocketが接続できない場合、まずどの段階で失敗しているかを特定します。サブスクリプションが読み込まれない、スイッチがオンのままにならない、テストに失敗する、特定のページだけ開けない、といった状況を切り分けてください。以下では、情報の確認からリクエストの確認まで順に説明します。各項目を確認したら同じ対象で再試行し、変化を記録してください。すべてを何度も削除して追加し直すより、原因を見つけやすくなります。

読み込み後にサーバーが表示されない:情報と取得状況を確認する

まずサブスクリプションの登録を開き、TypeがSubscribeであることと、URL全体が正しく入力されていることを確認します。URLの期限切れ、対応していない形式、現在のネットワークからサブスクリプションのアドレスにアクセスできないことなどが、更新失敗の原因になります。アプリを購入してもサーバー一覧は自動で表示されません。ユーザー自身が有効な情報を用意して読み込む必要があります。元のURLが変更されている場合は、不明な情報をつなぎ合わせず、ご自身のサービス提供元に確認してください。

スイッチはオンになるがテストに失敗する:設定とテスト方法を確認する

該当するサーバーの詳細を開き、Type、Host、Port、認証情報、通信設定を元の情報と一つずつ照合してください。SettingsでTest Methodを確認し、同じ種類のテストを比較しているか確かめます。テスト方法を変えると結果の現れ方が変わる場合がありますが、テスト方法を変更してもサーバー情報の誤りは直らず、実際のページへのアクセス確認の代わりにもなりません。

必要に応じてSettingsのDiagnosticsを使い、状況の把握に役立てます。出力内容を確認する際は、まず接続や名前解決に関する情報を見てください。診断情報をすべてそのまま公開しないでください。ネットワークアドレスなどの個人情報が含まれる場合があります。Wi-Fiとモバイル通信を比較する場合は、サーバー、ルーティング方式、テスト対象を変えず、特定のネットワークだけで問題が起きるか確認します。

一部のページだけ開けない:ルールと名前解決を確認する

ほとんどの通信は正常で、特定の対象だけ失敗する場合は、REJECTに一致していないか、想定外のDIRECTに割り当てられていないかを確認します。広い範囲に一致するルールが上にあると、後続の詳細なルールが適用されないことがあります。FINALがルールの末尾にあることと、そのポリシーを確認してください。ドメインの名前解決失敗とプロキシ接続の失敗は別の問題です。リクエストの記録を参照して切り分け、DNS設定をむやみにすべて変更しないでください。

手動接続は正常で自動接続に問題がある:最後にOn Demandを確認する

手動接続の動作を確認してから、SettingsでOn Demandを確認します。現在のネットワークと接続条件が一致しているか、また自動接続後にスイッチが想定どおり変化するかを確認してください。複数の条件を設定している場合は、まず検証しやすい一つに絞り、その後で条件を追加します。問題を切り分けるため、On Demandを一時的に無効にし、手動接続と実際のページ表示を再確認する方法もあります。

SettingsにはProxy、TCP、UDPなどの関連設定もあります。初回のトラブル確認では、これらを同時に変更しないでください。プロトコルの要件や失敗する範囲が分かってから、該当する項目を確認します。TCPでアクセスできても、UDPを使うアプリが必ず正常に動くとは限りません。一つのテストに失敗しても、すべての通信が失敗するとは限りません。「同じサーバーで、モバイル通信ではテストに失敗するが、Wi-Fiでは応答する」のように具体的に状況を記録すると、「まったく使えない」といった曖昧な説明より役立ちます。

ここまでの確認で、問題を情報、システムの許可、サーバー接続、ルール、ネットワーク環境のいずれかに絞り込めるはずです。用語の意味は用語早見表をご覧ください。購入アカウント、ストアの国・地域、再インストール後の購入済みアプリの復元を確認する場合は、正規購入ガイドへ進んでください。購入と接続は別々に確認するものです。通信に失敗したからといって、アプリを再購入しないでください。

ShadowrocketのSettings画面。Language、Test Method、Today Widget、On Demand、Diagnostics、Proxy、TCP、UDPを表示
App Store公式スクリーンショット:Settings。まずTest Methodを確認し、必要に応じてDiagnosticsを使います。手動接続が正常に確認できてからOn Demandを確認してください。