公式マニュアル · 機能と設定

Shadowrocketの機能と設定方法

まず通信の処理方法を決めてから、接続と診断の設定を調整します。このページでは主にiPhone / iPadでの操作を取り上げ、「機能の概要」「設定場所」「設定方法」「注意点」の順に解説します。具体的な項目や利用できる選択肢は、アプリ内の表示をご確認ください。

  • Global Routing
  • ルールとサーバー
  • 接続と診断

初めて使う場合は、まずApp Storeで正規アプリを確認してから、使い方ガイドに沿ってお手元の設定を読み込んでください。アプリの買い切り購入と通信サービスの契約は別です。サブスクリプションのURLやサーバー情報は、ご利用のサービス提供元から入手してください。

Global Routing:通信の処理方法を選ぶ

機能:Global Routingでは、Shadowrocketが接続を処理する際の全体的なルーティング方式を選択します。Config、Proxy、Directはそれぞれ異なる選択肢であり、接続品質の段階やプロトコルの種類ではありません。通常、宛先ごとにルールを適用する場合はConfigを使います。ルールの影響を切り分ける際は、一時的にProxyまたはDirectに切り替えて比較できます。

設定場所と方法:HomeでGlobal Routingを開き、Config、Proxy、Directのいずれかを選択します。Configを使う場合は、事前にConfigで現在有効な設定を確認してください。Proxyを使う場合は、Homeで利用するサーバーを選択しておきます。変更後は、同じ宛先に改めて接続して確認してください。すでに開いているページだけで判断しないようにします。

画面上の表示 処理方法 利用場面 事前に確認する項目
Config 現在の設定に含まれるルールとポリシーに従って、接続先を決定します。 日常的な振り分けに使います。ドメインやアドレスごとに処理方法を分けたい場合に適しています。 現在の設定、ルールの順序、ルールが参照するポリシー。
Proxy 全体にプロキシ経由のルーティングを適用します。ただし、ローカルネットワークやシステムで確保されている経路も考慮する必要があります。 特定の宛先がルールによって別の経路に振り分けられているか、一時的に確認します。 選択中のサーバーと、プロトコル、認証、通信方式の設定。
Direct 選択したプロキシサーバーを経由せず、直接接続します。 ローカルネットワークとの比較に使い、宛先へ直接アクセスできるかを確認します。 現在のネットワークから宛先へ直接接続できるかどうか。

注意点:Proxyに切り替えてもサーバーの認証エラーは解消されません。また、Directにしてもすべてのネットワーク機能が無効になるわけではありません。Global Routingの選択とHomeの接続スイッチは別の設定です。確認が終わったら元のモードに戻し、一時的な切り分け設定をそのまま使い続けないようにしてください。詳しい手順はGlobal Routingの使い方をご覧ください。

ルールによる振り分け:マッチ条件とポリシーを区別する

機能と設定場所:Configモードでは、現在の設定に含まれるマッチ条件に基づいて処理ポリシーを選びます。Configを開き、まず有効な設定を確認してから、ルールの内容を確認してください。ルールキーワードは「何にマッチするか」を指定し、行末のポリシーは「どのように処理するか」を決めます。両者を混同しないようにしましょう。

ルールの種類マッチ対象確認するポイント
DOMAIN完全一致するドメイン。特定のホスト名だけを対象にしたいかどうか。
DOMAIN-SUFFIXドメイン本体とそのサブドメイン。対象となるサフィックスの範囲が想定より広くないか。
DOMAIN-KEYWORDドメイン名に含まれるキーワード。似た名前の別用途のドメインまでマッチしないか。
IP-CIDR / IP-CIDR6IPv4 / IPv6のアドレス範囲。アドレス範囲、マスク、ドメイン名の解決が関係するかどうか。
GEOIPアドレスデータベースにおける地域分類。データベース上の分類は、サービスの実際の用途や所属を示すものではありません。
FINALそれ以前のルールにマッチしなかった場合の最終処理。最後に適用されるポリシーが意図どおりか。

設定方法:対象範囲が明確なルールを、より広い範囲を対象とするルールより前に置き、FINALを最終的なフォールバックとして設定します。以下はルール構文の例です。example.comは説明用のドメインであり、そのまま日常利用できる完全な設定ではありません。PROXYはプロキシポリシー、DIRECTは直接接続、REJECTはマッチした接続の拒否を表します。設定でカスタムポリシー名を参照している場合は、該当するポリシーが存在することも確認してください。

[Rule]
DOMAIN,example.com,PROXY
DOMAIN-SUFFIX,example.org,DIRECT
DOMAIN,blocked.example.com,REJECT
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,DIRECT

注意点:1つの宛先が複数のドメインやアドレスを使うことがあるため、トップレベルのドメインだけを変更しても、すべての接続が対象になるとは限りません。ルールを確認するときは、接続ログを見て実際のリクエストと適用されたポリシーを照合してください。ConfigファイルにはDNSやポリシーグループなど、ほかの設定が含まれる場合もあります。リモート設定を更新した後は、ローカルで加えた変更が残っているか確認し、重要な変更は事前にバックアップしてください。

サブスクリプションとサーバー:接続情報とルール設定を分けて管理

機能と設定場所:Homeのサーバー項目には、接続先アドレス、ポート、認証情報、プロトコルのパラメーターを保存します。Subscribeでは、登録済みのサブスクリプションURLや更新を管理します。Configはルールなどの設定を管理します。サーバー一覧を読み込んでも振り分け設定が完了するわけではなく、ルールファイルを有効にしても接続可能なサーバーが追加されるわけではありません。

設定方法:サブスクリプションを利用する場合は、サービス提供元からURLを入手し、追加画面でSubscribeを選択して入力・保存した後、更新を実行します。手動で追加する場合はAdd Serverを開き、元の情報に合ったプロトコルを選択してから、アドレス、ポート、認証情報を確認します。Shadowsocks、VMess、VLESS、Trojan、WireGuard、Hysteria2などでは必要なパラメーターが異なります。あるプロトコルの項目を別のプロトコルにそのまま当てはめないでください。

QRコードやクリップボードで情報を受け取った場合は、対応する読み込み方法を使えます。読み込み後も項目を開き、プロトコルとサーバーアドレスを確認してください。複数のサブスクリプションは用途別に名前を付け、分かりやすく整理してから、同じテスト条件でConnectivity Testを実行して比較します。並べ替えは一覧を整理するための機能です。一度のテスト結果だけで、ほかの項目を削除しないようにしてください。

注意点:サブスクリプションの更新によって、サーバーが追加、削除、置き換えられることがあります。手動編集した項目も、次回の更新で変更される場合があります。削除する前に、対象が個別の項目かサブスクリプション全体かを確認してください。サブスクリプションURLにはアクセス情報が含まれることが多いため、ログやスクリーンショットを共有する前に必ず隠してください。詳しい手順はSubscribeの管理とQRコード・クリップボードからの読み込みをご覧ください。

On Demand:条件に応じて接続する

機能:On Demandは、設定した条件に応じて接続を開始する機能です。「いつ接続を試みるか」を制御します。一方、Global Routingは「接続後に通信をどう処理するか」を決めるため、役割が異なります。On Demandがサーバー情報を補完したり、あらゆるネットワーク環境でサーバーへの接続を保証したりすることはありません。

設定場所と方法:SettingsでOn Demand関連の項目を探し、アプリに表示される条件に合わせて設定します。まず手動接続が正常に動作することを確認してから、オンデマンド接続を有効にしてください。ネットワーク条件ごとに動作を変える場合は、項目を1つずつ確認し、最初から複数の条件を同時に変更しないようにします。設定後は、接続が必要なネットワークと、接続が不要なネットワークの両方で動作を確認してください。

注意点:Wi-Fiとモバイル通信を切り替える際、システムがネットワーク経路を再確立するため、一時的に再接続が発生することがあります。すぐに設定エラーと判断する必要はありません。手動で接続を切った後に再接続する場合は、On Demandが有効のままになっていないか確認してください。接続問題を切り分ける際は、オンデマンド条件を一時的に無効にして、手動で再現性のあるテストを行えます。終了後は必要な設定に戻してください。

Data:通信量と接続記録を確認する

機能と設定場所:Dataでは、アプリが提供する通信量の統計や接続情報を確認できます。Dataを開いたら、まず統計の対象範囲、通信の方向、記録内容を確認し、その情報をもとに発生中のリクエストを判断してください。表示される統計はクライアント側で観測された通信状況であり、サービス提供元の請求額ではありません。

使い方:特定のアプリやページを調べる場合は、現在の統計を記録してから、確認したい操作を1つだけ実行し、Dataに戻って変化を比較します。接続の詳細を表示できる場合は、宛先アドレスと処理ポリシーも確認し、リクエストが想定どおりかを調べてください。記録の消去やカウンターのリセットが必要な場合は、必要な情報を先に保存し、ボタンの影響範囲を確認してから操作します。

注意点:Webページのキャッシュ、バックグラウンド更新、接続の再利用、ほかのアプリの通信が観察結果に影響することがあります。通信量の増加は、該当する統計経路でデータが処理されたことを示すだけで、目的のコンテンツが正常に読み込まれた証拠にはなりません。クライアント側の統計とサービス提供元の課金方法は異なる場合があります。残りの通信量はサービス提供元の記録を確認してください。接続記録にはアクセス先のドメインが含まれる場合があるため、取り扱いには注意が必要です。

Settings:目的に合わせてよく使う項目を調整する

Settingsでは、テスト、システム連携、一部のネットワーク動作を管理できます。まず正常に動作している設定を保ち、明確な問題がある場合に該当項目だけを変更してください。パラメーターによっては、現在のConfigから適用されることもあります。そのため、Settingsで変更した値が現在の接続に使われているとは限りません。設定ファイルと実際の接続記録もあわせて確認してください。

DNS:ドメインの名前解決経路を確認する

機能と設定場所:DNSはドメイン名をIPアドレスに変換します。関連項目はSettingsと、現在のConfigに含まれるDNS設定で確認できます。DNSはプロキシサーバーのアドレスやTLSの名前検証にも関係しますが、それぞれ別のパラメーターです。名前が似ているからといって、同じ値を入力しないでください。

設定方法と注意点:まず現在のDNS設定を記録し、名前解決のリクエストがどの経路を通るか、設定で関連ルールが指定されているかを確認します。ドメイン名でアクセスできない一方、アドレスへの接続結果が異なる場合は、名前解決の結果を調べてください。変更は一度に1項目だけにして、その都度テストします。複数のDNS設定を安易に重ねると原因を特定しにくくなり、名前解決が速くなるとも限りません。TLSの検証に失敗する場合は、DNSだけでなくサーバー名、証明書、デバイスの時刻も確認してください。

Test Method:Connectivity Testの比較条件をそろえる

機能と設定場所:SettingsのTest Methodで、接続テストの方法を選択します。HomeでConnectivity Testを実行する際は、選択中の方法を踏まえて結果を確認してください。テスト方法によって測定する段階が異なるため、結果をそのまま混ぜて比較することはできません。

設定方法と注意点:まずテスト方法を決めます。選択した方法にテスト対象やタイムアウトの設定がある場合は、その内容も記録してください。ローカルネットワークとテスト条件をそろえてからサーバーを比較します。テストに成功してもすべての宛先へアクセスできるとは限りません。また、遅延が短くても継続的な通信速度が高いとは限りません。タイムアウトが発生した場合は、ローカルネットワーク、サーバー情報、テスト対象を順に確認してください。詳しくは遅延テストと並べ替えをご覧ください。

Today Widget:システムからすばやく操作する

機能と設定場所:Today Widgetは、システムのウィジェットに関連する機能です。まずSettingsでアプリ内の設定を確認し、次にデバイスで利用できるウィジェットの一覧から追加可能な項目を確認してください。追加できるかどうか、表示場所、操作方法は、現在のシステムとアプリの表示に従います。

設定方法と注意点:まずアプリ内で接続状態とサーバーの選択が正しいことを確認してから、利用可能なウィジェットを追加し、操作結果をテストしてください。ウィジェットはアプリを開く手順を減らすためのもので、Configやサーバー管理の代わりにはなりません。ウィジェットの表示とアプリの状態が一致しない場合は、アプリを開いて実際の接続状態を確認し、必要であればウィジェットを更新してください。

iCloud:同期・復元・アプリの購入を区別する

機能と設定場所:iCloud関連の機能では、アプリが対応するデータを同期または復元できます。設定場所はSettingsの実際の表示を確認してください。App Storeの購入済み記録とは役割が異なります。アプリを再入手できても、サーバー項目や設定ファイルが一緒に復元されるとは限りません。

設定方法と注意点:有効にする前に、デバイスで必要なiCloudアカウントにサインインし、対象のサービスがiCloudを利用できる状態か確認してください。複数のデバイスを使う場合は、まず元のデバイスでデータが保存されていることを確認し、別のデバイスで同期範囲と結果を確かめます。複数のデバイスで同時に大量の項目を削除したり、名前を変更したりしないでください。重要な設定は別途復元可能な形でバックアップしてください。同期は、すべての変更履歴を保存する機能ではありません。サブスクリプションの認証情報も機密情報として、アカウントとバックアップの管理に含めてください。

Diagnostics:問題を一度だけ再現して原因を絞り込む

機能と設定場所:Diagnosticsでは、トラブルシューティングに必要な診断情報を収集または確認できます。Settingsで該当する項目を探してください。HomeのConnectivity TestやDataの接続記録とあわせて使います。Connectivity Testは接続条件の確認に、Dataは実際に発生したリクエストの確認に役立ちます。

使い方:まず「特定のドメインに接続できないが、ほかの宛先には接続できる」のように、具体的な症状を書き留めます。「使えない」だけでは十分な情報になりません。その時点のGlobal Routing、選択中のサーバー、ローカルネットワークの種類を記録し、画面で必要な診断機能だけを有効にして、問題を一度だけ再現してください。発生前後の記録と操作時刻を照らし合わせ、名前解決、接続、認証、ルール選択の異常を優先して確認します。

注意点:診断記録にはサーバーアドレス、サブスクリプションURL、アクセス先ドメイン、認証情報などが含まれる場合があります。他人に送る前に内容を確認し、機密情報を隠してください。確認が終わったら、一時的に変更したログ設定を元に戻し、不要な記録が蓄積しないようにします。トラブルシューティングのためにサーバー、DNS、ルール、テスト方法を同時に変更しないでください。復旧しても、どの変更が有効だったのか判断できなくなります。

よく使う設定の確認手順

新しく読み込んだ設定では、まず再現可能な検証手順を作ってから、自動接続や同期を設定します。以下の順に確認すると、「サーバーが使えるか」「ルールが正しいか」「システムが条件に応じて接続するか」を分けて検証でき、設定同士の影響を減らせます。

  1. サーバーを確認する。Homeで対象の項目を選び、プロトコル、アドレス、ポート、認証情報を確認します。Test Methodは変更せずにConnectivity Testを実行してください。
  2. モードを確認する。Global Routingの選択を確認してください。Configを使う場合は、現在の設定と対象ルールを確認します。一時的にモードを変更した場合は、元の値を記録してから戻します。
  3. 実際のリクエストを確認する。接続後、明確なテスト対象を開き、Dataまたは利用可能な接続記録で変化を確認します。対象だけの問題か、接続全体の問題かを切り分けてください。
  4. 最後にオンデマンド機能を有効にする。手動接続が正常に動作することを確認してからOn Demandを設定し、ネットワーク切り替え時と接続が必要な条件でそれぞれテストします。
  5. 設定を整理してバックアップする。サブスクリプションの名前、設定のバックアップ、iCloudの同期結果を確認してから、Today Widgetなどのショートカットを追加します。

ShadowrocketはAppleプラットフォーム向けのクローズドソースの有料アプリです。入手先はApp Storeのみです。システム要件と購入可能な地域は、App Storeのページでご確認ください。このページでは機能とその範囲を解説しており、接続サービスは提供していません。手順に沿った操作方法は使い方ガイドをご覧ください。複数のサブスクリプションやサーバーを管理する場合は、サーバー管理の公式マニュアルをご確認ください。