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

Shadowrocket
機能と主な設定

まずGlobal Routingで通信の処理方法を確認し、ルール、サーバー、接続条件をチェックします。本記事では、iPhoneやiPadで利用する既存のサブスクリプションまたはサーバー情報を前提に、用途、設定場所、手順、注意点を説明します。

  • Config / Proxy / Direct
  • ルールとポリシー
  • On Demand
  • DNSと診断

ShadowrocketはAppleプラットフォーム向けの有料アプリです。入手先はApp Storeのみです。システム要件はApp Storeの掲載内容をご確認ください。

通信処理の設定

Global Routing:Config・Proxy・Direct

概要:Global Routingでは、通信経路の選択方法を指定します。Config、Proxy、Directは画面上のConfig、Proxy、Directに対応します。これはルーティングの選択肢であり、3種類のサーバーやサーバーのプロトコルを示すものではありません。

設定場所:HomeでGlobal Routingを開くと、現在の選択肢を確認できます。ここでのConfigはルーティングモードです。画面下部のConfigページは設定ファイルを管理する場所で、同じ名前でも別の機能です。

目的に合わせてモードを選び、接続結果を確認します。
画面の選択肢 処理方法 用途 確認するポイント
Config
設定
現在有効な設定ファイルのルールに従ってポリシーを選択します。 ドメイン、アドレス、地域などの条件に応じて日常的に通信を振り分けます。 選択中の設定ファイルとルールの順序を確認します。
Proxy
プロキシ
通信をプロキシ経由で処理します。 一時的にルールによる振り分けとプロキシ接続の結果を比較します。 選択中のサーバーが利用可能かを確認します。個々のルールの正しさまでは判断できません。
Direct
直接接続
通信を直接接続で処理します。 現在のネットワークから直接アクセスした場合の結果を比較します。 直接接続の結果から、プロキシサーバーの接続状態は判断できません。

設定方法:振り分け設定が揃っている場合は、まずConfigページで使用するファイルを確認し、Global RoutingをConfigに設定します。問題の切り分けには、一時的にProxyまたはDirectへ切り替え、同じ接続先で結果を比較します。テスト後は元の設定に戻してください。

注意点:モードを切り替えても、サーバーアドレス、認証情報、DNSパラメータは補完されません。あるサイトがProxyでは開き、Configでは開かない場合は、サーバーをすべて再読み込みする前に、適用されたルールと振り分け先を確認してください。Directにしても、システムのVPN設定がオフになるわけではありません。接続を切る場合は、Homeの接続スイッチを確認します。

設定ファイルとマッチングの仕組み

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

概要:ルールは、マッチタイプ、マッチ対象、ポリシーで構成されます。マッチ条件は「どの種類のリクエストか」を判定し、ポリシーは「一致したリクエストをどう処理するか」を指定します。PROXYはプロキシ経由、DIRECTは直接接続、REJECTは拒否を意味します。設定でカスタムポリシー名を参照している場合は、そのポリシーの定義も確認してください。

確認場所:Configページで使用中の設定ファイルを確認し、ルール編集画面またはファイルの[Rule]セクションを確認します。これらのルールをルーティングに反映するには、Global RoutingをConfigに設定します。

DOMAIN MATCH

ドメインの条件

DOMAINは完全一致するドメインを対象にします。DOMAIN-SUFFIXは指定したドメインとそのサブドメインに一致します。DOMAIN-KEYWORDはドメインに指定した文字列が含まれるかを調べます。後者2つは対象範囲が異なるため、名称が似ていても置き換えないでください。

ADDRESS MATCH

IPアドレスの条件

IP-CIDRとIP-CIDR6は、それぞれIPv4とIPv6のアドレス範囲を指定します。GEOIPはIPアドレスの地域情報に基づいて照合します。ドメインのリクエストがIPアドレスのルールに適用されるかは、名前解決の結果や設定にも左右されます。

設定方法:まず現在のファイルをバックアップし、対象範囲を明確にしたルールを追加します。具体的な条件を広い条件より前に置き、最後にFINALで前のルールに一致しなかったリクエストの処理先を指定します。以下のexample.comは記述例であり、接続サービスを示すものではありません。

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

注意点:ルールは上から順に評価され、通常は一致した時点で後続のルールには進みません。対象範囲の広い条件を先に置くと、その後の具体的なルールが適用されないことがあります。FINALは最後に適用するルールであり、「すべての経路を再試行する」という意味ではありません。変更後は、ファイルが保存されていること、設定が選択されていることを確認し、実際のリクエストで結果を検証してください。マッチ範囲の詳しい説明はルールキーワードとマッチ順序をご覧ください。

接続情報の管理

サブスクリプションとサーバー:追加・更新・選択

概要:サーバー情報には、アドレス、ポート、プロトコル、認証情報などの接続パラメータが保存されます。サブスクリプションを使うと、複数のサーバー情報を読み込み、更新できます。サブスクリプションの管理とルール設定は別の機能です。サーバーを追加しただけでは、通信の振り分け設定は完了しません。

確認場所:HomeのSERVER欄で、登録済みサーバーを確認・選択できます。手動で入力する場合はAdd Serverを使います。既存のサブスクリプションを読み込む場合は、追加画面でSubscribeを選択します。既存のQRコードはScan QR Codeで読み取れます。読み込み前に、設定情報の入手元を確認してください。

設定方法:サーバーを手動で追加する場合は、サーバー側と同じプロトコルを選び、アドレス、ポート、認証情報を順に入力します。TLS、転送方式などの追加パラメータは、手元のサーバー情報に従って設定してください。推測した値を何度も試す方法は避けます。サブスクリプションを読み込んだら、想定したグループが表示されるか確認し、サーバーを1つ選んでテストしてから接続を開始します。

サブスクリプションを更新する前に、サブスクリプション管理のサーバーと手動で追加したサーバーを区別してください。サブスクリプションから追加された情報は、更新時に置き換えられたり削除されたりする場合があります。直接編集する前に必要な情報を控えてください。同じサブスクリプション内でも、すべてのサーバーが同じプロトコルやパラメータを使うとは限りません。

注意点:サブスクリプションURLにはアクセス認証情報が含まれる場合があります。公開スクリーンショット、記事、問い合わせ内容などに貼り付けないでください。読み込みに失敗した場合は、URLが完全か、余分な空白がないかを確認し、現在のネットワークから情報を取得できるか確認します。読み込みに成功したことは、情報を取得できたことを示すだけで、すべてのサーバーに接続できることを意味しません。

クライアントの買い切り購入と接続サービスは別です。Shadowrocketの購入で得られるのはクライアントの利用権であり、接続サービスは含まれません。本サイトではサーバーやサブスクリプションの提供・販売・推奨は行いません。操作説明は、すでにお持ちのサブスクリプションまたはサーバー情報を前提としています。

プロトコルの各項目についてはプロトコル解説をご覧ください。初回の追加から接続までの手順は使い方ガイドで確認できます。

接続を開始する条件

On Demand:条件に応じて接続

概要:On Demandは、あらかじめ設定した条件に応じてVPN接続の開始を制御します。「いつ接続するか」を決める機能です。一方、Global Routingと設定ルールは「接続後にどうルーティングするか」を決めます。On Demandを有効にしても、ルーティング設定が自動で修正されるわけではありません。

設定場所:SettingsでOn Demandを開き、設定できる条件を確認します。利用可能な条件や表示場所はアプリ内の画面をご確認ください。設定時には、システムのVPN設定も確認が必要な場合があります。

設定方法:まず自動接続を一時的にオフにして、手動で接続とアクセスをテストし、サーバーと設定が正常に使えることを確認します。その後、必要なネットワーク条件を設定し、一度に変更する項目は1つにします。対象のネットワークに切り替えたら、システムのVPN状態、Homeの接続状態、実際のアクセス結果をそれぞれ確認し、意図したとおりに接続が開始されるか確かめてください。

注意点:On Demandはサーバー障害を修復する機能ではなく、ネットワーク切り替え時にすべての既存セッションが維持されることを保証するものでもありません。手動で切断した後に再接続する場合は、スイッチを何度も切り替えるのではなく、On Demandの条件とシステムのVPN設定を確認してください。接続の問題を調べる際は、元の条件を記録し、自動接続を一時的に無効にして手動でテストした後、設定を元に戻します。

利用履歴と統計の範囲

Data:通信量を確認する(サーバー側の記録とは別)

概要:Dataでは、クライアントが記録した通信量を確認できます。一定期間のアップロードとダウンロードの変化を把握するために使います。問題を調べる手がかりにはなりますが、帯域幅の測定やサーバー側の課金記録にはなりません。

確認場所:画面下部のDataを開き、まず表示されている統計項目と期間を確認してから数値を読み取ります。集計方法、期間、デバイスが異なる数値を、そのまま合算したり比較したりしないでください。

確認方法:操作による変化を確認する場合は、現在の統計と時刻を記録し、再現可能なアクセスを一定時間行ってからDataで変化を比較します。統計を消去できる場合は、必要な記録を先に保存してください。統計の消去はサーバー状態の更新ではありません。

注意点:バックグラウンドアプリ、システム通信、接続の再試行でも通信量が発生する場合があります。クライアントとサーバーでは、集計範囲、開始・終了時刻、プロトコルのオーバーヘッドの計算方法が異なることがあります。数値の不一致だけで、どちらかの誤りとは判断できません。特定のルールが適用されたかを調べるときは、通信記録と対象リクエストを確認し、通信量の増加だけでルーティングポリシーを推測しないでください。

Settingsの主な項目

DNS、テスト方法、ショートカット、同期

Settingsにはアプリの設定と関連ツールがあります。動作によっては現在の設定ファイルにも左右されるため、変更前にアプリ設定とファイル内のパラメータを区別してください。以下の項目はアプリ内に表示される内容を基準に確認し、すべてを一度に有効にする必要はありません。

DNS:名前解決とルーティングの関係

概要・設定場所:DNSはドメイン名をIPアドレスに変換します。関連項目はSettingsのDNSから確認できます。現在の設定ファイルの[General]セクションにDNSパラメータが含まれている場合もあります。設定を開く前に使用中のファイルを記録し、名前解決への影響を見落とさないようにしてください。

設定方法・注意点:現在のネットワークと設定要件に合わせて名前解決のパラメータを設定し、一度に変更する項目は1つにして、同じドメインで再テストします。サーバーテストに成功してもWebページが開かない場合、名前解決の失敗、不適切な解決結果、その後の接続失敗などが考えられます。1回のテスト結果だけを見てDNS設定をすべて変更せず、失敗が名前解決段階か接続段階かを確認してください。詳しくはDNSの名前解決エラーでページが開かない場合の対処法をご覧ください。

Test Method:テスト内容を確認

概要・設定場所:Test Methodでは、接続テストに使う方法を選択します。Settingsで設定を確認し、HomeのConnectivity Testからテストを実行します。テスト方法によって確認できる接続段階が異なる場合があります。

設定方法・注意点:サーバーを比較する場合は、テスト方法、接続先、現在のネットワークを固定し、繰り返し結果を確認します。異なる方法で得た数値を同じ基準の結果として扱わないでください。テストに成功しても、すべてのサイトにアクセスできるとは限りません。また、テスト時間は実際のダウンロード速度を示すものではありません。テストだけが失敗し、実際のアクセスに問題がない場合は、テスト先とテスト方法を確認してください。

Today Widget:ショートカット

概要・設定場所:Today Widgetでは、関連する情報の表示や操作を設定できます。Settingsで該当項目を確認してください。システム上の所定の場所に追加できるかどうかは、デバイスのシステムで利用できるウィジェット追加画面をご確認ください。

設定方法・注意点:まずアプリ内でサーバーを選択し、接続を確認してから、システムのウィジェット編集方法に従って追加します。ショートカットを使った後は、Homeに戻って実際の状態を確認してください。ウィジェットの表示には更新間隔がある場合があるため、一時点の表示だけで接続全体を判断しないでください。また、未登録のサーバー情報がウィジェットによって補われることはありません。

iCloud:同期内容と上書き方向を確認

概要・設定場所:iCloud関連機能は、アプリが対応する範囲のデータを保存または同期します。Settingsで関連項目を確認するとともに、システムでShadowrocketのiCloud利用が許可されているか確認してください。同期機能とApp Storeでの購入済みアイテムの復元は別の仕組みです。

設定方法・注意点:まず現在のデバイスにある重要な設定を保存し、同期対象、アップロード、復元についてアプリ内の説明を確認してください。別のデバイスでデータを読み込む前に、現在の内容と変更日時を確認し、古いデータで使用中の設定を上書きしないようにします。アプリの購入履歴からサーバーの認証情報が復元されることはありません。同期後も、選択中のサーバー、設定ファイル、ルーティングモードを個別に確認してください。

Diagnostics:失敗時の手がかりを集める

概要・設定場所:Diagnosticsは接続問題の診断ツールです。Settingsで該当項目を探してください。問題を調べる手がかりにはなりますが、1つの結果だけですべての接続段階が正常だとは判断できません。

設定方法・注意点:失敗した接続先、現在のネットワーク、ルーティングモード、再現手順を記録してから診断を実行します。複数回の変更による無関係な情報が混ざらないよう、今回の失敗に対応する結果を保存してください。記録を共有する前に、サブスクリプションURLのアクセス情報、パスワード、認証情報、その他の個人情報を確認して隠してください。診断結果はDNS、サーバー接続、ルールの適用状況と個別に照合し、これらの確認の代わりにしないでください。

設定変更前後のチェックリスト

一度に変更するのは1項目

問題を調べるときは、再現可能な基準を用意します。現在のネットワーク、選択中のサーバー、設定ファイル、Global Routingを記録し、明確な接続先を1つ選んでアクセスしてください。そうすれば、ネットワークの変動を設定変更の効果と取り違えずに、変更による結果の違いを確認できます。

  1. 接続情報を確認する。サーバーアドレス、ポート、プロトコル、認証情報が手元の設定情報と一致しているかを確認し、入力漏れやコピー間違いを先に除外します。
  2. 接続とテストを確認する。手動で接続した後、Connectivity Testを実行し、Test Methodも記録します。数値だけを単独で記録しないでください。
  3. ルーティングモードを確認する。Configを使用している場合は、現在のファイルとルールを確認します。他のモードに一時的に切り替えて比較した後は、元の設定に戻してください。
  4. 名前解決を確認する。接続済みでもドメインにアクセスできない場合は、DNSの結果とその後の接続を個別に確認します。すべての失敗をサーバーの問題と決めつけないでください。
  5. 自動機能を元に戻す。手動操作で安定することを確認してから、On Demandとショートカットを再び有効にし、ネットワーク切り替え後の状態を確認します。

設定ファイルを編集する場合は、まず復元できるコピーを保存してください。サブスクリプションの更新、設定変更、DNS調整、ネットワーク切り替えはできるだけ分けて行います。複数の項目を同時に変更すると、アクセスが復旧しても、どの変更が有効だったのか判断しにくくなります。

初期設定は使い方ガイドに沿って進めてください。プロトコルの項目と選び方はプロトコル解説、購入・復元・App Storeの掲載内容の確認はApp Storeでの正規品確認をご覧ください。開発者はShadow Launch Technology Limited、アプリIDは932747118です。

ShadowrocketをApp Storeでダウンロード