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

Shadowrocketの使い方:
追加・接続・動作確認

5つの手順で初期設定を進めます。まず手持ちのサーバー情報をHomeに正しく追加し、通信方法を選択します。接続後は、実際のアクセスとルールの適用状況を確認してください。

ここでは主にiPhone / iPadでの操作を説明します。スクリーンショットは画面や項目の確認にご利用ください。実際のレイアウト、メニューの場所、選択できる項目は、デバイス上のアプリの表示をご確認ください。

手順 01 / 接続先を準備する

サーバーを追加する、またはサブスクリプションを読み込む

手元の情報の種類を確認して、対応するメニューを開きます。サーバー1台分の情報には、通常プロトコル、アドレス、ポート、認証情報が含まれます。サブスクリプションは、サーバー一覧を取得するためのURL全体です。見た目が似ていても両者は置き換えられません。サブスクリプションURLを通常のサーバー設定のHostに入力しないでください。Shadowrocketを開いてHomeに進み、SERVERのAdd Server、または画面上の追加メニューを選択します。

手動で入力する:Typeを選び、項目を照合する

Add ServerでTypeをタップし、手元の情報に合ったプロトコルを選択します。Typeによって必要な項目が異なるため、入力を減らす目的で別の種類を選ばないでください。Shadowsocksの場合はHost、Port、Password、Methodを確認します。ほかの種類では、それぞれに応じた認証情報や通信パラメータが必要な場合があります。スクリーンショットは一例であり、すべてのプロトコルで同じ項目が使われるわけではありません。

各項目を入力します。Hostにはサーバーアドレス、Portにはサーバー側で実際に待ち受けているポートを入力し、PasswordとMethodは手元の情報に合わせます。貼り付け後は、前後の空白、改行、全角の句読点が混入していないか確認してください。説明文ごとアドレスに貼り付けないよう注意します。追加パラメータがある場合は、該当する設定を開いて一つずつ照合してください。必要な情報が足りないときは推測で補わず、ご自身のサーバー設定を確認するか、元のサービス提供元にお問い合わせください。

入力後、画面の保存操作を行い、Homeに戻ります。SERVERに保存した項目が表示されていることを確認し、使用するサーバーを選択してください。Scan QR Codeは、対応形式の既存QRコードを読み込む機能です。Import from Cloud JSONには対応形式のデータが必要で、任意のURLを読み込むための汎用メニューではありません。

サブスクリプションを読み込む:Subscribeを選び、URL全体を入力する

サブスクリプションURLをお持ちの場合は、Add ServerのTypeでSubscribeを選択し、対応するURL欄にURL全体を貼り付けます。必要に応じて、自分で見分けやすい名前を入力して保存してください。URLのパス、疑問符以降のパラメータ、英字の大文字・小文字は変更しないでください。ドメインだけをコピーしたり、文末の句点や引用符をURLに含めたりしないよう注意します。

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

上記は明らかな仮の値を使った形式例で、実際に使えるサブスクリプションではありません。保存して内容を取得したら、Homeに戻り、SERVERにサーバー項目が表示されているか確認します。サブスクリプション名だけが表示されても、内容が正常に読み込まれたとは限りません。アプリの更新操作で内容を再取得し、項目がそろっているか確認してください。この段階ではモードを何度も変更せず、次の手順でGlobal Routingを確認します。

Shadowrocket公式Add Server画面のスクリーンショット。Type、Host、Port、Password、Methodと読み込みメニューを表示
Add Server:まずTypeを確認し、選択した種類で必要な項目を入力します。

手順 02 / リクエストの処理方法を決める

Global Routingを選択する

サーバーを追加したらHomeに戻り、Global Routingをタップします。ここではリクエストのルーティング方法を選択します。「どのサーバーを選択したか」とは別の設定です。まずは3つのモードを確認してください:Config / Proxy / Direct。接続スイッチがオンでも、すべてのリクエストが選択中のサーバーを経由するとは限りません。

Config:現在の設定に基づいて通信を振り分ける

ルールに従ってリクエストを振り分ける場合はConfigを使用します。まずConfigを開き、ファイル一覧に見覚えのある名前があるかだけでなく、現在有効な設定ファイルを確認してください。設定を開き、Ruleと末尾の処理方法を確認します。設定内のルールによって、リクエストをPROXY、DIRECT、REJECTのいずれに振り分けるかが決まります。通常は上から順に照合されるため、範囲の広いルールが前にあると、その後の具体的なルールが適用されないことがあります。

公式スクリーンショットに表示されているGeneral、Rule、Hosts、URL Rewrite、HTTPS Decryptionは、設定編集画面の各セクションです。初回設定では、現在の設定とRuleの確認が中心です。すべてのセクションを有効にする必要はありません。また、初回接続のためにHTTPS Decryptionを変更したり、関連証明書をインストールしたりする必要はありません。

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

この短い例は照合順を理解するためのものです。example.comとそのサブドメインは最初のルールに一致し、それ以外のリクエストはFINALにより直接接続します。あらゆる用途に使える完全な設定ではないため、確認せずに既存ファイルを上書きしないでください。本来プロキシ経由にしたい接続がFINAL,DIRECTに振り分けられる場合、サーバーに接続できても、想定どおりに通信が振り分けられているとは限りません。

ProxyとDirect:通信経路を比較する

Proxyでは通常のリクエストをプロキシ経由で処理します。トラブル対処時にRuleによる振り分けの影響を減らすのに役立ちますが、デバイスのネットワーク、サーバーの機能、必要なシステム上のバイパス設定などの影響を受けます。すべての通信が同じように動作するとは限りません。Directではリクエストを直接接続し、基本ネットワークの確認や直接アクセスの復旧に使用できます。プロキシが使えるかどうかを判断するテストとしては使用しないでください。

モードを選んだらHomeに戻り、Global Routingの現在値をもう一度確認します。Configを使う場合は、現在有効な設定名も控えておきます。後で実際の結果とルールを照合できます。ルールの詳しい書き方は設定ガイドをご覧ください。ポリシーやルールの用語に馴染みがない場合は、先に用語クイックリファレンスで確認してから、このページの接続手順を続けてください。

Shadowrocket公式Config設定編集画面のスクリーンショット。General、Rule、Hosts、URL Rewrite、HTTPS Decryption、Add Ruleを表示
Config:Configを選択した場合、現在の設定にあるRuleと末尾の処理方法を確認します。

手順 03 / デバイスで接続を確立する

スイッチをオンにして、VPNの許可を確認する

Homeに戻り、接続前にもう一度確認します。SERVERで今回テストするサーバーを選択し、Global Routingに先ほど決めたモードが表示されていることを確認してください。サブスクリプション内の項目は更新後に変わる場合があるため、前回選択したときの記憶だけに頼らず確認します。準備ができたら、Home上部の接続スイッチをオンにします。未接続の場合はNot Connectedと表示されます。

初めて接続するとき、システムからShadowrocketによるVPN構成の追加を許可するよう求められる場合があります。これはアプリがデバイス上にネットワーク経路を作成するためのシステム許可であり、アプリの再購入を求めるものではありません。操作が、起動したばかりのShadowrocketからのものだと確認して、システムの案内に従って許可し、デバイスで求められる認証を完了してください。キャンセルした場合は、Homeに戻って接続を再度開始し、許可を行う必要があります。

許可が完了したらアプリに戻り、画面上部の状態が未接続から接続済みに変わったか、スイッチがオンのままかを確認します。スイッチがすぐにオフに戻っても、すぐに再インストールしたり、複数の項目を続けて切り替えたりしないでください。システムの通知、アプリのエラー、接続の切断があったかを記録し、最後の手順で問題が起きた箇所を確認します。

接続状態とサーバーの利用可否は分けて確認する

システムのVPN経路が確立したことは、デバイス上の接続機能が起動したことを示すだけです。選択したサーバーで認証が成功したことや、すべての接続先にアクセスできることを意味しません。逆に、Connectivity Testで特定のサーバーに結果が表示されても、接続スイッチがオンとは限りません。初回は「項目が選択されている」「モードが正しい」「経路が確立している」を個別に確認してから、実際のアクセスを検証してください。

デバイスでご自身が有効にした別のVPN接続がある場合は、テスト前に現在どの接続を使っているか確認してください。別の接続の結果をShadowrocketのものと混同しないためです。テスト中はネットワーク環境をなるべく一定に保ちます。Wi-Fiとモバイル通信を切り替えながらサーバーやモードも変更すると、失敗の原因を特定しにくくなります。

Shadowrocket公式Home画面のスクリーンショット。Not Connectedのスイッチ、Global Routing、Connectivity Test、SERVER、Add Serverを表示
Home:画面上部の状態、Global Routing、SERVERの順に接続条件を確認します。

手順 04 / ステータスだけでなく実際のアクセスを確認する

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

確認するポイントは3つです。デバイス本来のネットワークが使えるか、選択したサーバーがテスト方法に応じて応答するか、対象のリクエストが想定した経路を通るか。テスト結果を1つ見るだけでは、すべてを判断できません。毎回同じ接続先と操作を使い、変更後に同じテストを繰り返すと、結果を比較しやすくなります。

  1. 基本ネットワークを確認する。接続を一時停止できる状況でスイッチをオフにし、直接アクセスできることが分かっているページを開きます。ネットワークへのログインが必要な状態や、ネットワーク自体が切断されていないか確認してください。基本ネットワークに問題がある場合は、Wi-Fiまたはモバイル通信を復旧してからHomeに戻り、接続をオンにします。
  2. Connectivity Testを実行する。HomeでConnectivity Testをタップし、選択中のサーバーのテスト結果を確認します。テスト方法はSettingsのTest Methodなどの設定に左右されます。結果は今回のテストのみを示すもので、実際のウェブページの読み込み速度や、あらゆる種類の接続が利用できることを保証しません。
  3. 確認したい接続先にアクセスする。ブラウザーで、実際に利用する予定の接続先を開き、読み込みが完了するか、同じエラーが表示されるかを確認します。デバイスに保存済みのページだけを見ないよう、リクエストを更新してください。結果が混在しないよう、一度に多くのページを開くのも避けます。
  4. モードに沿った経路か確認する。Configを使用している場合は、アプリで確認できるリクエスト記録から対象ドメインを探し、一致したルールと処理ポリシーを確認します。対象がDIRECTに振り分けられるのはルールの想定どおりの場合があり、接続が無効とは限りません。REJECTに振り分けられた場合はRuleを確認してください。

対象にアクセスできない一方で、通常のウェブページは開ける場合は、Global Routingを一時的にProxyへ切り替え、同じサーバーと接続先のまま再テストできます。これで改善した場合は、元の設定にあるルールの照合順、ポリシー、DNS関連の設定を優先して確認してください。それでも失敗する場合は、サーバーのパラメータや稼働状況、接続先自体の利用可否を確認します。比較が終わったら必要な元のモードに戻し、一時的な診断設定をそのまま使い続けないようにしてください。

テストに成功しても、結果の範囲を見極めてください。あるウェブページが開けた場合に分かるのは、現在の条件でそのページが使えることだけです。ほかのアプリ、UDPリクエスト、別のネットワークでも同じ結果になるとは限りません。実際に必要な別の操作でも確認できますが、特定の数値を得るために設定を変え続ける必要はありません。要件を満たすことを確認できたら、再現できる設定を保管しておくと、後から変更を戻しやすくなります。

手順 05 / 変更する項目は一度に一つ

設定の確認とよくあるトラブル

トラブル対処は失敗が起きた箇所から始め、「すべてリセット」から始めないでください。読み込み失敗、サーバーへの接続不可、接続スイッチがオフに戻る、特定の接続先だけ失敗する、といった問題はそれぞれ原因が異なります。現在動作している設定を残し、変更前の値を控えてください。変更を一つ加えるたびに、前の手順と同じ確認を行い、その変更が本当に関係しているかを調べます。

サブスクリプションを保存してもSERVERに項目が表示されない

まずTypeがSubscribeになっているか確認し、URL全体が入力されているか、チャットアプリなどで途中が切れていないか、空白や句読点が混入していないかを確認します。更新時に表示されたエラーの内容も確認してください。内容を取得できない場合と、取得した内容が対応していない場合では原因が異なります。サブスクリプションURLがログイン画面や通常のウェブページを返す場合も、サーバー一覧としては使えません。認証情報を含むURLをブラウザーで不用意に共有しないでください。有効期限や返される形式を確認する必要がある場合は、元のサービス提供元に問い合わせてください。

サーバーは表示されるが、テストまたは接続に失敗する

該当する項目の編集画面を開き、元の情報とType、Host、Port、認証情報を再確認します。必要なパラメータはプロトコルごとに異なるため、あるプロトコルでの項目の意味を別のプロトコルに当てはめないでください。以前は使えたのに今は失敗する場合、まず現在のネットワークに変化がないか確認し、次にサーバーが引き続き利用可能か確認します。1台のサーバーで失敗しても、サブスクリプション内のすべての項目が無効とは限りません。根拠なくすべての項目を一括変更しないでください。

テスト結果は表示されるが、ウェブページが開かない

まずGlobal Routingを確認し、次に接続先が想定したルールに一致しているか確認します。その後、ドメインの名前解決、接続の確立、ウェブページ自体のエラーを切り分けます。SettingsでTest Methodを確認し、Connectivity Testで何をテストしたのか把握してください。ある方法で応答があったからといって、認証、通信パラメータ、接続先サービスの問題がないとは限りません。アプリでリクエスト情報を確認できる場合は、失敗した段階に応じて原因を調べます。詳しいルールやDNSの確認は設定ガイドをご覧ください。

手動で切断した後に再接続する、またはネットワーク切り替え後に動作が変わる

SettingsでOn Demandを開き、オンデマンド接続の条件が設定されているか確認します。手動接続の問題を調べる場合は、自分で有効にしたOn Demandの条件を一時停止し、スイッチを手動で操作できる状態に戻るか確認してください。テスト後は、必要に応じて元の設定に戻します。Wi-Fiとモバイル通信を切り替えるとネットワーク条件が変わるため、以前のネットワークでのテスト結果をそのまま当てはめず、改めて確認してください。

Diagnosticsを使う場合は、確認範囲を絞る

SettingsのDiagnosticsは、さらに詳しく調べる場合に使用できます。まず確認したい問題を明確にし、現在のバージョンにある該当項目を選んでください。Proxy、TCP、UDPなどの設定は、名前に見覚えがあるという理由だけでまとめて変更しないでください。通信方式によって障害の現れ方は異なり、無関係な設定を変えると原因の候補が増えてしまいます。診断情報をまとめる場合は、エラーの説明と再現手順を残します。共有前にサーバーの認証情報、サブスクリプションのパラメータ、その他の個人情報を削除してください。

5つの手順を確認しても、特定の接続先またはネットワークでのみ問題が起きる場合は、「どのネットワークで、どのモードを使い、どの接続先で、どのエラーが発生したか」を再現できる最小限の記録として残してください。サーバー情報や稼働状況は元のサービス提供元に確認し、ルールの意味はマニュアルで調べます。接続を復旧するためにアプリを再購入する必要はありません。Shadowrocketアプリの購入と、利用中のサービスが使えるかどうかは別の問題です。

Shadowrocket公式Settings画面のスクリーンショット。Language、Test Method、Today Widget、On Demand、Diagnostics、Proxy、TCP、UDPを表示
Settings:まずTest MethodとOn Demandを確認し、具体的な問題に応じてDiagnosticsを使用します。
App Storeからダウンロード