公式マニュアル / 入門ガイド

Shadowrocket の使い方

既存サブスクリプションの追加、Global Routing の選択、接続確認を解説します。まず接続を確認してから、ルールや自動接続を調整します。

基本の流れは「追加 → 接続モードを選択 → 接続 → 確認 → トラブル対処」です。公式スクリーンショットは項目や操作場所の確認に使います。実際の画面は端末やアプリの設定によって異なる場合があります。英語の画面表示を目印にし、スクリーンショット内の接続情報は転記しないでください。

01 / Add Server · Subscribe

サーバーの追加と既存サブスクリプションの読み込み

手元の情報がサブスクリプションリンクか、サーバーの設定情報かを確認します。種類によって入力手順が異なります。

Shadowrocket を開いて Home に移動し、SERVER のグループと Add Server を探します。サブスクリプションリンクがある場合は、利用中のサービス提供元からリンク全体をコピーし、Add Server をタップして Type で Subscribe を選びます。追加画面に戻ったら、該当する URL 欄にリンクを入力します。リンクの先頭、パス、末尾のパラメーターがすべて含まれていることを確認して保存してください。サブスクリプションリンクには認証情報が含まれることがあるため、個人の接続情報として扱い、公開コメントやスクリーンショットに貼り付けないでください。

保存後、読み込みが完了するまで待ち、Home に戻って SERVER にサブスクリプショングループとサーバー項目が表示されるか確認します。サブスクリプション名だけが表示され、選択できる項目がない場合は、読み込みや更新時のエラーメッセージを確認してください。すぐに接続スイッチをオンにしないでください。リストが空になる原因には、リンクの欠落、サブスクリプションの期限切れ、現在のネットワークから読み込めないこと、応答内容が要件に合わないことなどがあります。同じリンクを繰り返し追加してもグループが重複するだけで、読み込みの問題は解決しません。

Add Server に手動で入力する

サーバーアドレス、ポート、認証情報が手元にある場合は、Add Server の Type で情報に記載されたプロトコルを選びます。Subscribe は選ばないでください。次に Host、Port と、そのプロトコルで必要な項目を一つずつ確認します。たとえば Shadowsocks では Password と Method を確認します。他のプロトコルでは認証や通信設定の項目が異なる場合があります。すべての項目に共通する初期値はありません。あるプロトコルのパスワード、暗号化方式、通信設定を別のプロトコルにそのまま適用しないでください。

Host にはサーバー情報に記載されたアドレスを、Port には指定されたポート番号を入力します。コピー時は前後の空白、改行、全角記号に注意してください。パスワードの大文字・小文字や特殊文字も、元の情報どおりに入力します。TLS、サーバー名、追加の通信パラメーターが指定されている場合は、対応する項目も確認してください。アドレスとポートを入力しただけでは設定は完了しません。項目が判断できない場合は、設定を試行錯誤で切り替えるのではなく、元の情報の提供元に確認してください。

読み込みに使える QR コードがある場合は Scan QR Code を使用できます。互換性のある Cloud JSON が明示的に提供されている場合に限り、Import from Cloud JSON を使用してください。保存後に Home に戻り、SERVER から利用するサーバーを選択して、選択マークがその項目に付いていることを確認します。サブスクリプショングループが表示されただけでは、サーバーは選択されていません。項目の表示は追加が完了したことを示すだけです。次に Global Routing の接続モードを選択します。

Shadowrocket 公式 Add Server 画面:Type、Host、Port、Password、Method と画面下部の読み込みメニュー
Add Server:まず Type を選び、手元の情報に応じて項目を入力します。

02 / Global Routing · Config

接続モードとルール設定を選択する

サーバーは接続先を決め、Global Routing はリクエストの振り分け方を決めます。サブスクリプションを読み込んでも、適切なルール設定が自動で追加されるわけではありません。

Home に戻り、Global Routing をタップして現在の選択を確認します。接続モードは Config、Proxy、Direct の3種類です。Config は現在の設定ファイルのルールに従って動作を決めます。Proxy は対象となるリクエストを選択中のプロキシ経由にし、サーバーの確認に使えます。Direct は現在のネットワークから直接リクエストを送ります。これらはリクエストの処理方法を変更するもので、無効なサーバー認証情報を補ったり、到達できないサーバーアドレスを修復したりする機能ではありません。

初回の確認では、内容を確認済みの設定ファイルがある場合は Config を選び、実際に使用している Config を確認します。ルールが正しいか分からない場合は、一時的に Proxy を使って既存サーバーをテストし、その後 Config に戻して振り分けを確認できます。Direct は基本ネットワークとの比較に使えますが、Direct でアクセスに成功しても、そのリクエストが直接接続で利用できることを示すだけで、プロキシサーバーの正常動作を証明するものではありません。

Config を確認し、すべてのルールを急いで変更しない

Config を開いて現在の設定ファイルを確認し、編集画面で General、Rule、Hosts、URL Rewrite、HTTPS Decryption の各セクションを確認します。初めて使う場合は、まず Rule と現在選択中の設定に注目してください。すべての機能を一度に有効にする必要はありません。通常、サブスクリプションはサーバー項目の管理に使い、Config は接続処理を定義します。どちらも既存の情報から取得した場合でも、別々に確認してください。SERVER にサーバーが表示されても、Rule の設定が完了したとは限りません。

ルールは通常、上から順に照合され、最初に一致したルールが接続の動作を決めます。PROXY はプロキシポリシーに渡すこと、DIRECT は直接接続すること、REJECT はリクエストを拒否することを示します。以下は構文の例であり、すべてのユーザーに適用できる完全な設定ではありません。利用可能なサーバー情報も含まれていません。特に PROXY に対応するポリシーは、実際の設定内で利用可能である必要があります。数行のルールをコピーしても、プロキシの接続先が自動的に作成されるわけではありません。

  • DOMAIN-SUFFIX,example.comPROXY
  • GEOIP,CNDIRECT
  • DOMAIN-KEYWORD,adsREJECT

Add Rule を使う前に、現在の Config をエクスポートするか複製を保存し、変更は一度に一つだけ行って目的を記録してください。接続確認が済んでいない段階で Rule、Hosts、HTTPS Decryption を同時に変更すると、原因の特定が困難になります。DOMAIN-SUFFIX、GEOIP などのキーワードの照合範囲は用語集で確認できます。接続モードと設定を確認したら、Home に戻って初回接続を行います。

Shadowrocket 公式 Config 画面:General、Rule、Hosts、URL Rewrite、HTTPS Decryption、Add Rule
Config:まず Rule と選択中の設定を確認してから、Add Rule が必要か判断します。

03 / Home · Not Connected

スイッチをオンにしてシステムの許可を完了する

接続前にサーバーと Global Routing を再確認します。接続スイッチの状態とサーバーの利用可否は、別々に確認する必要があります。

Home に戻り、SERVER で選択中の項目が今回テストするサーバーであることを確認し、Global Routing が前の手順で選択した状態になっているか確認します。確認後、画面上部の Not Connected の横にある接続スイッチをオンにします。初回接続時、システムが VPN 構成の追加を求める場合があります。案内を確認して許可し、端末の指示に従ってシステム認証を完了してから Shadowrocket に戻ります。システムの確認が完了する前にスイッチを何度も操作すると、許可手順を接続失敗と誤認することがあります。

システムの VPN 構成は、対象となる通信をアプリに渡すためのものです。構成の追加を許可しても、サーバー認証の成功を意味するわけではありません。Home に戻り、画面上部の接続状態が変わったか、スイッチがオンのままかを確認します。オンにした直後にオフへ戻る場合は、そのときのメッセージを記録し、システム構成の追加が完了しているか、端末に管理上の制限があるか、他の VPN 接続がネットワークを制御しているかを確認します。再試行のために端末のネットワーク設定を一度にすべて削除しないでください。

接続状態が維持されている場合は、設定を続けて変更しないでください。現在のサーバー、接続モード、ネットワーク条件を保ったまま次の確認に進みます。後から比較できるよう、選択したサーバー名と Global Routing を記録してもかまいませんが、パスワードやサブスクリプションリンク全体は記録しないでください。スイッチがオンのままでも、確認できるのはクライアントの接続状態だけです。接続先が応答するか、ウェブページにアクセスできるか、ルールが一致したかは、実際のリクエストで確認してください。

Shadowrocket 公式 Home 画面:上部の Not Connected スイッチ、Global Routing、Connectivity Test、SERVER グループ
Home:サーバー、Global Routing、上部のスイッチ、Connectivity Test の順に確認します。

04 / Connectivity Test · Data

テスト結果と実際のリクエストを確認する

クライアントが接続状態を保っていること、サーバー経路が応答すること、対象リクエストが想定した動作をすることの3点を確認します。

Home で Connectivity Test をタップし、今回のテストが終わるまで待ちます。テスト結果は、特定のテスト方法と接続先の組み合わせでの到達状況を示すもので、すべてのウェブサイトやアプリにアクセスできることを保証しません。一度のタイムアウトだけでサーバーが恒久的に利用できないと判断することもできません。条件を変えずにもう一度テストし、結果が一致するか確認してください。Test Method を変更した場合は別のテストとして扱い、異なる方法で表示された数値を同じ指標として直接比較しないでください。

次にブラウザーを開き、アクセスできるはずのページを表示して再読み込みします。ローカルキャッシュの内容だけを確認しないよう、新しいリクエストを使うのが望ましいです。その後アプリに戻り、Data に表示される接続記録を確認して、リクエスト時刻と対象ドメインから先ほどのアクセスを探します。ルールやポリシーの情報が表示される場合は、設定の意図と一致しているか確認します。直接接続の想定なら DIRECT、プロキシ経由の想定なら PROXY が使われたか、REJECT が先に一致していないかを確認してください。

Proxy ではアクセスできるのに、Config では同じ対象にアクセスできない場合は、サブスクリプションを再読み込みする前に Rule の順序、ポリシーの参照、ドメイン解決を確認します。どちらのモードでも失敗する場合は、サーバーとネットワーク経路を確認します。一部のリソースだけが読み込まれない場合は、それらのリソースが使う個別のドメインも確認してください。メインページにアクセスできることと、すべてのリソースにアクセスできることは別の結果です。

Data の通信量が増えても、記録または処理されたリクエストがあることを示すだけで、特定のリクエストが正しい経路を通った証明にはなりません。確認後は、有効だと確認できた設定を保存し、日常的に必要なモードへ段階的に戻します。自動接続を使う場合は、On Demand の条件を確認してください。まず手動接続を検証してから自動起動を追加すると、起動条件の問題とサーバーの問題を切り分けやすくなります。

05 / Settings · Diagnostics

失敗した箇所に応じて確認する

一度に変更する項目は一つだけにします。エラーメッセージと再現条件を残すと、設定をすべて削除して試すより原因を特定しやすくなります。

読み込み後にサーバーが表示されない

まず接続をオフにし、基本のネットワークで通常のページを開けることを確認します。次に既存のサブスクリプションを開き、URL が完全か、期限切れでないか、空白が含まれていないか確認してください。サブスクリプションの更新失敗とサーバーへの接続失敗は別の段階です。前者は項目を読み込めていない状態、後者は項目があるものの利用可能な経路を確立できない状態です。サーバー項目がない段階で Global Routing を調整しないでください。既存情報の再発行やアクセス復旧が必要な場合は、元の情報の提供元に確認し、サブスクリプション全体を知らない相手に送らないでください。

項目があるのにテストがタイムアウトする

項目の編集画面を開き、元の情報に従って Type、Host、Port、認証項目を確認します。次に、プロトコルで必要な Method、TLS、通信パラメーターを確認してください。端末のシステム時刻も正しいか確認します。時刻に大きなずれがあると、安全な接続に影響する場合があります。可能であれば Wi-Fi とモバイル通信で同じ項目をそれぞれテストします。毎回ネットワークだけを変更し、プロトコルは同時に変更しないでください。特定のネットワークだけで失敗する場合は、そのネットワーク経路を優先して調査します。すべてのネットワークで失敗する場合は、設定値と接続先の状態を重点的に確認します。

スイッチはオンだが、対象にアクセスできない

Global Routing の選択を再確認します。誤って Direct を選んでいると、スイッチがオンでもプロキシが必要なリクエストはプロキシ経由になりません。Config を使用している場合は、先に一致した REJECT がないか、利用できないポリシーにリクエストが渡されていないか確認します。比較のため一時的に Proxy に切り替えてテストし、終了後は元のモードに戻します。問題を隠すためにすべてのルールを無効にしたり、特定の対象にアクセスできないことだけでアプリ全体の不具合と判断したりしないでください。

Settings で調査に必要な情報を確認する

Settings を開き、まず Test Method が今回のテスト目的に合っているか確認します。追加の手がかりが必要な場合は Diagnostics の診断情報を確認してください。On Demand、Proxy、TCP、UDP などの設定は、それぞれ異なる処理に影響します。初回のトラブル対処では複数の項目を同時に変更しないでください。接続が繰り返し自動で開始される場合は、既存の On Demand 条件を確認します。特定の通信種類だけ失敗する場合は、すべての設定を一括で初期化せず、関連項目を個別に確認します。

記録には「失敗した手順、接続モード、使用したネットワーク、表示されたメッセージ、実施済みの比較」を明記します。診断画面を共有する前に、サブスクリプションアドレス、パスワード、認証情報、個人の接続情報を隠してください。項目別の質問はよくある質問をご覧ください。ストアの地域、購入、再インストール後の復元についてはApp Store ガイドをご確認ください。対処後は有効だと確認できた設定に戻し、不要な変更を重ねないようにします。

Shadowrocket 公式 Settings 画面:Language、Test Method、On Demand、Diagnostics、Proxy、TCP、UDP
Settings:まず Test Method を確認し、必要に応じて Diagnostics を使用して、設定変更を一つずつテストします。