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

Shadowrocketの機能紹介
ルーティング、接続、診断の設定

まず通信の処理方法を確認し、次に接続する条件を設定します。最後にテストと記録で結果を確認しましょう。iPhoneとiPadでの一般的な操作を説明します。

ルールに応じて通信を振り分ける場合はConfigを選びます。ProxyとDirectは、すべての通信に同じ処理を適用したい場合や一時的な比較テストに適しています。Global Routingは通信全体の処理方法を設定するもので、サーバー一覧や接続状態を示すものではありません。モードを切り替えた後は、Homeで選択中のサーバーと接続スイッチを確認し、接続先にアクセスできるかテストしてください。

画面の選択肢 処理の仕組み 適した用途 確認するポイント
Config(設定ファイル) 現在有効な設定ファイル内のルールに従って処理します。 ドメインやアドレスごとにPROXY、DIRECT、REJECTを使い分ける場合。 Configで選択されているファイル、ルールの順序、FINAL。
Proxy(プロキシ) 対象となる通信をプロキシ経由で処理します。Configの通常の振り分けルールを個別に適用する方法ではありません。 選択中のサーバーから接続先にアクセスできるか、一時的に確認する場合。 サーバーが利用可能か、接続先がその通信を許可しているか。
Direct(直接接続) 対象となる通信を直接接続で処理します。 現在のネットワークで直接接続した場合と比較し、プロキシ経路とローカルネットワークのどちらに問題があるかを切り分ける場合。 ローカルネットワーク、DNS、接続先が利用可能か。

設定と確認

HomeでGlobal Routingを開き、モードを選択して戻ります。Configを使う場合は、先にConfigで目的の設定ファイルが選択されていることを確認してから接続し、アクセス可能と分かっている接続先をテストしてください。同じ接続先にProxyではアクセスでき、Configでは失敗する場合は、適用されたルール、ポリシーの指定先、DNSを優先して確認します。ただし、比較テスト1回だけでルールの誤りと断定することはできません。

Proxyは「設定を修復する」ためのボタンではありません。一時的なテストが終わったら、必要なモードに戻してください。戻さないと、ローカルネットワークへのアクセスや他の通信の処理方法が変わることがあります。Directにしても接続スイッチがオフになるわけではありません。通信の処理方法が変わるだけで、接続を維持するかどうかはスイッチやOn Demandなどの条件によって決まります。

詳しく見る:Config、Proxy、Directの違いと使い方 →

ルールは「何にマッチするか」と「マッチした後にどう処理するか」で構成されます。DOMAINは完全一致するドメイン名、DOMAIN-SUFFIXは指定したドメインとそのサブドメイン、DOMAIN-KEYWORDはドメイン名に含まれるキーワードにマッチします。IP-CIDRとIP-CIDR6は、それぞれIPv4とIPv6のアドレス範囲にマッチします。GEOIPはIPアドレスの地域情報データベースに基づいて判定します。ルールの種類によって参照する情報が異なるため、ドメインルールをアドレスルールの代わりに使うことはできません。

PROXY、DIRECT、REJECTはルールの種類ではなく、処理方法を指定するポリシーです。それぞれ、プロキシ経由、直接接続、接続拒否を意味します。ルールは通常、上から順に評価され、最初にマッチしたルールが適用されます。そのため、具体的なルールを広範囲に適用されるルールより上に配置してください。FINALは、前のルールにマッチしなかった通信を処理するためのルールです。末尾に配置します。

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

この例では、ads.example.comは後続のexample.comの範囲に入る前にREJECTにマッチします。それ以外の該当ドメインはPROXY、指定されたプライベートアドレス範囲はDIRECTで処理され、残りの通信はFINAL,DIRECTで処理されます。この例は構文の説明用です。各ドメインで利用可能な接続サービスが提供されることを示すものではなく、そのまま完全な設定として使用することもできません。

変更する条件は一度に1つだけ

元の設定ファイルを残したまま、Configでコピーの[Rule]セクションを編集し、保存後にそのファイルが選択されていることを確認します。次にHomeへ戻り、Configでテストしてください。変更後は接続先に新しいリクエストを送信し、既存の接続結果を新しいルールの結果と取り違えないようにします。想定したポリシーが適用されない場合は、リクエスト記録からアプリが実際に使用しているドメイン名と接続先アドレスを確認してください。1つのページが複数のドメインにアクセスすることもあります。アドレスバーに表示されたドメインだけにルールを設定しても、すべてのリクエストに同じポリシーが適用されるとは限りません。

以下の手順は、ご自身のサブスクリプションまたはサーバー情報をお持ちであることを前提としています。サーバー項目には接続先アドレス、ポート、プロトコル、認証情報などを保存します。Subscribeでは、すでにお持ちのサブスクリプションURLから項目を取得・更新できます。Configは全体設定や通信の振り分けを管理するもので、サーバー情報を読み込んでも、用途に合ったルールファイルが同時に入手できるわけではありません。

サーバーの手動追加とサブスクリプションの読み込み

サーバー情報が1件だけの場合は、HomeでAdd Serverを開き、元の情報に従ってプロトコルを選び、各項目を入力します。Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、WireGuard、Hysteria2などは入力項目が異なります。アプリに表示されるプロトコルの選択肢と、お手元の情報に従ってください。プロトコルの異なるパスワード、識別子、通信パラメーターを使い回すことはできません。

サブスクリプションを使う場合は、Add ServerでSubscribeを選び、ご自身の完全なサブスクリプションURLを入力して保存し、更新します。読み込み後、グループと項目が表示されることを確認してください。項目を1つ選び、Connectivity Testを実行してから実際の接続先にアクセスします。更新が成功したことは、情報を取得して解析できたことを示すだけで、すべてのサーバーが現在利用できることを保証するものではありません。

更新前に項目の種類を確認

サブスクリプション内の項目は、更新時に再生成されることがあります。直接編集した値がその後も保持されるとは限りません。継続して使うローカル設定は、必要な情報を保存し、手動で追加した項目とサブスクリプションの項目を区別してください。グループの削除、重複項目の整理、サブスクリプションの置き換えを行う前に、現在の接続でどの項目を使っているか確認し、使用中の情報まで削除しないようにしましょう。

On Demandは設定した条件に応じてシステムに接続を要求します。特定のネットワークで自動接続したい場合に便利です。ルールによる振り分けとは役割が異なり、On Demandは接続を開始する条件を扱います。Global RoutingとConfigは、接続後の通信処理を決めます。On Demandを有効にしても、サブスクリプションの追加や利用可能なサーバーの選択、ルールの修正は自動で行われません。

初めて設定する場合は、まず自動接続をオフにし、サーバーの選択、VPN構成の許可、アクセス確認を手動で行ってください。基本の接続が正常に動作することを確認してから、SettingsのOn Demandを開き、画面に表示されるネットワーク条件に合わせて設定します。デバイスやアプリの状態によって選べる項目が異なる場合があります。現在の画面を一つずつ確認し、異なる環境の操作手順をそのまま当てはめないでください。

設定後は、自動接続が必要なネットワークと不要なネットワークの両方で確認し、想定どおりに接続が開始されるかをテストしてから、接続先にもアクセスしてください。手動で切断しても再接続される場合は、まずOn Demandの条件とシステム側のVPN設定を確認します。ネットワークを切り替えた後に接続できない場合は、新しいネットワークでサーバーを手動テストしてください。すぐに接続条件を追加するのは避けましょう。

自動接続が有効でも、サーバーが常に利用できるとは限りません。ネットワークの切り替え、認証の無効化、サブスクリプション情報の変更などが結果に影響することがあります。問題の切り分け中はOn Demandを一時的にオフにすると、自動再接続によるテストへの影響を防げます。テスト後、必要な条件に戻してください。

Dataでは、クライアントが記録した通信量を確認できます。接続中にデータ通信があったか、操作の前後で数値がどう変わったかを見るのに便利ですが、接続サービスの利用料金を精算するための明細ではありません。クライアントとサーバーでは、記録対象や集計時間、測定方法が異なる場合があります。数値が一致しないときは、どの接続と時間帯を集計しているかを確認してください。

Dataを開いたら、まず画面に表示される集計期間と対象を確認します。小規模なテストでは、実行前の数値を記録し、通信を続ける他のタスクを一時停止してから、接続先を1つだけ利用し、増加分を確認してください。リセットや消去の機能がある場合は、実行前に必要な記録を保存します。ローカルの統計を消去しても、サーバー側の利用量は変わりません。

通信量が増えても、接続先のページが正常に表示されたとは限りません。バックグラウンドのリクエスト、接続の再試行、他のアプリの通信でもデータ量は増加します。反対に、ページの読み込みに失敗しても統計が増えることがあります。現在のモード、接続先へのリクエスト結果、Diagnosticsをあわせて確認してください。Dataの数値が増えたことだけを根拠に、ルールが正しい、またはサーバーが正常と判断することはできません。

Settingsの項目を一度にすべて変更する必要はありません。まず初期設定を保ち、正常に動作する状態を確認してから、具体的な問題に応じて調整してください。機能によっては、現在のConfig、システム権限、デバイスの環境も影響します。項目が見つからない場合は、まずアプリ内の画面を確認してください。他のデバイスのメニュー位置が常に同じとは限りません。

DNS:ドメイン名の解決とルール判定の基礎

DNSはドメイン名をIPアドレスに変換します。関連する動作には、Settingsと現在の設定ファイルの[General]セクションの両方が影響する場合があります。問題を調べる際は、まず有効な設定ファイルのDNSパラメーターを確認し、指定したDNSサーバーにネットワークからアクセスできるかを確かめてください。複数の設定元の値を重ねたまま一部だけ変更すると、どの設定が結果に影響したのか分かりにくくなります。

一部のドメインだけで失敗する場合は、他のドメインや異なるネットワークでの結果を比べてから、DNSの応答と適用されたルールを確認してください。変更は一度に1項目にして、接続を確立し直してから新しいリクエストを送ります。1つのアドレスにアクセスできても、ドメイン解決全体が正常とは限りません。DNSをむやみに変更しても、認証やサーバーへの到達性の問題は解決しません。

Test Method:Connectivity Testの測定範囲を理解する

Test Methodでは、Connectivity Testで使うテスト方法を指定します。Settingsで該当項目を開き、選択できる方法を確認してから、同じ方法でサーバー項目を比較してください。テスト先を設定できる場合は、アクセスできることが分かっていて、テスト要件にも合う接続先を使い、比較中は条件をそろえます。

テスト方法によって測定する段階が異なるため、結果をそのまま横並びで比較することはできません。テストに成功してもすべてのWebサイトにアクセスできるとは限らず、タイムアウトの原因がテスト先やネットワークにある場合もあります。まず方法と接続先を確認し、次にサーバーのアドレス、ポート、認証情報をチェックしてください。1回の結果だけを見て、項目を何度も切り替えるのは避けましょう。

Today Widget:クイック操作と状態の確認

Today Widgetは、システムが対応するウィジェット機能で利用できます。まずアプリ内で関連設定を確認し、システムの編集画面から追加してください。利用できる場所や操作方法はシステムの対応状況によって異なります。実際にデバイスに表示される内容を確認してください。システム要件はApp Storeの掲載内容をご確認ください。

初期設定、サーバーの編集、ルールの確認は、アプリ内で行ってください。ウィジェットの状態表示は素早い確認に便利ですが、表示の更新が遅れたり接続結果が想定と異なったりする場合は、ショートカットを何度もタップせず、Homeを開いて選択中のサーバーとスイッチを確認してください。

iCloud同期:同期する情報を確認してから別のデバイスで利用

iCloud関連機能では、対応する範囲でアプリの情報を同期できます。Settingsで同期スイッチを確認し、システム設定でiCloudのアクセス権と空き容量を確認してください。同期対象はアプリ画面の説明に従ってください。アプリの購入履歴、サーバー情報、接続状態、過去の統計がすべて同じように同期されるとは限りません。

初めて有効にする前に、大切な設定を保存してください。別のデバイスで各項目が同期されたことを確認してから、ローカルの設定を変更します。クラウド上に情報が表示されても、システムのVPN許可が完了しているとは限りません。移行先のデバイスでも動作を確認してください。サーバーやサブスクリプションに認証情報が含まれる場合があります。同期を有効にする前に、利用するアカウントとデバイスを適切に管理してください。

Diagnostics:失敗した操作を再現して手がかりを記録

Diagnosticsでは、問題の調査に必要な診断情報を確認または生成できます。問題が発生したら、Settings内の該当項目を開き、画面の案内に従って再現時の記録を1回作成してください。操作前にネットワーク環境、Global Routingのモード、選択中のサーバー、接続先を記録しておくと、複数回切り替えた後の記録より原因を判断しやすくなります。

接続の確立、ドメイン名の解決、接続先へのリクエストがそれぞれどの段階で失敗したかを確認してください。記録を共有する前に、サブスクリプションURL、サーバーの認証情報、個人のリクエスト内容を隠し、問題の特定に必要な情報だけを残します。Diagnosticsは調査の補助情報です。正しいサーバー情報の代わりにはならず、1つのメッセージだけで原因のすべてを判断することもできません。

  1. 接続情報を確認。Homeで選択中の項目の種類、プロトコル、必要な情報を確認します。サブスクリプションの更新が必要な場合は、更新後に正しい項目が選択されていることを確認してください。
  2. モードを確認。日常的にルールで振り分ける場合はConfigを使い、Configで現在の設定ファイルを確認します。比較テストでは一時的にProxyまたはDirectを使い、テスト後に元へ戻してください。
  3. 接続先を確認。まずConnectivity Testを実行してから、実際に使う接続先にアクセスします。テスト方法、テスト先、実際のアクセス結果は分けて記録してください。
  4. 自動接続を確認。手動接続が安定してからOn Demandを有効にし、自動接続が必要な環境と不要な環境の両方で確認します。
  5. 記録を確認。Dataで通信量の変化を確認し、必要に応じてDiagnosticsで再現時の記録を作成します。原因を特定できない場合は、設定を一度にすべて書き換えず、直近の変更を元に戻してください。

機能の設定後も、接続スイッチを有効にできない、サブスクリプションを更新できない、特定の接続先にアクセスできない場合は、症状に応じてトラブルシューティングを確認してください。アプリを改めて入手する場合は、App Storeでの正規品確認と購入方法をご覧ください。開発者はShadow Launch Technology Limited、アプリIDは932747118です。互換性と購入対象はApp Storeの掲載内容をご確認ください。