Shadowrocket 公式ガイド · 基本操作

Shadowrocket
サブスクリプションの追加と接続ガイド

iPhone・iPadの画面を例に、既存のサーバーを追加し、ルーティング方式を選んで接続を有効にし、結果を確認します。初めて操作する場合は以下の5つの手順に沿って進め、詳細な設定は接続できてから行います。

Add Server Global Routing Connectivity Test

手順 01 · Add Server / Subscribe

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

Shadowrocketを開き、画面下部のHomeに移動します。まだ何も追加していない場合は、Add Serverを選びます。画面右上の追加ボタンから同じフォームを開くこともできます。追加方法は2通りです。サブスクリプションリンクにはSubscribeを使い、単一のサーバー情報には該当するプロトコルタイプを使います。手元の情報の種類を確認し、サブスクリプションURLをHostに入力しないようにしてください。

サブスクリプションリンクがある場合:Subscribeを選択

Add Serverを開いてTypeをタップし、Subscribeを選びます。フォームに戻り、サブスクリプションURL欄にリンク全体を貼り付け、見分けやすい名前を入力して保存します。URLは先頭から末尾まで一度にコピーし、特に疑問符の後ろのパラメーターも残してください。チャットの説明文、引用符、空白、改行は含めないでください。サブスクリプションURLには個人の認証情報が含まれることがあるため、パスワードと同じように管理してください。

保存したらHomeに戻り、サブスクリプションの内容が読み込まれるまで待ち、SERVERの下に該当するグループとサーバーが表示されるか確認します。サブスクリプション名だけが表示され、サーバーがない場合は、更新が完了したか、エラーメッセージが表示されているかを確認してください。続けて同じものを追加しないでください。同じURLを重複して読み込むと一覧が分かりにくくなり、無効なURLの問題も解決しません。

サーバーの設定情報がある場合:Add Serverに各項目を入力

アドレス、ポート、パスワード、プロトコルの説明がある場合は、Typeで正しいプロトコルを選び、HostとPortを入力します。Hostにはサービス提供元から指定されたホスト名またはIPアドレスだけを入力し、Portには対応するポートを入力します。PasswordやMethodなどの項目が表示されるかどうかは選択したTypeによって異なり、すべてのプロトコルで同じ項目を使うわけではありません。スクリーンショットの項目構成は一例です。プロトコルを切り替えたときにフォームが変わるのは正常です。

たとえばShadowsocksでは、Methodとパスワードの組み合わせが正しいか確認します。Trojanでは、パスワードとTLS関連の設定も提供された情報に従って入力してください。SNI、転送方式、パスが別途指定されている場合は、それぞれの設定を確認します。ポート番号だけでプロトコルを判断しないでください。項目の意味が分からない場合は用語集を参照し、設定値は自分のサーバー情報に従ってください。

QRコードがある場合は、Add ServerでScan QR Codeを使えます。スキャンする前にカメラへのアクセスを許可し、読み取り後も認識されたType、Host、Portを確認してください。クリップボードに単一の共有リンクがある場合は、アプリに表示される読み込み案内に従ってください。Import from Cloud JSONは構造化データを読み込むための別の入口です。通常のサブスクリプションURL入力欄とは異なるため、形式を混同しないでください。

この手順の完了条件:Homeに戻ったとき、SERVERに使用するサーバーが表示されていること。名前が一覧にあるのは保存または読み込みが完了したことを示すだけで、接続可能であることを意味しません。次にGlobal Routingを選び、接続テストを行います。サブスクリプションの更新、グループの整理、一括管理についてはサブスクリプションとサーバーの管理ガイドを参照してください。

Shadowrocketのサーバー追加画面。Type、Host、Port、Password、MethodとQRコード読み込みの項目を表示
Add Server:最初にTypeを選び、自分のサーバー情報を確認しながら入力します。プロトコルによって表示される項目は異なります。

手順 02 · Global Routing / Config

Global Routingモードの選択

サーバーを追加したらHomeに戻り、Global Routingを開きます。ここでは通信のルーティング方式を選択します。サブスクリプションの更新方法を決める設定ではありません。モードはConfig、Proxy、Directの3種類です。開始前に「サーバーを利用できるか」と「自分の振り分けルールが正しいか」のどちらを確認するのかを決めてください。確認する内容はそれぞれ異なります。

Config:設定ファイルのルールに従って処理

Configは、現在選択されている設定ファイルのルールに従って通信を振り分けます。ルールによる振り分けを行う場合は、画面下部のConfigを開き、有効なファイルがあることを確認して選択したうえで、Homeに戻ってConfigを選んでください。ルールには順序があり、通常は最初に一致したルールによって接続の処理方法が決まります。サブスクリプションにサーバーが登録されていても、Configに必要なポリシーがすべて設定されているとは限りません。

公式スクリーンショットには、Config内の設定編集画面が表示されています。General、Rule、Hosts、URL Rewrite、HTTPS Decryptionの各セクションとAdd Ruleを確認できます。初めて使うときにこれらを一つずつ変更する必要はなく、接続のためにHTTPS Decryptionを有効にする必要もありません。サービス提供元から設定に関する案内がある場合は、対象範囲を確認してください。判断がつかない場合は元の設定を維持し、編集前にバックアップを取ってください。

Proxy:ルールの影響を切り分ける

Proxyを選ぶと、現在のプロキシ接続で処理される通信にプロキシ経路を使用します。トラブル対処時にルールの影響を一時的に減らすのに役立ちます。選択後もHomeで利用可能なサーバーを選び、上部のスイッチを有効にしてください。Global Routingを変更しただけでは、サーバー設定が正しくなるわけではありません。ProxyではアクセスできるのにConfigでは一部の宛先に失敗する場合は、ルールの一致条件とポリシーの指定先を重点的に確認します。

Direct:リモートプロキシ経路を使わない

Directは直接接続する経路を使うモードで、リモートサーバーが利用可能かどうかの確認には適していません。「スイッチは有効だがDirectが選ばれている」状態を、サーバーへの接続成功の証拠と考えないでください。モードを比較した後は、普段使う予定のモードに戻し、トラブル対処のための一時的な選択を残さないようにします。

この手順の完了条件:Homeに戻ったとき、Global Routingの行に想定した選択肢が表示されていること。Configを選んだ場合は、現在有効な設定ファイルも把握しておいてください。DOMAIN-SUFFIX、GEOIP、FINALなどのルール用語は用語集で確認できます。このページではルールの作成方法には踏み込みません。

Shadowrocketの設定ファイル編集画面。General、Rule、Hosts、URL Rewrite、HTTPS Decryption、Add Ruleを表示
Configの設定編集画面:設定内容を編集する画面です。Global RoutingのモードはHomeで選択します。

手順 03 · Home / SERVER

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

Homeに戻り、SERVERグループで今回使用するサーバーを選択し、選択マークが正しい項目に付いていることを確認します。複数のサブスクリプションがある場合は、所属するグループを確認してからサーバー名を見直してください。新しいサブスクリプションを読み込んでも、そのサーバーに自動で切り替わるとは限りません。設定で独立したポリシーグループを使っている場合は、関連ポリシーの参照先が無効な項目になっていないかも確認します。

Global Routingを確認したら、Home上部の接続スイッチを有効にします。初回接続時に、システムからVPN構成の追加を求められる場合があります。Shadowrocketを開いた直後の要求であることを確認してから、システムの案内に従って許可し、端末で求められる認証を完了してください。ここでは端末自体の確認方法を使用します。端末のロック解除情報をサブスクリプションの提供元に送る必要はありません。

認証を完了したらShadowrocketに戻り、上部の表示がNot ConnectedからConnectedに変わるか確認します。システムの許可後もスイッチがオフのままの場合は、Homeに戻ってもう一度有効にします。すぐに切断されたり、接続できない状態が続いたりする場合は、スイッチを何度もすばやく切り替えず、表示されたメッセージを控えて、このページの設定とトラブル対処を確認してください。

VPN構成の許可とサーバー認証は別のものです。システムによる構成追加を許可するのは、端末がこの種類のネットワーク接続を確立できるようにするためです。サーバー側のアドレス、ポート、認証情報は別途確認する必要があります。Connectedは次の確認に進むための状態であり、すべてのWebサイトやルールが正常に動作していることを示すものではありません。

初回の確認では、Homeを表示したまま接続状態が安定するのを待ってからブラウザーを開くとよいでしょう。サーバーを切り替えたり重要な設定値を変更したりする場合は、先に接続を切り、変更を保存してから再接続してください。どの設定でテストしたかを確認しやすくなります。テスト後に利用を終了する場合は、Homeに戻って上部のスイッチをオフにします。

この手順の完了条件:サーバーを選択し、システムの許可を完了し、HomeにConnectedと表示されていること。続けて設定を変更するのではなく、まず決めた宛先にアクセスして実際の結果を確認します。問題が起きた場合に、接続の確立とアプリからのアクセスを切り分けやすくなります。

Shadowrocketのホーム画面。上部にNot Connectedのスイッチ、Global Routing、Connectivity Test、下部にSERVERグループとAdd Serverを表示
Home:接続スイッチ、Global Routing、Connectivity Test、SERVERが同じ画面にあります。スクリーンショットのNot Connectedは未接続の状態です。

手順 04 · Connectivity Test

接続と実際のアクセス結果を確認する

選択したサーバーとルーティングモードをそのままにして、HomeでConnectivity Testを実行します。このテストでは、現在のネットワークからサーバーに到達できるかを確認します。結果はTest Method、ネットワーク環境、テスト対象の応答に左右されます。所要時間が表示されても、すべてのサービスが利用できるとは限りません。タイムアウトした場合も、1回の結果だけでパスワードの誤りと判断せず、後述する実際のアクセス結果と合わせて確認してください。

続けてブラウザーを開き、正常にアクセスできると分かっている、今回のテスト目的に合った宛先にアクセスします。以前のキャッシュを表示しているだけの状態を避けるため、新しいページを開くか再読み込みしてください。まず同じ宛先で確認し、その後に別の宛先を試します。Wi-Fi、サーバー、Global Routingを同時に切り替えると、結果が変わっても原因を特定しにくくなります。

Proxyを選択している場合は、選択したサーバー経由でアクセスできるかを確認します。Configを選択している場合は、対象がプロキシ経由と直接接続のどちらを想定しているかも確認してください。ルールでDIRECTに指定された宛先にアクセスできても、リモートプロキシが利用可能である証明にはなりません。プロキシ経由を想定した宛先にアクセスできない場合は、一致するルールと対応するポリシーをさらに確認します。

ネットワークの影響を比較するときは、まず現在の状態を記録し、一度に変更する条件を1つにします。たとえば、サーバーと設定は変えずに、Wi-Fiからモバイルネットワークに切り替えて再テストします。同じサーバーが特定のネットワークだけで失敗する場合と、すべてのネットワークで失敗する場合では、調べる範囲が異なります。遅延の数値だけでサーバーを選ばず、実際のアクセスが安定するかを基準にしてください。

この手順の完了条件:Connectedと表示されるだけでなく、どの宛先にアクセスできたか、どのモードを使ったか、どのネットワークでテストしたかを説明できること。結果が想定と異なる場合は、この3つの条件を記録したまま次の手順で範囲を絞ります。利用できることを確認できたら、名前やグループを整理し、設定をバックアップしてください。

手順 05 · Settings / Diagnostics

問題の範囲に応じて設定を確認する

トラブル対処は問題が発生した手順から始めます。読み込みが完了しない場合はURLと形式を確認します。サーバーは表示されるもののテストに失敗する場合はサーバー設定を確認します。Connectedと表示されても一部のアクセスだけに問題がある場合は、ルーティングと名前解決を確認します。1回に変更する条件は1つにし、変更後は同じテストを繰り返してください。原因と結果の関係が分かりやすくなり、正常だった設定まで変更してしまうのを防げます。

サブスクリプションの追加に失敗する、または更新後に空になる

サブスクリプションURLが完全か、余計な空白がないか、単一サーバーの共有リンクをSubscribeのURLと取り違えていないかを確認します。URLに有効期限やアクセス用の認証情報が含まれている場合は、現在も有効かをサービス提供元に確認してください。完全なサブスクリプションURLを公開して問い合わせたり、同じ名前の項目を続けて作成したりしないでください。現在の記録を残し、エラーメッセージに従って対処します。削除する前に、保存しておきたいカスタム内容をバックアップしてください。

テストがタイムアウトする、または接続がすぐ切れる

まず接続をオフにした状態で、端末が通常のネットワークにアクセスできるか確認します。次に、選択したサーバーのType、Host、Port、認証情報、転送設定を確認してください。同じグループの他の項目は正常で1つだけ失敗する場合は、そのサーバー情報を優先して確認します。すべて失敗する場合は、現在のネットワーク、サブスクリプションの状態、システム時刻も確認してください。TLS関連の接続には正確な時刻が必要です。システムの日付と時刻で自動設定を確認し、診断の代わりに証明書検証を無効にしないでください。

Connectedの後、一部の宛先だけに問題がある

Homeに戻ってGlobal Routingを確認し、Directが選択されたままになっていないか確認します。ProxyとConfigを一時的に比較できます。前者では利用できて後者では失敗する場合、正しいConfigが選択されているか、ルールが参照するポリシーが存在するかを確認してください。DNSや特定のアプリの独自のネットワーク動作が関係する場合は、設定を変更する前に該当する用語を確認してください。すべての設定を一度に置き換えないでください。

バックグラウンド動作とSettingsの項目

画面下部のSettingsを開くと、Test Method、On Demand、Diagnosticsのほか、Proxy、TCP、UDPなどの設定項目を確認できます。Test MethodはConnectivity Testの方法に影響するため、異なるテスト方法の数値をそのまま比較しないでください。On Demandは条件に応じた自動接続に関する設定であり、サーバー設定の誤りを修正するスイッチではありません。手動で切断した後に自動で再接続する場合は、該当するルールが有効になっているかを確認してください。

原因を特定できない場合は、Diagnosticsで利用可能な診断情報を確認します。問題が発生したときのネットワークの種類、Global Routingの選択、テスト結果、表示されたメッセージを記録したうえで、サービス提供元への問い合わせが必要か判断してください。スクリーンショットやログを共有する前に、サブスクリプションURL、パスワード、個人用アドレスなどの認証情報を隠してください。SERVER内の個人的な名前も事前に確認します。

この手順の完了条件:問題が読み込み、サーバー、システム接続、設定ルールのどれに該当するかを切り分けられること。複数のサブスクリプションの整理、更新方法、削除、バックアップについてはサブスクリプションとサーバーの管理ガイドを参照してください。英語の画面用語が分からない場合は用語集を確認すればよく、すべての手順を最初からやり直す必要はありません。

Shadowrocketの設定画面。Language、Test Method、Today Widget、On Demand、Diagnostics、Proxy、TCP、UDPを表示
Settings:テスト方法、オンデマンド接続、診断にはそれぞれ異なる用途があります。初めて使う場合は接続確認を終えてから、問題の範囲に応じて調整してください。