Official Manual / Quick Start

Shadowrocket 使い方

既存情報の追加 → ルーティングの選択 → 接続 → 確認 → トラブルシューティング

本ページでは、iPhone・iPadでの操作手順を説明します。まず接続を確認し、その後ルールやOn Demandを設定します。プロトコル項目の詳しい説明はプロトコルリファレンスをご覧ください。

  • 画面上の項目名は英語のまま表記
  • 一度に変更する項目は1つだけ
  • 記録してから変更

Step 01 / Add Server

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

手元の情報の種類を確認します。サーバー一覧を取得するサブスクリプションURLがある場合はSubscribeを使います。サーバーのアドレス、ポート、認証情報が個別にある場合は、該当するTypeを選んで手入力します。どちらか一方で十分です。サブスクリプションURLをHostやPasswordに分けて入力したり、一般的なWebサイトのURLをサブスクリプションURLとして使ったりしないでください。情報の意味が不明な場合は、入力を始める前に契約中のサービス提供元に確認してください。

Subscribeで読み込む

Shadowrocketを開き、HomeでAdd Serverを見つけて開きます。Typeをタップし、Subscribeを選択します。追加画面に戻り、手元にあるサブスクリプションURLをすべて入力し、識別しやすいメモを追加して、画面の保存操作を行います。コピー時はURLのクエリパラメーターを残し、前後に誤って含まれた空白や改行を削除してください。URLにアクセス認証情報が含まれる場合があるため、コメントやチャットのスクリーンショット、公開文書に載せないでください。

保存して内容を取得したら、Homeに戻り、サブスクリプショングループとサーバー項目を確認します。グループ名だけで項目が表示されない場合は、サブスクリプションの取得が完了しているか確認してください。すぐに接続を試さないでください。情報が更新されている場合は、サブスクリプション項目の更新操作で再取得し、期待する項目が表示されるか確認します。読み込みは接続情報をクライアントに登録する操作であり、サーバーが利用可能であることを示すものではありません。接続状態は後の手順で別途確認します。

Add Serverで手動入力する

Add ServerでTypeを選び、手元の情報に沿ってHost、Port、およびそのTypeに必要な認証情報を入力します。たとえばShadowsocksではPasswordとMethodを確認します。他のTypeでは認証、通信方式、TLSの項目が異なる場合があります。項目名が似ていても別の値で代用せず、Hostにパスを含むWebページのURLを入力しないでください。サーバーアドレス、ポート、英字の大文字・小文字、暗号化方式は元の情報と一致させます。

該当するQRコードがある場合は、Scan QR Codeで情報を読み込めます。Import from Cloud JSONは、対応する形式の情報を実際に持っている場合に限り使用してください。読み込み後も項目を開き、Typeと主要な項目を確認します。保存したらHomeに戻り、SERVERに項目が表示されていることを確認し、他の項目と区別できるメモを付けます。元の情報は手元に保管し、次の手順でルーティングを設定してから、その項目を選択して接続します。

ShadowrocketのAdd Server公式スクリーンショット。Type、Host、Port、Password、Methodと、Scan QR CodeおよびImport from Cloud JSONの入口を表示
Add Server:まずTypeを選び、該当する接続情報を入力します。

Step 02 / Global Routing

Global Routingのモードを選択

サーバー情報を保存したらHomeに戻り、Global Routingをタップします。ここでは通信の振り分け方法を選びます。サーバー情報を修正する機能ではありません。よく使うモードはConfig/Proxy/Directです。目的に応じて選択してから接続します。サーバーを選択した状態と、すべてのリクエストがサーバー経由になる状態は同じではありません。

Config:現在の設定に基づいてルールを適用

ルールで通信を振り分ける場合はConfigを選び、Config画面で現在使用中の設定ファイルを確認します。設定を開いてRuleを確認し、末尾のフォールバックルールにも注意します。ルールは通常、上から順に照合されるため、特定のドメインはより広範なルールより前に配置します。FINALは、それ以前のルールに一致しなかったリクエストを処理します。有効になっていない設定ファイルを編集しても、現在の接続のルーティング結果は変わりません。最初にファイルを確認してから編集してください。

以下は、ルールの照合関係を理解するための例です。example.comとそのサブドメインはPROXYに一致し、それ以外のリクエストはFINAL,DIRECTに渡されます。ルールの構文を示すものであり、サーバー情報は含まれていません。設定全体をこの例に置き換えないでください。PROXYに対応する実際の出力先は、自分のConfigとHomeで確認します。DIRECTは、そのルールで直接接続することを意味します。

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

ProxyとDirect:現在の接続経路を明確にする

Proxyでは、現在のルーティングをProxyモードで処理します。ルールの影響を一時的に切り分け、選択したサーバーで実際にアクセスできるか確認する際に使えます。Directは直接接続するモードです。Directでアクセスできても、サーバーが利用可能である証明にはなりません。テスト中は元のモードを記録し、終了後に戻してください。戻し忘れると、「さっきは使えたのに、ルールを変更しても結果が変わらない」と誤認することがあります。

初回は、DNS、HTTPS Decryption、複数のルールを一度に変更する必要はありません。既存の設定を保ち、まず接続と動作を確認してから、項目ごとに調整してください。Shadowsocks、VMess、VLESS、Trojan、WireGuard、Hysteria2の設定項目の違いを確認する場合は、プロトコルリファレンスをご覧ください。本ページでは、追加済みで内容を確認した接続情報を使って進めます。

ShadowrocketのConfig公式スクリーンショット。General、Rule、Hosts、URL Rewrite、HTTPS Decryptionの各セクションとAdd Ruleの入口を表示
Config:使用中の設定を確認し、RuleとAdd Ruleをチェックします。

Step 03 / Home

サーバーを選択して接続する

Homeに戻り、SERVERグループから先ほど確認したサーバーをタップします。選択マークが対象の項目に付いていることを確認してください。サブスクリプションに複数の項目があっても、クライアントが自動で利用可否を判断するわけではありません。後で確認しやすいよう、最初のテストでは項目を1つだけ選び、メモ、現在のネットワーク、Global Routingのモードを記録しておきます。

初回のVPN構成追加を許可

Home上部の接続スイッチをオンにします。初回接続時は、システムからVPN構成の追加を求められます。案内を読み、操作対象がShadowrocketであることを確認してから、表示に従って許可し、デバイス認証を完了します。この許可はアプリがシステムのネットワーク経路を確立するためのもので、購入状態やサブスクリプションの内容とは別です。許可後にアプリへ戻り、上部の状態がNot Connectedから変わったか確認してください。

システムの案内をキャンセルした場合は、アプリに戻って接続操作を再度行い、許可を確認してください。スイッチを何度も続けてタップしないでください。システム設定のVPN構成から、許可が設定済みか確認することもできます。具体的な場所はシステム画面によって異なります。デバイスが管理対象の場合や、別のVPN接続がすでにある場合は、デバイスで許可されている構成と現在の接続状態も確認してください。内容がわからないシステム構成を、安易に削除しないでください。

接続状態だけではアクセスを確認できない

画面上部の接続状態が変わっても、クライアントの接続処理が該当する状態になったことを示すだけで、すべての宛先にアクセスできるとは限りません。サーバー認証、アクセス先、ルールの照合、名前解決はそれぞれ失敗する可能性があります。スイッチをオンにした後は現在の設定を保ち、すぐにルールを追加せず、次のConnectivity Testと実際のアクセス確認に進みます。

スイッチをオンにした直後に戻る場合は、表示されたメッセージと発生したタイミングを記録します。システムの許可前か、許可後か、接続後に切断したのかを確認してください。この順序から、許可の問題か接続情報の問題かを切り分けやすくなります。まず手動接続の確認を済ませ、観察の妨げにならないようOn Demandはまだ有効にしないでください。

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

Step 04 / Connectivity Test

接続とルールの動作を確認

まずHomeでConnectivity Testを実行し、テスト完了後に結果を確認します。成功した場合でも、その時点で該当するテスト先へのリクエストが完了したことを示すだけです。すべてのWebサイト、プロトコル、サーバーの動作が確認されたわけではありません。失敗しても、ただちにサーバーの故障とは判断せず、テスト先、ネットワーク状態、ルーティングモードを確認してください。

テスト結果を実際のアクセスで確認

選択中のサーバーとGlobal Routingは変えずに、結果を確認できる既知のページをブラウザーで開き、再読み込みして新しい内容が取得されるか確認します。キャッシュによって新しいリクエストがなくてもページが正常に見える場合があるため、表示済みの古いページだけで接続成功と判断しないでください。確認中にWi-Fi、サーバー、ルーティングモードを同時に切り替えると、どの変更が結果に影響したのかわからなくなります。

比較が必要な場合は、まず失敗した状況を記録し、条件を1つだけ切り替えて同じリクエストを再実行します。たとえばサーバーはそのままに、ConfigからProxyへ一時的に切り替えます。結果が異なる場合は、すべての認証情報を入力し直すのではなく、ルール、設定、その依存関係を確認してください。比較後は元のモードに戻し、想定している使い方で再テストします。

ConfigでPROXYとDIRECTを個別に確認

Configを使う場合は、PROXY経由になる想定の宛先と、DIRECT経由になる想定の宛先をそれぞれ少なくとも1つ確認します。Dataを開き、該当する時刻の新しい接続履歴で、宛先アドレス、一致したルール、実際のポリシーを確認します。リクエストの直後に履歴を探すと、大量の過去の接続から推測するより特定しやすくなります。必要に応じてテスト時刻と宛先ドメインを記録してください。

ポリシーが想定と異なる場合は、まず現在の設定ファイルが実際に有効か確認し、そのうえで先行する広範なルールが先に一致していないか調べます。ドメインルールが照合するのはリクエストに関連付けられたドメインであり、Webページのタイトルではありません。同じページでも複数の異なるドメインにリクエストすることがあるため、ページが開けることと、すべてのリソースが想定どおりに振り分けられることは同じではありません。確認後は、成功したサーバー、ルーティングモード、設定名を記録し、以後の変更時の比較基準にします。

確認後に答えられるようにする3つの項目

  • 現在Homeで選択しているサーバーはどれで、Global Routingはどのモードですか?
  • Connectivity Testと実際のページ表示では、それぞれどのような結果になりましたか?
  • Configを使用している場合、接続履歴のポリシーは現在のルールと一致していますか?

Step 05 / Settings

失敗した箇所に応じて設定を確認

設定をすべて最初からやり直すのではなく、直前に止まった手順から確認します。現在の設定を保存し、エラーメッセージと再現条件を記録してください。一度に変更する項目は1つだけにし、変更後は同じテストを繰り返します。SettingsではTest Method、On Demand、Diagnosticsなどを確認できますが、これらの設定でサーバー側の正しい情報を代替することはできません。すべてのスイッチを同時に変更しないでください。

サブスクリプションを読み込めない・項目が表示されない

Add Serverに戻り、TypeがSubscribeになっているか、URLがすべて正しく入力されているか、空白や改行が混入したり必要なパラメーターが欠けたりしていないか確認します。次に、現在のネットワークでサブスクリプションを取得できるか、サービス提供元から受け取った情報が有効かを確認してください。サブスクリプションURLと、その中のサーバーの接続先アドレスは別のものです。サブスクリプションの更新に失敗しても、保存済みのサーバーがすべて使えないとは限りません。既存の項目に接続できても、更新URLへアクセスできるとは限りません。

スイッチが戻る・接続がタイムアウトする

スイッチが戻る場合は、まずシステムのVPN許可と現在のVPN状態を確認します。接続がタイムアウトする場合は、デバイスの基本ネットワークが使えることを確認し、Type、Host、Port、認証情報を順に確認してください。TLSや特定の通信方式を使う項目では、元の情報に照らして関連項目も確認します。パスワードだけを確認して終わらせないでください。証明書や認証の判定に影響する場合があるため、システムの日付と時刻も正確に設定してください。

SettingsでTest Methodを確認し、現在のテスト方法を把握してから結果を比較します。特定のテストだけが失敗し、実際のリクエストは成功する場合は、テスト対象と方法を確認してください。1つの結果だけで接続情報を削除しないでください。さらに手掛かりが必要な場合はDiagnosticsを開き、直前に再現した操作に関する診断情報を確認します。失敗するサーバーが1つだけなら、その項目の情報とサーバー側の状態を確認してください。

接続済みなのにアクセスや振り分けが想定と異なる

まずHomeに戻ってGlobal Routingを確認します。DirectのままProxy経由を期待していないか確認してください。Configを使用している場合は、有効なファイル、ルールの順序、FINALのポリシーを確認し、Dataの履歴と照合します。特定の宛先だけが失敗する場合は、宛先アドレスと発生時刻を記録します。すべての宛先で失敗する場合は、ドメインルールを追加する前に、基本ネットワークとサーバー接続を優先して確認してください。

手動スイッチの動作が想定と異なる場合は、On Demandが有効か、自動接続の条件が設定されているかを確認します。最初のトラブルシューティングでは手動接続に戻し、動作が安定してから必要に応じてOn Demandを設定してください。原因を調べるためにProxy、TCP、UDPなど複数の項目を同時に変更しないでください。各項目が影響する範囲は異なるため、変更が多いほど原因を特定しにくくなります。

情報を記録してから、さらに確認

契約中のサービス提供元に確認する場合は、プロトコルの種類、エラーの状況、テスト時刻、確認済みの内容を伝えれば十分です。スクリーンショットや診断情報を共有する前に、サブスクリプションURL、パスワード、認証IDなどの接続情報を隠してください。プロトコルの詳しい設定項目はプロトコルリファレンスをご覧ください。接続手順をもう一度確認する場合は追加と読み込みに戻れます。正しいと確認できた箇所は保持し、すべての項目を何度も作り直す必要はありません。

ShadowrocketのSettings公式スクリーンショット。Language、Test Method、Today Widget、On Demand、Diagnostics、Proxy、TCP、UDPの設定項目を表示
Settings:症状に応じてTest Method、On Demand、Diagnosticsを確認します。
ShadowrocketをApp Storeからダウンロード