公式ガイド・機能解説

Shadowrocket
機能と基本設定

まず通信の処理モードを確認し、ルールや接続条件、診断項目を調整します。

iPhone / iPad版はApp Storeから入手でき、価格は$2.99の買い切りです。Mac(Appleシリコン・Intel)、Windows、Android、Linux版は無料です。各プラットフォームの入手方法はアプリの入手をご覧ください。パソコン版とAndroid版のインストーラーは当サイトの /dl/ から配布しています。iPhone / iPadのシステム要件はApp Storeの記載をご確認ください。

まず Global Routing を確認 次に Config と SERVER を確認 最後に Settings を確認

以下ではiPhone / iPad版の画面上の用語を使って操作場所を説明します。他のプラットフォームでは項目の配置やシステム連携機能、利用できる設定が異なる場合があります。インストール中のバージョンに表示される項目をご確認ください。本ガイドでは、ユーザーがすでに所有しているサブスクリプションやサーバー情報の使い方を説明します。ノードやサブスクリプションの提供・販売・推奨は行っていません。アプリの買い切り価格と通信サービスの料金は別です。

01 · モード

Global Routing:Config・Proxy・Direct

Global Routingでは、トンネルに入った接続をどのように処理するかを指定します。HomeでGlobal Routingを開き、用途に応じてConfig、Proxy、Directを選択します。これはサーバーのプロトコル設定でも接続のオン・オフでもありません。モードを選んだ後、Homeで選択中のサーバーと接続状態も確認してください。

画面上の表示 / 意味処理方法利用する場面最初に確認する項目
Config / 設定現在の設定にあるルールに従って処理方法を決定します。Proxy、Direct、接続拒否を使い分ける場合。選択中の設定ファイル、ルールの順序、最後に適用されるルール。
Proxy / プロキシ通常、トンネルに入った通信を現在のプロキシ経由で処理します。サーバーで実際に接続できるか一時的に確認する場合。選択中のサーバー、認証情報、接続先サービスの状態。
Direct / 直接接続通常、トンネルに入った通信を接続先へ直接送ります。問題がプロキシ経由の経路に関係するか比較する場合。ローカルネットワーク、DNS、接続先サイトの状態。

普段ルールに従って使う場合はConfigを選択し、Configで有効なファイルを確認します。問題の原因を調べるときは、一時的にProxyまたはDirectへ切り替え、同じ接続先で比較できます。テスト後は元のモードに戻してください。モードの変更で処理方法は変わりますが、誤ったアドレス、パスワード、証明書の設定が自動で修正されるわけではありません。

02 · 振り分け

ルールの種類とPROXY / DIRECT / REJECT

ルールは「一致条件」と「処理ポリシー」で構成されます。Configで現在の設定を開き、ルール一覧または設定内容を確認します。Homeに戻り、Global RoutingでConfigを選択すると、設定内のルールに基づいて通信が振り分けられます。通常のルールは上から順に照合されるため、具体的な条件を広範な条件より前に置き、最後にFINALで残りの接続を処理します。

PROXYは設定内のプロキシポリシーを使い、DIRECTは直接接続、REJECTは接続を拒否します。ポリシー名が現在の設定で認識されることを確認してください。独自のポリシーグループを参照する場合は、そのグループが定義され、利用可能な項目が選択されていることも確認します。ルール末尾の名前だけを変更し、対応するポリシーの有無を見落とさないようにしてください。

右側の例は構文の説明用で、完全な設定ファイルでも実際の接続先を示すものでもありません。追加前に現在のファイルをバックアップしてください。一度に変更するルールは1つにし、保存して現在の設定を確認してから新しい接続を行うと、複数の変更が重なって原因を特定しにくくなるのを防げます。

用語クイックガイドではルールのキーワードを解説しています。プロトコル項目の違いはプロトコルガイドをご覧ください。

Rule · Policy
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
DOMAIN-KEYWORD,ads,REJECT
FINAL,DIRECT
ルールキーワード照合対象設定時の注意
DOMAIN指定した完全一致のドメイン。ドメインにはプロトコルの接頭辞やURLパスを含めません。
DOMAIN-SUFFIXドメイン本体とそのサブドメイン。サイトのドメイン範囲を指定する場合に適しています。
DOMAIN-KEYWORDドメインに含まれるキーワード。照合範囲が広いため、意図しない一致に注意してください。
IP-CIDR / IP-CIDR6IPv4 / IPv6のアドレス範囲。アドレスファミリーとネットワークプレフィックス長をそれぞれ確認してください。
GEOIPIP位置情報データベース上の地域。結果はデータベースと実際に解決されたアドレスによって異なります。
USER-AGENT参照可能なUser-Agentリクエストフィールド。すべての接続でこのフィールドを取得できるわけではなく、一般的なアプリ識別の代わりにはなりません。
FINALそれまでのルールに一致しなかった接続。通常は最後に配置し、残りの接続に適用するポリシーを指定します。
03 · 情報の管理

Subscribe と Add Server

サーバー情報には、1つの接続に使うプロトコル、アドレス、ポート、認証情報を保存します。サブスクリプションは、これらの情報をまとめて取得・更新するためのものです。どちらもユーザーがすでに持っている情報を使います。サブスクリプションとConfigは別の機能です。サーバー一覧を読み込んだ後も、使用中のルール設定とGlobal Routingのモードを別途確認してください。

Subscribe:既存のサブスクリプションを読み込む

Homeの追加メニューから該当する種類を選び、Subscribeを選択して、すでに持っているサブスクリプションURLを入力します。保存して一覧を更新したら、まず更新が成功したか確認し、追加された項目が想定どおりかを確認します。名前が似ていても設定が同じとは限らないため、選択時に所属グループを確認してください。

更新時にサブスクリプションから生成された項目が置き換わる場合があります。長期的に残したい手動変更を、こうした項目だけに加えないでください。更新に失敗した場合は、URLが完全で有効か、現在のネットワークからアクセスできるかを確認します。問題解決のために設定をすべて削除する操作を繰り返さないでください。

Add Server:サーバー情報を1件入力する

HomeでAdd Serverを開き、手元の情報に合わせてプロトコルの種類を選んでから、サーバーアドレス、ポート、認証項目を順に入力します。Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、WireGuard、Hysteria2では必要な項目が異なります。アドレスの形式だけで種類を推測しないでください。

Scan QR Codeを使った場合も、読み込み後にプロトコルと重要な項目を確認してください。保存後、SERVER一覧で該当項目を選び、まずConnectivity Testを実行してから実際のアクセスを試します。テストの成功が示すのは、そのテスト条件での結果に限られます。

04 · 接続条件

On Demand:条件に応じて接続

On Demandは、条件を満たしたときにシステムがVPN接続を開始または再開する機能です。「いつ接続するか」を決める機能であり、Global Routingが決める「接続後に通信をどう処理するか」とは役割が異なります。On Demandを有効にしても、適切なサーバーが自動で選ばれたり、Configのルールが不要になったりするわけではありません。

設定場所と確認方法

SettingsでOn Demandを探し、現在のバージョンで利用できるネットワーク条件と接続動作を確認します。まず手動接続でサーバーが使えることを確認してから、オンデマンド接続を有効にしてください。Wi-Fi、モバイル通信、特定のネットワーク条件を設定できる場合は、必要な項目だけを設定し、すべてを埋める必要はありません。

保存後、該当するネットワークに一度切り替え、Homeに戻って接続状態を確認し、新しいリクエストで実際のアクセスを確かめます。テスト時はネットワークの種類と接続が開始される条件も記録し、一時的なネットワーク再接続をルール振り分けの問題と取り違えないようにしてください。

接続を一時停止するときの注意

On Demandが有効な場合、手動で接続を切っても、その後ずっと切断状態が続くとは限りません。条件が再び満たされると、システムが再接続することがあります。明確に一時停止したい場合は、まずオンデマンド設定が有効なままか確認し、その後Homeの接続状態を確認してください。

オンデマンド接続は、システム権限、ネットワーク状態、現在の設定に依存します。ネットワークを頻繁に切り替えると、トンネルの再接続に時間がかかる場合があります。DNS、サーバー、ルールを同時に変更せず、接続条件を絞って一つずつ確認してください。

05 · 通信量の確認

Data:通信量と接続情報の確認

Dataでは、クライアントが記録した通信量と、現在のバージョンで利用できる接続情報を確認できます。Dataを開いたら、表示が現在のセッション、累計値、特定の期間のどれを示すか確認し、アップロードとダウンロードの変化を見ます。統計をリセットできる場合は、必要な数値を記録してから操作し、後で比較できるようリセット時刻も控えてください。

問題を調べるときは、ほかの通信中のタスクを一時停止し、現在の数値を記録してから接続先にアクセスし、新しい通信が発生するか確認します。接続の詳細を表示できる場合は、ドメイン、接続先アドレス、適用されたポリシーを照合して通信経路を判断します。「通信量がある」ことはデータの送受信があったことを示すだけで、Webページが完全に読み込まれたことや、すべての接続に同じポリシーが適用されたことの証明にはなりません。

クライアントの統計方法は、OS、ネットワーク事業者、サーバー側の記録と異なる場合があります。プロトコルのオーバーヘッド、集計期間、直接接続の通信を含むかどうかなどが結果に影響します。Dataの数値をリモートアカウントの残り通信量の確認に使わないでください。また、1回のアップロード量だけで異常の有無を判断することもできません。スクリーンショットやログを共有する前に、アクセス履歴やサーバー情報が含まれていないか確認してください。

06 · 基本設定

Settings:DNS、テスト、システム連携

Settingsを開く前に、現在の設定と値を記録してください。項目はプラットフォームやOSのバージョンによって異なる場合があります。以下は機能ごとの説明であり、すべてのスイッチを有効にする必要はありません。設定ファイルにも同じ機能の設定がある場合は、その内容も確認してください。画面上の項目だけを変更し、現在の設定ファイルの影響を見落とさないようにします。

DNS:ドメイン名の解決

DNSはドメイン名を接続に必要なIPアドレスに変換します。SettingsでDNS関連の項目を確認し、Configで現在の設定に名前解決の指定があるかも確認してください。利用可能と確認できているDNSサービスを設定し、通常のDNS、暗号化DNS、プロキシ経由の経路を区別します。形式の異なるアドレスを同じ入力欄に混在させないでください。

「IPアドレスには接続できるが、ドメイン名では開けない」場合は、まず名前解決の失敗、返されたアドレスファミリーへの到達性、DNSリクエスト自体の経路を確認します。変更後は、現在の画面で案内される方法でキャッシュを消去するか再接続し、新しいリクエストを送ります。1つのサイトで一度失敗しただけで、IPv6をすべて無効にしたりDNS設定を全面的に書き換えたりしないでください。

Test Method:テスト方法

Test Methodはサーバー一覧のテストに使う方法を指定します。Settingsで該当項目を探し、選択肢が接続の確立を測るのか、指定先からの応答を確認するのかを把握してから、HomeのConnectivity Testを実行してください。複数の項目を比較するときは、テスト方法、接続先、ローカルネットワークを同じ条件にします。

表示される時間はダウンロード速度ではなく、すべてのサイトでの使い心地を予測するものでもありません。接続先サイトの状態、ハンドシェイク、ネットワークの一時的な変化が結果に影響します。ある方法で失敗しても、実際のリクエストで再確認し、1回の結果だけでサーバー情報を削除しないでください。

Today Widget:すばやく状態を確認・操作

Today Widgetは、対応するOSとバージョンで利用できるシステムウィジェット関連のショートカットです。Settingsで該当する項目を確認し、OSのウィジェット管理画面から追加します。利用可能なレイアウトや操作方法は、端末に表示される内容をご確認ください。

初期設定後もHomeに戻り、サーバー、Global Routing、接続権限を確認してください。ウィジェットの表示は更新まで時間がかかる場合があります。表示と実際のアクセスが一致しないときは、ショートカットを何度も切り替えず、まずアプリを開いて確認します。ウィジェットはOn Demandの条件設定の代わりにはなりません。

iCloud:設定の同期

iCloudを使うと、この機能に対応した端末間で設定内容を同期できます。Settingsまたは設定管理のクラウド項目から同期できる内容を確認し、iCloudのアクセス許可とサインイン状態も確認してください。同期対象は現在の画面の説明に従います。すべてのサーバー情報、統計、接続状態が同期されるとは限りません。

有効にする前にローカルのバックアップを保存してください。複数の端末で同じ設定を同時に編集しないでください。内容が競合した場合は、ファイルを比較して残す方を決め、使用中のルールを上書きしないようにします。設定にはサブスクリプションURLや認証情報が含まれる場合があります。同期するかどうかは、アカウントと端末へのアクセス権を踏まえて判断してください。

07 · トラブル対処

Diagnostics:状況を整理して原因を絞り込む

Diagnosticsから、現在のバージョンで利用できる診断機能を使えます。SettingsでDiagnosticsを開き、問題に応じてツールや記録方法を選択します。サブスクリプションの更新、接続の確立、ドメイン名の解決、接続先へのアクセスのどの段階で失敗するかを特定してから確認してください。すべての問題をサーバーの速度のせいにしないでください。

  1. ローカルネットワークを確認します。クライアントの接続を一時的に切り、ローカルネットワークから通常アクセスできるサービスに接続できるか確認します。Wi-Fiのログイン画面やOSによるネットワーク切り替えなどの影響を切り分けてください。
  2. 接続パラメーターを確認します。プロトコル、アドレス、ポート、認証、TLS関連の項目を確認し、コピー時に空白が入ったり必要な内容が欠けたりしていないか確認してください。証明書エラーが出た場合は、ドメイン名、端末の時刻、設定値を確認し、検証をそのまま無視しないでください。
  3. モードとルールを切り分けます。同じ接続先を使い、ProxyとConfigでそれぞれ確認します。Proxyでは正常でConfigでは失敗する場合、ルールの一致結果、ポリシーの参照、DNSの経路を重点的に確認してください。
  4. 再現に必要な情報だけ記録します。問題が起きたネットワークの種類、操作手順、接続先、エラーメッセージを記録してください。詳細ログは必要なときだけ有効にし、再現後は停止して、不要なデータの記録やプライバシー情報の露出を抑えます。

ログには接続先のドメイン、IPアドレス、サブスクリプションURL、識別情報が含まれる場合があります。共有する前に機密部分を隠し、エラーの種類と必要な状況説明は残してください。「接続できない」という情報だけでは、名前解決、ハンドシェイク、ルール選択のどこで失敗したかを特定できないことがほとんどです。

08 · 確認手順

設定変更後に反映を確認する方法

「Homeでサーバーを選択 → Configでファイルを確認 → Global Routingでモードを選択 → 接続 → 新しいリクエストを送信 → DataまたはDiagnosticsで結果を確認」の順で確認してください。一度に変更する要因は1つにし、元の値を記録しておきます。結果が悪化した場合は、その項目を元に戻してから調査を続けてください。初めて使う方はクイックスタートの手順をご覧ください。

サブスクリプションを読み込んだのに、ルールどおりに振り分けられないのはなぜですか?

サブスクリプションに含まれるのは主にサーバー情報で、必要なルール設定が含まれているとは限りません。まずHomeでGlobal RoutingがConfigになっているか確認し、次にConfigで選択中のファイル、ルールの順序、ポリシーの参照先を確認してください。読み込みが成功しても、現在の設定ファイルが有効になっているとは限りません。

Connectivity Testは成功するのにWebページが開かない場合、まず何を確認すればよいですか?

テストと実際のアクセスで同じサーバー情報を使っているか確認してから、接続先ドメインのDNS結果、適用されたルール、接続エラーを確認してください。テスト先と実際のWebページでは異なる経路を使う場合があり、1回の応答ですべてのアクセスが正常とは判断できません。

接続を切っても自動で再接続されます。どの項目を変更すればよいですか?

まずOn Demandの有効状態と接続条件を確認してください。ネットワーク条件が満たされると再接続する場合があります。一時停止するにはオンデマンド動作を先に調整し、Homeに戻って状態を確認してください。On Demandを無効にする代わりに、サーバーや設定ファイルを削除しないでください。

パソコンやAndroidでもShadowrocketを使えますか?

はい。iPhone / iPad版はApp Storeで$2.99の買い切り、Mac(Appleシリコン・Intel)、Windows、Android、Linux版は無料です。プラットフォームに応じて全プラットフォームの入手方法をご確認ください。設定画面やシステム連携機能は、各プラットフォームの表示に従ってください。