Shadowrocketの使い方
サブスクリプションの追加と接続確認
Homeから始め、情報の追加、Global Routingの選択、接続、動作確認の順に進めます。このページでは、初回利用に必要な基本手順を説明します。対象はiPhoneとiPadです。複雑なルールや継続的な問題については、トラブルシューティングガイドをご覧ください。
操作の順序:まず項目が保存されていることを確認し、次に接続経路を確認してから、実際のリクエストを送信します。原因を切り分けやすくするため、一度に変更する項目は一つにしてください。
STEP 01 / IMPORT
Add ServerからSubscribeを追加する
Shadowrocketを開き、Homeに移動します。まず、手元の情報の種類を確認してください。サブスクリプションURLは通常、複数のサーバー情報をまとめて取得・更新するためのものです。一方、個別のサーバー情報には、プロトコル、アドレス、ポート、認証パラメータが含まれます。それぞれ入力方法が異なります。URLが長いという理由だけでSubscribe用だと判断しないでください。情報の種類がわからない場合は、提供元の説明を先に確認してください。
サブスクリプションURLをお持ちの場合:Subscribeを選択
Homeの右上にあるプラスボタンからAdd Serverを開き、Typeを開いてSubscribeを選びます。URLにご自身のサブスクリプションURL全体を貼り付け、判別しやすい名前を入力して保存します。貼り付けた後は、先頭と末尾、クエリパラメータを確認してください。メッセージに含まれていた引用符、空白、改行は取り除きますが、URLの後半を勝手に削除しないでください。サブスクリプションURLにはアクセス認証情報が含まれることがあります。ご自身のデバイス上のアプリでのみ使用してください。
保存後、Homeに戻り、初回の取得が完了するまで待つか、サブスクリプションを更新します。サブスクリプショングループ内にサーバー項目が表示されれば、アプリが内容を取得して認識できたことがわかります。サブスクリプション名だけが表示されていても、サーバーの追加が完了したとは限りません。リストが空の場合は、ここでURLと更新結果を確認してください。接続スイッチを試す必要はありません。
https://example.com/sub?token=xxxx
上記はURLの構造を説明するための例であり、利用できるサブスクリプションではありません。実際の操作ではご自身のURLを貼り付け、例をアプリに入力しないでください。
サーバー情報をお持ちの場合:プロトコルに合わせて入力
個別のサーバー情報を受け取った場合も、HomeのプラスボタンからAdd Serverを開きます。TypeではSubscribeではなく、情報に指定されたプロトコルを選びます。次にAddress、Port、プロトコルで必要な認証項目を一つずつ確認します。Shadowsocks、VMess、VLESS、Trojanなどでは入力項目が異なります。別のプロトコルのフォームを参考に入力したり、暗号化方式や通信パラメータを推測したりしないでください。
TLS、サーバー名、通信方式に関するパラメータが含まれている場合は、元の情報どおりに入力してください。アドレスと証明書の検証に使う名前が異なる場合があります。安易に同じ値にまとめないでください。ご自身のサーバー共有リンクやScan QR Codeから追加した場合も、項目を開いて重要なフィールドを確認します。保存できたことは、項目の形式が受け付けられたことを示すだけで、接続先が利用可能であることを保証するものではありません。
Homeに戻ったら、使用するサーバーをタップし、選択マークが想定した項目に付いていることを確認します。初回の確認では一つの項目だけを使い、複数のサーバーを続けて切り替えてから結果を判断しないでください。追加が完了した状態とは、リストにサーバーが表示され、パラメータを確認でき、現在の選択項目が明確であることです。次に、これらのサーバーを接続にどう使うかを決めます。
STEP 02 / GLOBAL ROUTING
Global Routingの3つのモード
HomeでGlobal Routingを開き、今回の確認に使うモードを選びます。ここでは通信の処理方法を決めます。現在選択中のサーバーとは別の設定です。このガイドではConfig、Proxy、Directと表記します。画面内で探す英語名は括弧内の表記です。
| モード | 通信の処理方法 | 今回の確認での使い方 |
|---|---|---|
| Config | 現在の設定ファイルにあるルールとポリシーに従ってリクエストを処理します。 | ルールによる振り分けに使用します。現在の設定とポリシーの指定先を先に確認してください。 |
| Proxy | Proxyモードで通信を処理し、選択中のサーバーを経由する経路を確認できます。 | 初回のトラブルシューティングで一時的に使うと、ルールの適用による変数を減らせます。 |
| Direct | 宛先へ直接接続します。選択中のサーバーが利用可能であることの証明にはなりません。 | ローカルネットワークから宛先に直接アクセスできるか比較するために使います。 |
初回の追加後、選択したサーバーで実際のリクエストを処理できるかだけを確認したい場合は、まずProxyを選び、テストを一度行ってから必要に応じてConfigに戻します。これは確認の手順であり、普段からProxyを使い続ける必要があるという意味ではありません。モードを切り替えた後はHomeに戻り、表示されている値を確認してください。切り替えたつもりでも、以前の選択のままになっていることがあります。
Configを使う場合は、Config画面を開き、選択中の設定ファイルを確認してください。サブスクリプションのサーバー一覧とConfigのルールファイルは役割が異なります。前者は接続先の項目を提供し、後者はリクエストに適用するルールやポリシーを決めます。サブスクリプションを更新してもルールは更新されません。サーバーを追加しただけで、ルール設定まで選択されたことにもなりません。お手持ちの設定を使う前に元のファイルを残し、参照されているポリシーから想定したサーバーまたはポリシーグループを選べることを確認してください。
初回接続のために、内容を把握していないルール一式をコピーしないでください。まず個別サーバーの接続経路を確認してから、通信の振り分けを設定します。DOMAIN-SUFFIX、PROXY、DIRECTなどの意味は用語集をご覧ください。このページではルールの優先順位や複雑なポリシーの組み合わせは扱いません。モードを選んだら、システムの接続許可に進みます。
STEP 03 / CONNECT
接続スイッチをオンにしてシステムの許可を行う
Homeに戻り、選択中のサーバー、Global Routingの現在の値、Wi-Fiまたはモバイル通信が利用できることを順に確認してから、画面上部の接続スイッチをオンにします。初回接続時に、システムからShadowrocketによるVPN構成の追加を許可するよう求められることがあります。これはシステムのネットワーク接続に必要な許可であり、サブスクリプションの更新やアプリの再購入ではありません。アプリ名を確認し、システムの案内に従って許可とデバイス認証を完了してください。
許可を完了したらShadowrocketに戻り、スイッチがオンのままか確認します。システムのVPN状態も接続状況の参考になりますが、示すのはシステム接続が確立されたことだけです。すべての宛先にアクセスできることや、すべてのリクエストが選択中のサーバーを経由することは証明できません。必ず次の手順で実際の通信を確認してください。「スイッチがオンになった」だけで確認を終えないでください。
システムの許可を拒否したことがある場合や、スイッチをオンにしてすぐオフになる場合でも、すぐにサーバーを削除しないでください。まず接続をもう一度試し、許可の案内が表示されるか確認します。次に、システム設定でVPN構成の状態と、ほかのVPN接続が動作中でないかを確認してください。原因を調べる間は、複数のネットワーク構成を同時に切り替えないよう、ほかのVPN接続を終了します。組織の管理下にあるデバイスでは、システムポリシーにより構成の追加が制限されることがあります。許可されている操作をデバイスの管理者に確認してください。
手動接続がまだ安定していない段階では、On Demandを設定しないでください。On Demandは条件に応じて接続を開始する機能であり、誤ったサブスクリプションURLやサーバー情報を修正するものではありません。まず手動でオン・オフを切り替え、想定どおりに動作することを確認してから、自動接続の条件を個別に設定します。iPadでも同じ順序で進めてください。画面の配置はデバイスやアプリの更新によって異なる場合があるため、現在のアプリに表示されている英語の項目名を目印にしてください。
STEP 04 / VERIFY
Connectivity Testと実際の通信を確認する
接続をオンにしたら、現在のサーバーでConnectivity Testを実行し、結果が表示されるか確認します。このテストは接続性を判断する手がかりであり、すべてのアクセスを保証するものではありません。テスト対象やプロトコル経路は実際のサイトへのリクエストと異なる場合があるため、一度成功してもすべてのリクエストが成功するとは限りません。一度のタイムアウトだけでサーバーが恒久的に使えないとも判断できません。新たな要因を増やさないよう、テスト中はサーバーとモードを変えないでください。
続いてブラウザーを開き、普段使っていてアクセス権のあるサイトにアクセスし、ページを再読み込みして通常どおりリクエストが完了するか確認します。キャッシュで接続状態がわかりにくくなることがあるため、すでに開いているページだけで判断しないでください。比較する場合は、同じ宛先について、接続オフ、Proxy、Configそれぞれの結果を記録します。状態を変えるたびにリクエストを新しく送り、ネットワークとサーバーを同時に変更しないでください。
アクセスできるかだけでなく、通信経路も確認する
サイトが開けても、Proxyを経由したとは限りません。Configモードでは、リクエストがもともとDIRECTに一致する場合があります。振り分けを確認するには、アプリ内の該当するリクエスト記録を開き、宛先のドメイン、適用されたルール、最終的なポリシーを確認してください。Data画面の通信量の変化も参考になりますが、バックグラウンドの通信でも増えるため、数値の変化を直前のサイト閲覧によるものと決めつけないでください。
ProxyではアクセスできてConfigではできない場合は、現在の設定にあるルールとポリシーの指定先を優先して確認します。DirectではアクセスできてProxyではできない場合は、選択中のサーバーと接続先までの経路を確認してください。どちらでもアクセスできない場合は、まずローカルネットワークとアクセス先が正常かを確認します。この比較は原因を絞り込むためのものであり、個々のエラー記録の確認に代わるものではありません。
動作確認の基準を具体的にしましょう。選択中のサーバーのテスト結果を説明できること、宛先へのリクエストが完了すること、振り分けが必要なリクエストの経路が想定どおりであることを確認します。確認後は、普段使うGlobal Routingに戻し、同じ宛先でもう一度確認してください。現在利用できるサーバーと設定名を記録しておけば、後で問題が起きたときに比較でき、設定を最初から推測し直す必要がありません。
STEP 05 / CHECKPOINTS
問題が起きた箇所を確認する
問題が起きたら、最初に完了しなかった手順から確認します。サーバーがリストにない場合は追加を解決し、スイッチがオンのままにならない場合はシステム接続を解決します。特定の宛先だけ失敗する場合は、その宛先に適用されるルールと名前解決を確認します。どの問題もアプリの再インストールで解決しようとしないでください。再インストールするとローカル設定が失われることがあり、接続先で無効になったURLも修復できません。
Subscribeを保存しても項目が表示されない
サブスクリプションの設定を開き直し、URL全体が入力されているか、空白、改行、メッセージ内の句読点が混ざっていないか確認します。貼り付けたものがサブスクリプションURLであり、アカウントのWebページではないことも確認してください。更新を一度実行して結果を確認します。内容が空、形式を認識できない、またはリンクが無効な場合は、ご自身の提供元にリンクの状態と対応形式を確認してください。サブスクリプションURLには個人の認証情報が含まれることがあるため、URL全体を公開の掲示板に貼り付けないでください。
これまで更新できていたのに急に失敗した場合は、まず通常のネットワーク接続が使えることを確認し、現在のネットワークで同じサブスクリプションを取得できるか調べます。同じサブスクリプションを何度も追加して試さないでください。重複したグループが増えると、後で選択中の項目を判別しにくくなります。サブスクリプションの更新とアプリの更新は別の操作です。前者はサーバー情報を更新し、後者はApp Storeからアプリを更新します。
スイッチはオンだが、サーバーのテストがタイムアウトする
まずサーバーのアドレス、ポート、認証パラメータが元の情報と一致しているか確認し、続いてプロトコル固有のTLSや通信パラメータを確認します。利用可能な別のローカルネットワークに切り替え、サーバーを変えずに比較してください。ネットワークを変えて復旧する場合は、元のネットワーク経路を優先して調べます。複数のネットワークで失敗する場合は、ポートをむやみに変更したり必要な検証を無効にしたりせず、ご自身のサーバー管理者に接続先の状態を確認してください。
追加した項目のうち一つだけが失敗する場合は、同じサブスクリプション内にある、ご自身が利用できる別の項目と比較できます。切り替え前後の結果を記録してください。一度に変更するサーバーは一つにし、ConfigやDNSを同時に変えないでください。テストが時々成功しても実際のリクエストが失敗する場合は、対象とエラー記録を確認します。テスト結果だけを根拠に接続スイッチを何度も切り替えないでください。
Proxyでは正常だが、Configで一部の宛先にアクセスできない
Config画面で想定したファイルが選択されていることを確認し、失敗したリクエストにどのルールが適用されたかを調べます。ルールがDIRECTやREJECTを指定している場合や、正しく設定されていないポリシーグループを参照している場合があります。サーバーが利用可能でも、すべてのルールがそのサーバーを参照しているとは限りません。元のファイルを残し、該当するルールを特定してから変更してください。設定一式を置き換えて、本当の原因を見えなくしないようにしましょう。
ドメインへのアクセスに問題があり、ほかの接続は正常に見える場合は、DNSも確認対象にします。ただし、複数の名前解決設定を同時に変更しないでください。現在の設定を記録し、元の設定の意味を確認してから一項目ずつ比較します。証明書の警告が表示された場合も、そのまま無視せず、接続先の名前、デバイスの時刻、関連する接続パラメータを確認してください。DNS、TLS、ルールの詳しい確認手順はトラブルシューティングガイドをご覧ください。
ネットワーク切り替え後やアプリに戻ったときに問題が起きる
まず手動で接続を切断してから再接続し、新しいネットワーク自体が使えることを確認します。続いて、サーバーとGlobal Routingが直前に動作確認できた組み合わせのままかを確認してください。On Demandを設定している場合は、起動条件を記録し、必要に応じて自動接続を一時的にオフにして、手動接続だけを確認します。基本の接続が安定する前に自動化の設定を追加すると、起動条件の問題かサーバー接続の問題かを切り分けにくくなります。
このページの手順を終えると、Homeでご自身のサーバーを確認し、各モードの違いを説明し、接続を手動でオン・オフし、実際のリクエストで結果を確認できるようになります。普段は必要に応じてサブスクリプションを更新し、使える設定を保管し、変更後に動作確認を繰り返してください。購入や許可についてはよくある質問をご覧ください。英語の項目名がわからない場合は用語集を、問題が続く場合はトラブルシューティングガイドを順にご確認ください。