Shadowrocket 機能と設定
まずGlobal Routingを確認し、Configとサーバーを見直します。Home、Data、Settingsの各項目を用途に応じて設定し、一度に変更する条件は1つに絞ります。
- Home · 接続と選択
- Config · 設定ファイル
- Settings · 環境設定と診断
Home / Global Routing
Global Routing:Config・Proxy・Direct
Global Routingは、接続を有効にした後に通信の経路を選択します。サーバーの読み込みや接続スイッチの代わりにはなりません。ドメインやアドレスごとに振り分ける場合はConfig、現在のサーバーを一時的に確認する場合はProxy、ローカルネットワークの状態を比較する場合はDirectを使います。名称が似ていても役割は異なるため、切り替える前に確認したい内容を明確にしましょう。
画面の場所と選び方
HomeでGlobal Routingを開き、Config、Proxy、Directのいずれかを選択します。その後Homeに戻り、現在のサーバーと接続状態を確認してください。ここでのConfigはルーティングモードです。画面下部のタブにあるConfigは設定ファイルの管理に使います。Configモードを選んだ場合も、Config画面で実際に有効なファイルを確認してください。モード名だけでは、必要なルールが適用されているとは限りません。
| モード | 通信経路 | 使用する場面 | 確認項目 |
|---|---|---|---|
| 設定 · Config | 現在の設定ファイルにあるルールとポリシーに従ってリクエストを処理します。 | ドメインやアドレスごとに異なるポリシーを適用する通常の接続。 | 有効なファイル、Ruleの順序、最終ルール、ポリシーの適用先。 |
| プロキシ · Proxy | 全体のルーティング先をプロキシにします。システムや設定内の除外項目も確認が必要です。 | 現在のサーバーで接続先にアクセスできるか一時的に確認する場合。 | 選択中のサーバー、接続パラメータ、接続先、ネットワーク環境。 |
| 直接接続 · Direct | 全体のルーティング先としてローカルネットワークから直接アクセスします。 | ローカルネットワークの状態を比較する場合や、問題がプロキシ経路に関係するか確認する場合。 | ローカルネットワークへの接続可否と、リクエストに影響する他の設定。 |
モードを切り替える際の注意点
Proxyを選んでも、すべてのアプリやシステムリクエストが同じ経路を通るとは限りません。また、DirectはシステムのVPN設定を無効にするものではありません。問題を調べる際は、モードと接続スイッチの状態をそれぞれ記録し、混同しないようにします。Configで接続できずProxyでは接続できる場合は、ルールとポリシーを優先して確認してください。どちらでも失敗する場合は、サーバーのパラメータとネットワーク接続を確認します。比較が終わったら元のモードに戻し、一時的なテスト設定をそのまま使わないようにしましょう。
Config / Rule
ルールによる振り分け:条件に一致させてからポリシーを適用
ルールによる振り分けでは、「リクエストの内容」と「リクエストの経路」を分けて扱います。DOMAIN、DOMAIN-SUFFIX、DOMAIN-KEYWORDは対象範囲の異なるドメイン照合に使います。IP-CIDRとIP-CIDR6はアドレス範囲、GEOIPはアドレスの地域情報に基づく判定に使います。USER-AGENTは取得可能なリクエスト情報に依存します。ポリシーのPROXY、DIRECT、REJECTは、それぞれプロキシ、直接接続、拒否を表します。プロトコル名はポリシー名ではありません。サーバーにTrojanやWireGuardを使っても、特定のドメインに適用されるルールが自動で決まるわけではありません。
画面の場所と変更方法
Configを開き、現在有効な設定ファイルを確認してから、ファイルの編集画面でRuleセクションを確認します。変更前に使用可能なコピーを保存し、ルールは一度に1つだけ調整してください。変更後のファイルが引き続き使用中であることも確認します。新しいルールは通常、より広範囲に一致するルールより前に配置します。FINALは末尾に置き、それ以前のルールに一致しなかった場合の処理を指定します。
[Rule]
DOMAIN,example.com,DIRECT
DOMAIN-SUFFIX,example.net,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY
DOMAIN,example.com,DIRECT:example.comに完全一致する場合はDIRECTを使います。すべてのサブドメインには適用されません。DOMAIN-SUFFIX,example.net,PROXY:example.netとそのサブドメインに一致し、PROXYに振り分けます。IP-CIDR,192.168.0.0/16,DIRECT:宛先アドレスがこのプライベートアドレス範囲に含まれる場合はDIRECTを使います。他のプライベートアドレス範囲も含まれるわけではありません。FINAL,PROXY:前のルールに一致しなかったリクエストにPROXYを使います。先にプロキシの接続先が利用可能か確認してください。
照合順序と取得できる情報の制限
Ruleセクションは上から順に評価され、最初に一致したルールのポリシーが適用されます。広範囲に一致するルールを先に置くと、後続の詳細なルールが実行されないことがあります。アドレスによる照合にはドメインの名前解決が関係する場合があるため、記述順だけでなくDNSの結果も確認してください。USER-AGENTは暗号化されたすべてのリクエストから取得できるわけではなく、汎用的なアプリ識別方法としては使えません。
上記の断片はルール構文の説明用であり、完全な設定ファイルではありません。実際のファイルでPROXYを使う場合は、利用可能なプロキシの接続先が必要です。独自のポリシー名を使う場合は、名前と参照先が一致していることも確認してください。General、Host、URL Rewrite、ルールの優先順位については、ルールと設定のガイドをご覧ください。
Home / Add Server / Subscribe
サブスクリプションとサーバーの管理:接続情報とルールを分けて確認
サーバー情報には、サーバーへの接続に必要なアドレス、ポート、プロトコル、認証パラメータが保存されます。サブスクリプションは複数のサーバー情報をまとめて取得・更新するためのものです。どちらも通信を振り分ける設定ファイルとは異なります。本ガイドでは、利用者が用意したサブスクリプションまたはサーバー情報を前提に、読み込みと管理方法を説明します。サーバー情報やサブスクリプションの提供・販売・推奨は行いません。
画面の場所と追加方法
Homeの追加メニューからAdd Serverを開きます。サブスクリプションをお持ちの場合は、アプリに表示されるSubscribeの種類を選び、ご自身のサブスクリプションURLと識別しやすい名前を入力します。個別のサーバー情報をお持ちの場合は、対応するプロトコルを選択して各項目を入力してください。Scan QR Codeを使う前に、QRコードがご自身の設定情報に基づくことを確認します。読み込み後も種類、アドレス、ポートを確認し、読み込みの成功を接続の成功と混同しないでください。
Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardなどでは、入力項目が異なります。手元の情報と現在の画面に表示される項目を確認して入力してください。あるプロトコルのパスワード、識別子、通信パラメータを別のプロトコルにそのまま流用することはできません。TLS関連の項目では、サーバー名と証明書の設定を特に確認してください。エラーを回避するために検証設定をむやみに変更しないようにしましょう。
更新・テスト・削除時の注意点
サブスクリプションを更新したら、グループ内の情報に変更がないか確認し、現在選択しているサーバーも改めて確認します。配信元によってサーバー名や内容が変更される場合があります。サブスクリプションから追加された項目をローカルで編集した場合は、次回の更新で変更が上書きされる可能性に注意してください。削除する前に、個別のサーバー情報を削除するのか、サブスクリプショングループ全体を削除するのかを確認します。
Connectivity Testは、現在のテスト条件で応答を確認する機能です。Webページ、動画、すべてのプロトコル通信が正常に利用できることを示すものではありません。テスト結果が出ても実際にアクセスできない場合は、接続先ドメイン、Global Routing、DNS、ルールの照合状況を確認してください。結果が出ない場合も、Test Methodとあわせて判断します。一度の結果だけでサーバー情報が無効だと決めつけないでください。
Settings / On Demand
On Demand:条件に応じて接続を開始
On Demandは、設定したネットワーク条件に応じて接続を開始する機能です。Global Routingとは役割が異なり、On Demandは接続を開始するタイミング、Global Routingは接続後の通信経路を扱います。On Demandを有効にしても、サーバーの設定ミスは修正されず、無効になった設定情報が自動で置き換わることもありません。
画面の場所と設定方法
SettingsでOn Demand関連の項目を開き、現在の画面に表示されるネットワーク条件と動作を確認してから、利用状況に合わせて有効にします。Wi-Fiとモバイル通信で動作を分ける場合は、対応する条件を1つずつ確認してください。特定のWi-Fi名を条件にする場合は、名称が正確であることを確認します。選択できる項目はアプリ内の表示に従ってください。他のデバイスの設定をそのまま適用せず、各項目を確認しましょう。
初回設定の前に、手動接続で同じサーバー情報が正常に使えることを確認してからOn Demandを有効にします。その後、接続する想定のネットワークと接続しない想定のネットワークでそれぞれ動作を確認してください。これにより、接続条件が成立していないのか、接続開始後にサーバーを利用できないのかを切り分けられます。
手動で切断した後に再接続される場合の確認箇所
手動で切断した後に再び接続される場合は、まずOn Demandとその条件を確認し、次にシステムのVPN状態を確認してください。Wi-Fiからモバイル通信に切り替わった場合も、改めて状態を確認します。Homeに一度表示された状態だけで、切り替え全体を判断しないでください。長時間On Demandを停止する場合は、該当する設定を明確に無効にして状態を確認します。接続スイッチを何度も切り替えるだけでは解決になりません。
Data
Data:クライアントの通信量を確認。サーバー側の利用明細とは別
Dataでは、アプリが記録した通信量を確認できます。アップロードとダウンロードの量や、現在の集計範囲での利用状況を把握するのに役立ちます。接続後に通信が発生したかを確認する目安にはなりますが、数値だけでWebページが完全に読み込まれたことや、リクエストに想定したポリシーが適用されたことを証明することはできません。
画面の場所と確認方法
Dataを開き、まず現在表示されている集計対象と範囲を確認してから、アップロードとダウンロードを見分けます。短時間のテストでは、現在の数値を控え、明確な操作を1回だけ行ってから変化を比較してください。画面にリセット項目がある場合は、実行前に既存の記録を残す必要がないか確認します。リセット後は、以前の利用状況をその数値から確認できなくなります。
集計値に差が出る理由
クライアントとサーバーでは、集計対象、時間の区切り、プロトコルの通信量を含める基準が異なる場合があります。そのためDataの数値を、サブスクリプション情報に表示される容量とそのまま同一視しないでください。サブスクリプションの容量は、現在のデバイスの累計使用量とも異なります。サーバー側の計量を確認する場合は、ご自身が利用しているサービスの情報を確認してください。クライアントの通信経路を判断するには、累計通信量だけでなく、モード、ルール、診断記録をあわせて確認します。
Settings / Config
Settingsの主な項目:用途に応じて調整
Settingsではアプリの環境設定、テスト方法、関連ツールをまとめて管理できますが、すべての動作がSettingsだけで決まるわけではありません。設定ファイルのGeneralセクションも接続や名前解決に影響します。設定を確認する際は、現在の設定ファイルも記録してください。項目の場所や選択肢が異なる場合は、アプリに表示される内容を基準にします。
DNS:設定ファイルを確認してから名前解決の方式を変更
DNSはドメイン名をアドレスに変換し、ドメインへのアクセスや一部のアドレスルールの判定に影響します。まずConfigで現在のファイルのGeneralセクションとDNS関連の設定を確認してください。Settingsにも関連項目がある場合は、あわせて確認します。1か所だけ変更して、すべてに反映されたと思い込まないようにしましょう。
[General]
dns-server = system
dns-server = systemはシステムDNSを使う設定例であり、あらゆるネットワークに適した一律の答えではありません。カスタムDNSやDNS over HTTPSを使う場合は、対象の名前解決サービスに現在のネットワークから接続できることを先に確認してください。その後、設定を変更して同じドメインで再確認します。DNS、サーバー、Global Routingを同時に変更すると、どの変更が影響したのか判断しにくくなります。
Test Method:テスト結果は条件とセットで確認
SettingsでTest Methodを開き、現在選択できる方法からテスト方法を選んで、Homeに戻りConnectivity Testを実行します。方法によって確認する応答の種類が異なる場合があるため、方法を切り替えた後の数値を直接比較するのは避けてください。複数のサーバー情報を比較する場合は、テスト方法、ネットワーク、時間帯をできるだけそろえます。テスト後は実際のアクセスも確認してください。応答時間が短いことは、通信速度が速いことを意味しません。
Today Widget:状態の確認や操作に便利なウィジェット
Today Widget関連の設定は、システムのウィジェットから状態を確認したり、利用可能なクイック操作を実行したりするためのものです。SettingsでToday Widgetの選択肢を確認してから、システムで追加可能な場所にウィジェットを配置してください。表示の有無や利用できる操作は、デバイスのシステムとアプリの対応状況によって異なります。実際の画面で確認してください。
ウィジェットの表示には更新間隔がある場合があります。接続状態を確認するときはHomeとシステムのVPN状態を確認してください。クイック操作から初回接続に必要なシステムの許可を省略することはできません。ウィジェットに情報が表示されない場合は、ウィジェットの設定とアプリの状態を確認し、同じ情報を繰り返し読み込まないでください。
iCloud:同期の前にローカルとクラウドの情報を確認
iCloud関連の同期機能を使う前に、必要なアカウントでデバイスにサインインしていることと、システムでアプリのiCloud利用が許可されていることを確認します。Settingsの関連項目で、実際に同期できる内容も確認してください。現在使用できる設定を保存してから同期を有効にするか復元し、その後、別のデバイスに必要な情報が届いているか確認します。すべての環境設定や動作状態が移行するとは限りません。
サブスクリプションURL、認証情報、設定ファイルには機密情報が含まれる場合があります。同期の前に保存される内容を確認してください。iCloud同期はアプリの購入履歴の復元とは異なり、元のデバイスにあるシステムのVPN許可が新しいデバイスへそのまま移行するものでもありません。機種変更後は、サーバー、設定ファイル、初回接続時の許可をそれぞれ確認してください。
Diagnostics:接続失敗時の情報を収集
問題が発生したら、SettingsのDiagnostics関連項目で利用できる診断ツールを確認します。問題が発生したときのネットワーク、Global Routingのモード、サーバー、設定ファイルを記録してから、同じ問題を一度再現してください。診断内容は同じ操作の結果と照らし合わせます。異なるネットワークで得た結果を組み合わせて判断しないようにしましょう。
診断情報を共有する前に、サブスクリプションURL、認証情報、アクセス先ドメイン、その他の個人情報が含まれていないか確認し、必要な情報を削除してください。診断結果と実際のアクセス状況が一致しない場合は、Homeに戻って選択中の項目と接続状態を確認し、DNSとRuleを調べます。問題の切り分けの代わりに情報を何度も読み込まないでください。
Settings checklist
設定の確認手順:接続、振り分け、自動化の順に確認
- 接続情報を確認。Homeで、ご自身が用意したサーバーまたはサブスクリプションの情報を確認します。プロトコルと必要なパラメータがそろっていることを確認し、今回テストするサーバーを選択してください。
- モードを確認。Global RoutingでConfig、Proxy、Directのどれが選択されているかを確認し、今回確認するのがプロキシ経路なのか、ルールの動作なのかを明確にします。
- 設定ファイルを確認。Configモードを使う場合はConfigを開き、有効なファイル、Ruleの順序、FINALを確認します。特に独自のポリシー名の参照に注意してください。
- 実際のリクエストを確認。まずConnectivity Testを実行し、次に接続先を1つ選んでアクセスします。必要に応じてDataとDiagnosticsも確認し、該当するリクエストがあったか判断してください。
- 最後に自動化を有効化。手動接続とルールの動作を確認した後、On Demand、Today Widget、iCloudを設定し、それぞれの結果を確認してください。
変更後に原因を特定できない場合は、保存しておいた使用可能な設定に戻し、項目を1つずつ復元します。一度にさらに多くの項目を有効にしないでください。初回の読み込みから接続までの手順ははじめての使い方をご覧ください。用語がわからない場合は用語クイックガイド、具体的な不具合についてはよくあるトラブルの確認方法をご覧ください。