QUICK START / 公式マニュアル

Shadowrocketの使い方

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

この記事では、iPhoneとiPadでの初回操作を解説します。まずサーバーを一つ接続して動作を確認し、その後でルールや自動接続の条件を調整します。設定ファイルの構成とルール構文については設定リファレンスをご覧ください。

スクリーンショットはApp Storeの公式素材を使用し、画面や項目を識別するために掲載しています。画像内のリストは入力内容の参考にはなりません。実際の操作はデバイス上のアプリ画面で行い、サーバーのパラメータには利用者自身が用意した情報を使ってください。

STEP 01 / IMPORT

Add Server:サーバーの追加とサブスクリプションのインポート

まずHomeに、必要な情報がそろった選択可能なサーバーを表示させてから、モードを選択します。

Shadowrocketを開いてHomeに進み、SERVERグループのAdd Serverを探します。手元の情報の種類を確認してください。サーバーのアドレス、ポート、認証情報がそろっている場合は手動で追加します。サーバーリストを更新できるサブスクリプションURLがある場合はSubscribeを使います。サーバーのQRコードがある場合はScan QR Codeを使えます。見た目が似ているからといって、情報に合わない項目を選ばないでください。特に、設定ファイルのURLをサーバーアドレスとして入力しないようにしてください。

既存のサーバー情報を手入力する

Add Serverをタップしたら、まずTypeを選び、選択したプロトコルのフォームに従ってHost、Port、認証情報を入力します。公式スクリーンショットにはPasswordとMethodを含むフォームが掲載されていますが、別のTypeを選ぶと項目が変わる場合があります。Typeは、手元の情報に記載されたプロトコルに合わせてください。フォームの項目が少ないからといって、別のTypeを選んではいけません。Hostにはサーバーのホスト名またはIPアドレスを、Portにはポート番号を入力します。URLの入力が明示されていない限り、パスを含むURL全体をHostに貼り付けないでください。

PasswordやMethodが指定されている場合は、大文字・小文字や値を一つずつ確認します。VLESS、VMess、TrojanなどのTypeを使う場合は、対応するフォームに既存の識別情報、認証情報、通信パラメータを入力します。TLS、サーバー名、通信パスもサーバー側の設定と一致させてください。初回操作で「よくあるパラメータ」を推測して試す必要はありません。不足情報は利用中のサービス提供元に確認してください。項目を空欄にしたり推測で入力したりすると、保存できても接続できない場合があります。

入力後、画面上の保存操作を行ってHomeに戻ります。SERVERに追加した項目が表示されているか確認し、見分けやすい名前を付けてください。名前は記録を区別するためのもので、接続機能には影響しません。この段階では多くの項目を同時に作らず、情報がそろっていると確認できたサーバーを一つ基準にして、以降の接続やトラブルシューティングを進めると原因を特定しやすくなります。

Subscribe、QRコード、設定ファイルのサブスクリプション

既存のサーバー用サブスクリプションをインポートするには、Add ServerのTypeでSubscribeを選び、フォームにサブスクリプションURLを入力して保存します。貼り付ける前に、URLがすべて含まれているか、前後に空白や改行がないか、クエリパラメータが欠けていないか確認してください。保存または更新後にHomeへ戻り、サブスクリプショングループにサーバー項目が表示されるか確認します。サブスクリプション名だけが表示され、グループ内が空の場合は、まだ接続確認に進めません。URLの内容と更新結果を確認してください。

Scan QR Codeを使う場合は、利用者自身が用意したサーバー情報だけを読み取り、読み取り後もType、Host、Portを確認してください。Import from Cloud JSONは別のインポート方法で、通常のサブスクリプションURLとは必要な内容の形式が異なります。同じURLを複数の項目に繰り返し入力しないでください。QRコードやサブスクリプションURLには認証情報が含まれる場合があります。インポート時に公開したり、通常のスクリーンショットとして共有したりしないでください。

ConfigにあるSubscribeは、設定ファイル用サブスクリプションです。ルールや関連設定を取得するためのもので、Homeにサーバーリストをインポートする機能とは異なります。設定ファイルを取得できても、接続可能なサーバーがあるとは限りません。まずHomeのSERVERに選択可能な項目があることを確認し、次の手順でGlobal Routingを選択してください。インポート後も一覧が空の場合は、よくある質問のサブスクリプションとサーバーのインポートに関する説明をご覧ください。

ShadowrocketのAdd Server画面。Type、Host、Port、Password、Methodと、Scan QR CodeおよびImport from Cloud JSONの項目が表示されています
Add Server:項目はTypeによって変わります。スクリーンショット内の情報は実際の接続パラメータとして使用しないでください。

STEP 02 / ROUTING

Global Routing:通信経路を選択する

サーバー情報は接続方法を決め、Global Routingはリクエストの経路を決めます。

インポート後にHomeへ戻り、Global Routingをタップして、Config、Proxy、Directのどれが選択されているか確認します。この三つはサーバーや接続品質の段階ではありません。モードを切り替えても、ポートやパスワードの誤りは解消されません。テスト前に現在の選択を記録し、異なる経路での結果を混同しないようにしてください。

Config:現在のルールに従って処理する

Configでは、現在の設定ファイルにあるルールに従って、リクエストにPROXY、DIRECT、REJECTなどのポリシーを適用します。ルールによる振り分けが必要な場合は、まずConfigで現在使用中の設定ファイルを確認し、ファイルの内容を開いてください。編集画面にはGeneral、Rule、Hosts、URL Rewrite、HTTPS Decryptionなどのセクションがあります。それぞれ用途が異なるため、初回接続のためにすべてを変更する必要はありません。

Ruleでは通常、上から順にルールが確認されます。具体的なドメインのルールは、より広い範囲を対象とするルールより前に配置します。FINALは、それ以前のルールに一致しなかったリクエストを処理します。以下の例はルールの順序を示すものです。example.comとそのサブドメインへのアクセスにはDIRECTを使い、それ以外のリクエストにはFINALで指定したPROXYを適用します。例示のドメインはサーバーアドレスではなく、現在の設定ファイルを置き換えるための完成済みファイルでもありません。

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

Add Ruleでルールを追加する前に、編集中のファイルが現在使用中のものか確認してください。編集後に保存し、Configで選択状態を確認します。ファイルをリストにインポートしただけで、現在の設定として選択していない場合、リクエストの経路は変わらないことがあります。初回確認では、どのルールが一致しそうか、適用されるポリシーが意図どおりかを確認すれば十分です。一度に多くのルールを追加したり、通常の接続確認のためにHTTPS Decryptionを有効にしたりしないでください。

ProxyとDirect

Proxyは、通常プロキシ経由にできる通信をプロキシ経由にします。トラブルシューティングでルールによる振り分けの影響を一時的に減らす場合に使えます。ただし、システム通信や一部の除外項目には個別の処理条件があるため、すべてのデータが必ずサーバーを経由するわけではありません。Directは直接接続し、基本ネットワークが正常か比較する際に使えますが、「プロキシサーバーへの接続成功」を示すものではありません。どちらのモードでもサーバー項目を新たに作成する必要はありません。

振り分けの要件がまだ明確でない場合は、現在の設定を記録し、Proxyで既存のサーバーを確認してからConfigに戻り、ルールによる違いを調べてください。確認済みの設定ファイルがある場合は、Configを使い、確認手順で目的のリクエストに想定したポリシーが適用されるか確認します。変更する条件は一度に一つにしてください。ルールの種類、ポリシー名、優先順位についてはルールと設定の総合リファレンスをご覧ください。この記事では引き続き接続手順を進めます。

ShadowrocketのConfig設定ファイル編集画面。General、Rule、Hosts、URL Rewrite、HTTPS Decryptionの各セクションとAdd Ruleが表示されています
Config:現在の設定ファイルのRuleを確認します。Global Routingの選択はHomeから行います。

STEP 03 / CONNECT

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

現在のサーバーとモードを確認してから、システムの許可を設定します。

Homeに戻り、SERVERグループから使用するサーバーをタップします。リスト上の選択マークで、現在選択されている項目を確認してください。項目の詳細を開いて編集する操作と、リストから接続に使う項目を選ぶ操作は異なります。サブスクリプションに複数の項目がある場合は、まず一つを選んでテストします。失敗するたびにサーバー、ルール、ネットワークを同時に切り替えると、どの変更が結果に影響したのか判断しにくくなります。

Global Routingをもう一度確認してから、Home上部の接続スイッチをオンにします。未接続の場合はNot Connectedと表示されます。初回接続時、システムからShadowrocketによるVPN構成の追加を許可するか確認される場合があります。自分で接続操作を開始した際に表示されたことを確認してから許可し、デバイスの案内に従ってパスコードまたは生体認証を行ってください。この認証はデバイスへの許可であり、サーバーのPasswordとは異なります。システムの認証画面にサーバーの認証情報を入力しないでください。

以前に許可の確認を閉じた場合、接続を続行できないことがあります。再度接続を開始してシステムの案内を確認してください。それでも表示されない場合は、デバイスのシステム設定でVPN構成の有無や、デバイス管理による制限を確認します。管理対象のデバイスでは管理者の要件に従ってください。許可の問題を解決するためにサーバーの項目を繰り返し変更する必要はありません。許可後にShadowrocketへ戻り、画面上部の状態とスイッチが接続中のままか確認してください。

スイッチをオンにしただけでは接続処理が始まったことを示すにとどまり、VPNの状態が表示されても、すべてのリクエストにアクセスできるとは限りません。まず接続状態が安定するまで待ち、次にConnectivity Testと実際のアクセスを確認します。スイッチがすぐに戻る場合は、表示された内容と発生時刻を記録してトラブルシューティングに進みます。接続が維持されてもWebページを開けない場合は、現在のサーバーとモードをそのままにして、リクエストの経路を確認してください。

テスト中は、ほかのVPN構成が現在の接続を切り替えないようにし、複雑なOn Demand条件も先に有効にしないでください。Wi-Fiからモバイルデータ通信に切り替えると、接続を再確立する必要が生じる場合があります。その時点で使用していたネットワークを記録してください。手動で切断する場合はHomeに戻って上部のスイッチをオフにし、状態が戻ったことを確認します。その後に自動再接続する場合は、サーバーの記録を繰り返し削除するのではなく、SettingsのOn Demand条件を確認してください。

ShadowrocketのHome画面。上部にNot Connectedの接続スイッチ、Global Routing、Connectivity Test、SERVERグループ、Add Serverが表示されています
Home:SERVERでサーバーを選択してから、上部の接続スイッチをオンにします。

STEP 04 / CHECK

Connectivity Test:接続と経路を確認する

「テストに応答があった」「トンネルが確立した」「目的のサイトにアクセスできた」を分けて確認します。

接続を維持した状態でHomeのConnectivity Testをタップし、完了するまで待ちます。テスト結果はSettingsのTest Methodによって異なるため、応答やタイムアウトを判断する前に、どの方法が使われるか確認してください。ある方法で応答があっても、その方法が対象とする検査条件を満たしたことを示すだけです。タイムアウトした場合も、それだけでアプリの通信がすべて失敗しているとは判断できません。リストのテスト結果を、すべてのWebページやプロトコルへの接続保証と見なさないでください。

次にブラウザを開き、通常なら正常に表示できると確認済みのページにアクセスして、内容や後続のリソースも読み込まれるか確認します。その後Shadowrocketに戻り、Dataで確認できる接続記録や通信記録を見て、リクエストのドメインとポリシーが想定どおりか確認します。Configでは、同じページ内でもメインドメイン、画像のドメイン、APIのドメインに異なるルールが適用されることがあります。一部だけ表示される場合は、アドレスバーのメインドメインだけを見るのではなく、失敗したリクエストを特定してください。

ProxyではアクセスできるのにConfigでは問題が起きる場合は、現在の設定ファイル、ルールの順序、一致したポリシーを確認します。どちらのモードでも失敗する場合は、サーバーのパラメータ、接続権限、基本ネットワークを優先して確認してください。Directで対象にアクセスできても、それは基本ネットワークとの比較材料であり、PROXY経由で接続できる証拠ではありません。サブスクリプションの再作成、ルールの入れ替え、DNSの変更を一度に行うより、項目ごとに比較するほうが原因を特定しやすくなります。

テスト中は、Wi-Fiかモバイルデータ通信か、選択したサーバー、Global Routingのモード、Connectivity Testの結果、実際のページの表示状況を簡潔に記録します。記録には見分けるための名前だけを使い、パスワードやサブスクリプションURL全体は残さないでください。一つの経路が使えると確認できたら、同じ手順を別のネットワークでも行います。特定のネットワークだけで失敗する場合、問題の範囲を全設定から、そのネットワーク固有の接続条件に絞れます。

STEP 05 / DIAGNOSTICS

Settings:失敗した箇所から確認する

インポート、許可、接続、リクエストの順に原因を絞り、一度に複数の設定を変更しないようにします。

インポートしても使用可能な項目が表示されない

まずデバイス自体が正常にインターネットへ接続できることを確認し、次にサーバー用と設定ファイル用のどちらのサブスクリプションを使っているか確認します。Homeのサブスクリプショングループが空の場合は、URLが完全か、有効期間内か、更新時にメッセージが表示されたかを確認してください。公開の場にサブスクリプションURL全体を貼り付けないでください。URLのクエリパラメータがアクセス認証情報になっている場合があります。手動で追加した項目を保存できても接続できない場合は、Type、Host、Port、認証項目をもう一度確認してください。保存できたからといって、サーバー側でパラメータが受け入れられたとは限りません。

スイッチが戻る、または接続が続いてもアクセスできない

スイッチがすぐに戻る場合は、まずシステムのVPN許可とデバイスの制限を確認し、次にアプリに表示された接続エラーを確認します。接続が維持されてもリクエストが失敗する場合は、サーバーに到達できるか、アカウントに接続権限があるか、現在のネットワークが該当する通信方式を許可しているかを確認してください。手動で追加したTLS名、通信方式、パスは、手元の情報と一つずつ照合します。パスワードだけ確認して、ほかのパラメータもすべて正しいと判断しないでください。

SettingsでTest MethodとDiagnosticsを確認します。前者はテスト結果の解釈に影響し、後者では診断情報を確認できます。どちらもサーバーを自動修復するボタンではありません。エラーが接続確立の前に起きたか、リクエスト送信後に起きたかを記録し、認証、通信方式、ルールのどれを確認すべきか判断してください。最初のトラブルシューティングでProxy、TCP、UDPの複数項目を同時に変更する必要はありません。初期設定または明確な意図のある設定を維持し、現在のエラーを説明できる項目から確認します。

ルール、DNS、On Demand

Configでのみ失敗する場合は、Configで現在のファイルを開き、対象ドメインのルールとFINALのポリシーを確認します。より広い範囲を対象とするルールが前にあると、後ろにある具体的なルールは適用されない場合があります。DNSについては、まずデバイスのネットワーク自体が使えることを確認し、その後Generalの名前解決設定を確認してください。ドメインの名前解決エラーとサーバー認証の失敗は別の問題です。一つの接続先の問題を解決するために、すべてのドメインルールや名前解決設定を一度に変更しないでください。

On Demandは、設定した条件に応じて接続を開始する機能であり、「どんな状況でも常に接続を維持する」という意味ではありません。初回の動作確認では手動で接続し、サーバーとルールが使えることを確認してから、必要に応じてOn Demandを設定してください。手動で切断した後に再接続する、ネットワークの切り替えで状態が変わるといった場合は、まず条件を確認します。Today Widgetはショートカット操作に関する設定であり、Homeで現在のサーバーやGlobal Routingを確認する代わりにはなりません。

Wi-Fiとモバイルデータ通信で結果が異なる場合は、同じサーバー、同じモード、同じテスト方法を保ってそれぞれ再確認します。条件を一つだけ変えた場合に、比較が意味を持ちます。設定を変更したら保存して再接続し、同じ手順で再確認してから変更を残すか判断してください。診断記録を送る場合は、パスワード、認証情報、サブスクリプションURL全体、個人のネットワーク情報を隠し、エラーの種類と関連する操作の順序だけを残します。

この5つの手順を終えると、使用中のサーバー、Global Routingのモード、確認結果を把握できます。それでも原因を特定できない場合は、情報を整理してよくある質問をご覧ください。Rule、General、DNSを調整する場合は、設定リファレンスを参照してください。サブスクリプションの更新や設定変更後も、インポートできたことだけで有効と判断せず、「項目を選択 → 接続 → テスト → 実際にアクセス」の確認を繰り返してください。

ShadowrocketのSettings画面。Language、Test Method、Today Widget、On Demand、Diagnostics、Proxy、TCP、UDPの設定項目が表示されています
Settings:テスト方法、オンデマンド接続、診断情報を個別に確認し、一度に変更する条件は一つにします。