公式マニュアル / 初回接続

Shadowrocketの使い方

既存のサブスクリプションを追加 → Global Routingを選択 → 接続を許可 → 動作確認 → 接続できない原因を確認。まず再確認できる接続を確立し、その後ルールや自動接続の設定を調整します。

手順1:Add ServerからSubscribeを追加

Shadowrocketを開いたら、まずHomeに進みます。ここでは登録済みサーバーの確認、使用する項目の選択、接続の操作を行います。初めて使う場合は、手元の情報がどちらに当たるか確認してください。サーバーリストを更新するためのサブスクリプションURLか、プロトコル、アドレス、ポート、認証情報を含むサーバー情報です。入力場所は異なります。サブスクリプションURLをサーバーアドレスとして入力したり、通常のWebページURLをSubscribeに入力したりしないでください。

サブスクリプションがある場合:Subscribeを選び、URLをすべて入力

Homeの右上にある追加ボタンをタップし、Add Serverを開いて、TypeからSubscribeを選びます。入力画面に戻ったら、ご自身のサービス提供元から入手したサブスクリプションURLをURL欄に最後まで貼り付けます。備考には、後から識別できる名称を入力できます。保存する前にURLの先頭と末尾が欠けていないか確認してください。特に「?」以降のパラメーターを省略したり、メッセージに含まれる空白、改行、説明文を一緒に貼り付けたりしないよう注意します。

以下はURLの形式例であり、実際のサーバーの取り込みには使用できません。実際のサブスクリプションURLには認証情報が含まれていることが多いため、パスワードと同様に扱ってください。公開スクリーンショットやチャットグループ、問い合わせ内容に載せないでください。

https://example.com/sub?token=xxxx

保存後、Homeに戻り、サブスクリプションの読み込みが終わるまで待ってから、該当するグループにサーバー項目が表示されているか確認します。サブスクリプションを保存しただけでは、リストの取得に成功したとは限りません。グループが空の場合は、URLがサブスクリプションの内容を指しているか、有効なサブスクリプションか、ローカルネットワークからアクセスできるかを確認してください。既存のグループを更新する場合は、そのグループの操作メニューから更新し、リストの変化を確認します。同じサブスクリプションを何度も追加するとグループが重複し、使用中のものを判別しにくくなるため避けてください。

サーバー情報がある場合:プロトコルに応じて各項目を入力

個別のサーバー情報がある場合は、Add ServerのTypeから該当するプロトコルを選び、必要な項目を入力します。Shadowsocks、VMess、VLESS、Trojanなどは認証方式がそれぞれ異なるため、入手した情報に従ってください。空欄があるからといって、値を推測して入力しないでください。サーバーアドレス欄には通常、ホスト名またはIPアドレスを入力し、ポートは別に指定します。パスワード、UUID、暗号化方式、通信方式、TLS関連の設定はサーバー側の情報と一致させる必要があります。

SNI、Host、通信パスなどの項目がある場合は、提供された情報と一つずつ照合してください。接続先アドレスと同じとは限らないため、同じドメイン名をすべての欄に機械的にコピーしないでください。エラーを解消するために証明書の検証要件を安易に緩めるのも避けましょう。入力後に保存し、Homeに項目が表示されたことを確認してから、使用するサーバーを選びます。サーバー共有リンクを受け取った場合は、アプリのリンク取り込み機能を利用できます。QRコードの情報はScan QR Codeで読み取れます。取り込み後も各項目を確認してください。

ここまでで、Homeにサブスクリプションのグループとそのサーバー、または手動で保存した個別項目が表示されているはずです。名前の一括変更、グループの統合、自動切り替えの設定はひとまず行わず、次の確認に使う設定の明確なサーバーを一つ残しておきます。プロトコルの用語は用語の概要をご覧ください。サブスクリプションはサーバー情報の取得・更新に使い、Configは接続時のポリシーを設定します。両者は別のものです。

手順2:Global Routingのモードを選択

サーバーを保存したら、HomeでGlobal Routingを開きます。ここでは接続の処理方法を選ぶため、選択中のサーバーだけを見て、すべてのリクエストの経路を判断することはできません。モードはConfig、Proxy、Directの3種類です。接続をオンにする前にモードを確認しておくと、後のテスト結果を判断しやすくなります。

  • Config:有効な設定ファイル内のルールに従ってポリシーを選択します。リクエストごとにPROXY、DIRECT、REJECTなど異なるルールが適用される場合があります。サーバーを選択していても、すべてのリクエストがそのサーバーを経由するとは限りません。
  • Proxy:リクエストを現在のプロキシポリシーで処理します。選択したサーバーで実際にアクセスできるかを一時的に確認するのに適しています。ルールが想定どおり適用されるかの検証には代用できません。
  • Direct:リクエストを直接接続します。接続スイッチがオンでも、リクエストが選択したサーバーを経由しているとは限りません。

ルールを使う場合は、まずConfig画面を開き、設定ファイルの一覧と有効なファイルを確認します。設定ファイルをリストに追加しただけでは不十分で、実際に選択されている必要があります。設定ファイルのルールを確認する際は、用途と入手元を確かめてください。初回接続を完了するためだけに、内容を理解できない設定ファイル全体を取り込まないようにしましょう。設定内で参照されるポリシーも、登録済みサーバーやポリシー設定と一致している必要があります。ルールが正しくても、処理結果が想定と異なることがあります。

取り込んだばかりのサーバーを確認する場合は、元のGlobal Routingの設定を控えたうえで、一時的にProxyを選んで基本的な接続をテストできます。テスト後、ルールによる振り分けを使う場合はConfigに戻し、対象のリクエストを再確認します。この順序なら、サーバーが使えるかどうかと、ルールが想定どおり処理するかを分けて確認でき、二つの問題を同時に調べずに済みます。

このページではルールの書き方全体は扱いません。「Global Routingで処理モードを選び、そのモードに応じてConfigのルールが判定に使われる」と理解してください。DOMAIN-SUFFIX、IP-CIDR、FINALを設定する場合は、ルールマニュアルを読み、上から順に照合される仕組みを確認してから設定を変更します。変更前に元の設定を残し、初回テストでサーバー、ルール、DNSを同時に変更しないようにしてください。

手順3:Homeで接続をオン

Homeに戻り、選択中のサーバーと、先ほど確認したGlobal Routingの設定を見直します。サブスクリプションのリストには名前が似た項目が複数ある場合があります。テストする項目を選んでから、画面の接続スイッチをオンにしてください。Configで定義したポリシーを使う場合は、リストの名前だけで判断せず、ポリシーの接続先も確認します。

初回接続時、iPhoneまたはiPadにVPN構成の追加を許可するシステム確認が表示されることがあります。これはアプリがシステムのネットワーク機能を使って接続するための確認で、サブスクリプションアカウントのログイン画面ではありません。表示された内容がShadowrocketに関するものと確認してから許可し、必要に応じてデバイスの認証を行ってください。許可はシステム画面で行います。デバイスのパスコードをサーバーのパスワード欄やサブスクリプションURL欄に入力しないでください。

許可したらShadowrocketに戻り、接続スイッチとステータスが接続中のままか確認します。先ほど許可をキャンセルした場合は、もう一度接続スイッチをオンにして案内に従ってください。デバイスの管理ポリシーによる制限、システムでの構成追加の不許可、別のVPN接続の使用などが考えられる場合は、システムの案内を確認し、制限の原因を調べます。問題を隠すためにスイッチを何度も素早く切り替えないでください。

システムに「VPN接続済み」と表示されても、接続が確立したことを示すだけで、目的のサーバーやすべてのWebサイトが利用できる保証にはなりません。ステータスアイコンの表示位置はデバイスによって異なります。次にアプリ内の状態を確認し、実際にリクエストを送信してください。初回の確認中は手動接続のままにし、On Demandの変更は一旦控えましょう。ネットワーク切り替え時の自動動作が確認の妨げになる場合があります。基本的な接続を確認してから、普段の使い方に合わせてオンデマンド接続を設定してください。

手順4:Connectivity Testと実際のアクセスを確認

接続をオンにしたら、HomeでConnectivity Testを実行し、使用するサーバーに到達できるか確認します。テスト対象が現在の項目であり、別のグループや古い記録ではないことを確かめてください。テスト結果は原因の切り分けに役立ちますが、テスト方法と実際のWebアクセスは同じではありません。一度成功しただけであらゆるアクセスが正常とは限らず、遅延の数値だけで使い心地を判断することもできません。

次にブラウザーを開き、内容を確認できる見慣れたWebページにアクセスします。ページを更新し、さらに別のページも開いてください。キャッシュから表示された古いページは、確認の根拠として不十分です。まずは安定してアクセスできる少数のページでテストし、余計なリクエストが増えるため複数のアプリを同時に開かないようにします。一つのWebサイトだけ開けない場合は、他のサイトの結果も記録し、すぐに接続全体の問題と判断しないでください。

Configモードでは、リクエストが想定したポリシーで処理されたかも確認します。ShadowrocketのDataを開き、利用できる接続記録を確認してください。リクエストのドメイン、発生時刻、記録に表示されるポリシー情報を照合します。まず対象を決めてアクセスしてから該当する記録を見ると、多数のバックグラウンド通信から推測するより判断しやすくなります。記録に表示される項目は現在のアプリ画面に従ってください。

リクエストがDIRECTに一致した場合、Webページが開いてもプロキシサーバーが使える証明にはなりません。REJECTに一致した場合も、ページが開かないことだけを根拠にサーバー設定の誤りとは判断できません。プロキシ自体を確認するには、一時的にProxyに切り替えて同じ対象を再テストし、その後元のモードに戻します。Proxyでは正常でConfigでは問題がある場合は、サブスクリプションを何度も取り込み直すのではなく、設定ファイルとルールを優先して確認してください。

最後に、同じ手順を繰り返して確認します。接続をオフにした状態でローカルネットワークを確認し、再度オンにしたら同じサーバー、同じモード、同じWebページでテストして違いを記録します。アカウントのログイン状態、コンテンツの地域表示、特定ページのメッセージだけを判断基準にしないでください。アカウントやキャッシュの影響を受ける場合があります。「何を選択したか」「リクエストにどのルールが適用されたか」「実際のアクセス結果はどうだったか」を説明できれば、一連の確認は完了です。

手順5:失敗した段階に応じて確認

接続できない場合は、どの段階で止まっているかを確認します。サブスクリプションを取り込めない、サーバーテストに失敗する、システム接続が確立しない、接続後に特定のリクエストで問題が起きる、といった状況を切り分けてください。一度に変更する条件は一つにし、変更したらすぐに再テストします。ネットワーク、サーバー、設定を同時に変更すると、成功や失敗の原因を判断できません。以下の順に近いところから確認し、原因が見つかったら他の項目は変更しないでください。

まずローカルネットワークとサブスクリプションの読み込みを確認

まずShadowrocketの接続を一時的にオフにし、ブラウザーでローカルネットワーク自体が使えるか確認します。公衆Wi-Fiでは先にネットワークへのログインが必要な場合があります。別のネットワークに切り替えて結果が変わったら、その違いを記録し、同じサーバーでもう一度テストしてください。ローカルネットワークがつながっていない状態で、サブスクリプションを何度も更新しないでください。

Subscribeを保存しても項目が表示されない場合は、URLが完全か、アカウントページのURLを誤って使っていないか、サブスクリプションが有効かを再確認します。リストはあるものの更新に失敗する場合は、現在利用できる情報を残し、まず更新時のエラーを確認してください。グループ全体を先に削除しないでください。サブスクリプションの更新はサーバー情報を再取得する操作であり、各サーバーへの到達や使用中の項目の切り替えを保証するものではありません。

次にプロトコル設定とシステム時刻を確認

Connectivity Testが繰り返し失敗する場合は、Type、アドレス、ポート、認証情報を一つずつ照合し、TLS、SNI、通信方式も確認します。サーバー名からプロトコルを推測せず、入手したサーバー情報を参照してください。サブスクリプションを更新しても問題が続く場合は、更新後の項目が選択されていることも確認します。ポート、パスワード、証明書の設定を適当に変えて試すのは避けてください。

デバイスのシステム時刻が正確か確認し、必要に応じてシステム設定で日付と時刻を見直します。時刻のずれは、証明書の有効期限の判定や一部の認証処理に影響する場合があります。テストのタイムアウトは、現在のネットワークからサーバーまでの経路やサーバー自体の状態が原因の可能性もあります。一度の結果だけでは原因を特定できません。同じ設定のまま利用可能な別のネットワークで再テストすると、問題の範囲を絞り込めます。

接続済みの場合はモードと有効な設定を確認

接続スイッチをオンにできてもWebページの表示が想定と異なる場合は、Global Routingに戻ります。Directのままになっていないか、一時的な確認の後にConfigへ戻し忘れていないか確認してください。次にConfigで有効な設定ファイルを確認し、対象のリクエストに適用されたポリシーを調べます。一部のドメインだけに問題がある場合は、ルールとドメインの名前解決を確認し、すぐにすべての設定をリセットしないでください。

設定の問題が疑われる場合は、元のファイルを残し、用途が分かっている設定ファイルまたは一時的なProxyモードで比較します。同じサーバーと対象を使って比較し、確認後は元の状態に戻してください。設定項目、ポリシーの意味、ルールの優先順位についてはShadowrocketのルール・設定リファレンスをご覧ください。Subscribe、Config、Connectivity Testの違いは用語の概要で確認できます。

結果を記録してから次の調整へ

原因を特定できない場合は、失敗した具体的な手順、使用中のネットワークの種類、Global Routingのモード、テスト対象、表示されたエラーメッセージをまとめます。ご自身のサービス提供元にサーバーの状態を問い合わせる際は、原因の特定に必要な情報だけを伝え、サブスクリプションURL内の認証情報、パスワード、個人情報を隠してください。サブスクリプションURL全体を公開の問い合わせに貼り付けないでください。

安定した接続を確認できたら、ご自身のルール、サブスクリプションの更新方法、On Demandの設定を一つずつ追加します。変更のたびに元に戻せる設定を残し、同じ対象で再テストしてください。後で問題が起きた場合も、このページの「取り込み → モード → 接続 → 確認」の順に見直すと、すべての項目を削除してやり直すより原因を特定しやすくなります。