Shadowrocketの機能と設定
まずGlobal Routingを確認し、現在の設定とサーバーをチェックします。On Demand、DNS、テスト方法はそれぞれ役割が異なるため、複数の項目を同時に変更して効果を判断するのは避けましょう。
- iPhone / iPadでの操作方法
- 画面上の用語は英語表記
- ルールと設定を分けて確認
以下ではiPhoneとiPadでの操作を説明します。具体的な項目の場所や選択肢、システム要件はApp Storeの製品ページと現在のアプリ画面をご確認ください。設定項目が見当たらない場合、名称が似ている別の項目を変更しないでください。
Global Routing:通信の処理方法を選ぶ
通常はルールに基づいて使うためConfigを選び、比較確認が必要なときだけProxyまたはDirectに一時的に切り替えます。HomeでGlobal Routingを開き、現在の選択内容を確認します。ここで決まるのは通信全体の処理方法です。サーバーのインポートや接続のオン・オフを行う設定ではありません。切り替えた後は、Homeで選択中のサーバーと接続状態も確認してください。
| 画面上の選択肢 | 処理方法 | 使用する場面 | 注意点 |
|---|---|---|---|
| Config(設定) | 現在有効な設定ファイルのルールとポリシーに基づいて通信を処理します。 | ドメイン名やIPアドレスなどの条件で処理方法を使い分ける、通常の利用に適しています。 | まずConfigで想定したファイルが有効になっていることを確認し、その後にルールの適用結果を確認します。 |
| Proxy(プロキシ) | クライアントが処理する通信をプロキシ経由で処理します。 | ルールが特定の接続先へのアクセスに影響しているか比較確認するときに使います。 | サーバーが利用可能である必要があります。システム上のすべての通信が必ず同じ経路を通るという意味ではありません。 |
| Direct(直接接続) | クライアントが処理する通信を直接接続で処理します。 | 現在のネットワークから直接アクセスした場合と比較するときに使います。 | Directは接続をオフにする設定ではなく、サーバーへの接続が正常であることを示すものでもありません。 |
変更する項目は一度に1つ
Configで特定の接続先に問題がある場合は、一時的にProxyへ切り替え、同じネットワークとサーバーを使って同じ接続先に再度アクセスします。結果が変わる場合はルールとポリシーを確認してください。変化がない場合は、サーバーのパラメータ、DNS、ネットワーク環境を確認します。比較が終わったら元のモードに戻し、一時的な確認用設定を通常利用に残さないようにしましょう。
Proxyで一度アクセスに成功したからといって、設定全体が正しいとは限りません。また、Directでアクセスできなかった場合も、アプリの不具合とは限りません。接続先ごとにネットワーク条件は異なるため、判断時は接続先、ネットワーク、テストする時間帯をそろえてください。
ルールによる振り分け:マッチ条件と実行ポリシーを区別する
ルールは「何にマッチするか」、ポリシーは「マッチした通信をどう処理するか」を定めます。Configで現在の設定ファイルを開き、使用中であることを確認してからルールの内容を確認します。Global RoutingがConfigの場合、通常はルールが上から順に評価されます。条件が広すぎるルールを先に置くと、後続の具体的なルールが適用されないことがあります。
ルールタイプの選び方
DOMAINはドメイン名の完全一致、DOMAIN-SUFFIXは指定したドメインとそのサブドメイン、DOMAIN-KEYWORDはドメイン名に含まれるキーワードでのマッチに使います。特定のサービス向けにルールを調整する場合は、確認しやすいドメイン名から設定しましょう。短すぎるキーワードで無関係な接続先まで対象にしないよう注意してください。
IP-CIDRとIP-CIDR6は、それぞれIPv4とIPv6のアドレス範囲を指定します。GEOIPはIPアドレスの位置情報データベースに基づいてマッチしますが、結果はデータベースや名前解決されたアドレスによって異なります。USER-AGENTは識別可能なリクエスト情報に依存するため、あらゆる暗号化通信でアプリを識別できる方法ではありません。
ポリシーと最終フォールバック
DIRECTは直接接続、PROXYはプロキシ経由、REJECTはマッチした通信の拒否を意味します。設定では定義済みのポリシーグループ名を参照することもできます。参照先の名称は一字ずつ確認してください。FINALは、それ以前のルールにマッチしなかった通信に適用する最終ポリシーです。ルールの末尾に置き、未マッチの通信をどう処理するか明確にします。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
この例はルールの構文を示すものです。example.comとそのサブドメインにはPROXYを適用し、ほかの未マッチ通信にはDIRECTを適用します。完全な設定ではなく、サーバーも定義していません。編集前に現在のファイルをバックアップしてください。設定がリモートから更新される場合、ローカルでの変更が更新時に上書きされるかどうかも確認しましょう。
サブスクリプションとサーバーの管理:インポートしてから設定を確認
サブスクリプションは複数のサーバー情報を更新するための入口、個別のサーバーは具体的な接続パラメータです。どちらもConfigのルールによる振り分けとは別のものです。Homeでサーバーを管理し、追加画面からAdd Serverを開きます。QRコードがある場合はScan QR Codeを利用できます。サブスクリプションのURLとサーバーのパラメータは、ご利用のサービス事業者から入手してください。
インポート後に確認すること
サブスクリプションを使う場合は、追加手順でSubscribeを選択し、現在の画面に従ってURLとメモを入力します。インポート後、想定したサーバー一覧が表示されていることを確認し、使用する項目を選択してください。手動で追加する場合は、まず正しいプロトコルを選び、アドレス、ポート、認証情報、通信パラメータを照合しながら入力します。サーバーのメモだけでプロトコルを判断しないでください。
Shadowsocks、VMess、VLESS、Trojan、Hysteria2などのプロトコルでは、必要な項目がそれぞれ異なります。TLS、SNI、通信方式、パスなどは、入手済みの情報と一致させてください。テストを通すためだけに検証を無効化したり、認証情報を変更したりしないでください。サービス事業者から提供された項目が現在の入力フォームと合わない場合は、プロトコルの種類と設定方法を先に確認しましょう。
更新と削除の注意点
サブスクリプションを更新すると、リモートからサーバー情報が再取得され、一覧の名前、件数、パラメータが変わることがあります。サブスクリプション内の項目を手動で変更した場合は、更新後もその変更が保持されるか確認してください。古い項目を削除する前に、現在選択されている項目やポリシーグループから参照されていないか確認しましょう。サーバーを削除しても、サブスクリプションの登録先は削除されません。
サブスクリプションURLにはアクセス認証情報が含まれる場合があります。URL全体を公開のスクリーンショット、チャット、障害報告に載せないでください。Connectivity Testは現在のネットワークでのテスト結果を確認するためのもので、すべてのWebサイトやプロトコルの機能、通信速度全体を検証するものではありません。初回の操作手順は使い方ガイドをご覧ください。
On Demand:ネットワーク条件に応じて接続
まず手動接続が安定していることを確認してから、On Demandを設定してください。On Demandは、設定したネットワーク条件に応じて接続動作を実行する機能で、サーバーの設定ミスを修正するものではありません。SettingsでOn Demand関連の項目を探し、現在の画面に表示される条件と動作を一つずつ確認してください。「有効にする」だけで、すべてのネットワークに適した設定になるとは限りません。
設定前に、期待する動作を明確にしましょう。どのWi-Fi環境で接続するか、モバイル通信に切り替わったときにどうするか、どの条件では接続しないかを決めます。画面で設定できる条件ごとに指定し、実際にネットワークを切り替えて確認してください。テストでは特定のWebページが開けるかだけでなく、システムの接続状態とHomeの状態も確認します。
手動で切断しても再接続される場合は、まずOn Demandが有効なままになっていないか確認し、次にシステムのVPN設定を確認してください。自動再接続への対処として、最初にサーバーを削除するのは適切ではありません。一時的に自動接続を止める場合は、該当する条件を無効にしてから現在の接続を切断し、改めて動作を確認します。
ネットワークの切り替え、システムの動作、現在の設定によって、条件の適用結果は変わります。意味が重複する条件を複数設定するのは避けてください。変更後に期待した動作と実際の動作を記録すれば、条件にマッチしていないのか、接続自体に失敗しているのかを判断しやすくなります。
Data:クライアントの通信量を確認
Dataで確認できるのはクライアント側の統計情報であり、サービス事業者の利用量記録の代わりにはなりません。アプリ下部のDataを開き、表示対象の範囲、期間、分類を確認してから数値を見ましょう。集計範囲の異なる値はそのまま比較できません。また、接続時間と実際にデータを転送した時間は同じではありません。
操作によって通信が発生したか確認する場合は、まず現在の統計値を記録し、確認したい接続先に一度だけアクセスしてからDataで変化を確認します。統計をリセットする場合は、必要な記録を先に保存してください。リセットされるのは該当するローカル統計のみで、サービス事業者のアカウントに記録された利用量はリセットされません。
ローカルの統計値とサービス事業者の計測値は、集計範囲、プロトコルのオーバーヘッド、期間、ほかのデバイスの利用状況などによって異なる場合があります。累計値だけで異常の有無を判断しないでください。同じ期間の接続状態、アクセス先、統計値の変化をあわせて確認し、必要に応じてDiagnosticsで情報を補いましょう。
Settings:よく使う項目の役割
Settingsではアプリの環境設定や補助ツールをまとめて管理しますが、ネットワーク動作の一部はConfigの内容で決まる場合もあります。変更前に問題がルール、サーバー、全体設定のどれに関係するかを確認してください。現在の設定ファイルに関連項目がある場合は、画面上の設定との適用範囲を把握し、両方で何度も上書きしないようにしましょう。
DNS:名前解決を確認
DNSはドメイン名をIPアドレスに変換します。「IPアドレスではアクセスできるがドメイン名では失敗する」場合や、ネットワークによって名前解決の結果が大きく異なる場合は、DNSを確認しましょう。まず現在のConfigにDNS設定が含まれているかを確認し、次にSettingsの関連項目を確認します。元の値を控え、一度に変更する要素は1つにして、同じドメイン名で再テストしてください。
DNSを変更しても、パスワード、ポート、ルールの順序が自動的に修正されるわけではありません。DNSリクエスト自体が到達可能か、IPv4とIPv6のどちらの結果が返るか、ルールが名前解決の経路にどう影響するかも確認してください。DNSサービス名だけを見て、現在のネットワークで必ず使えると判断しないでください。
Test Method:テスト結果を理解する
Test Methodでは、接続テストの方法を指定します。Settingsで選択中の方法と、画面に表示されるテスト対象を確認してください。テスト方法によって確認する通信経路の段階が異なるため、同じサーバーで結果が違っても、必ずしも矛盾しているとは限りません。比較するときはネットワーク、対象、方法をそろえ、条件の違いをサーバー性能の変化と取り違えないようにしましょう。
テスト結果が示すのは、そのときに実行したテストの状況です。接続先アプリでの実際の使用感を示すものではなく、通信帯域全体や長期的な安定性を単独で判断することもできません。テストに成功してもアクセスできない場合は、接続先ドメインのルール、DNS、サーバーの通信パラメータを引き続き確認してください。
Today Widget:状態確認と操作を補助
Today Widget関連の設定では、システムのウィジェット表示やショートカット操作を設定できます。まずSettingsで利用可能な項目を確認し、システムで案内される追加手順に従って有効にしてください。表示の可否や実行できる操作は、現在のシステムとアプリ画面によって異なります。ウィジェットは操作の入口であり、独立した別の設定ではありません。
ウィジェットから操作した後は、Homeに戻って接続状態と選択中のサーバーを確認してください。ウィジェットとアプリ内の表示が異なる場合は、まず状態が更新されているか確認します。すぐに設定を削除したり、サブスクリプションを再インポートしたりしないでください。
iCloud:同期とバックアップを区別する
iCloud関連の設定では、対応範囲内でアプリデータを同期できます。利用前にデバイスのiCloudの状態、アプリへのアクセス許可、Shadowrocketの同期設定を確認し、もう一方のデバイスに実際に何が反映されたかを確認してください。すべての項目やシステムの許可設定が移行されるとは限りません。
同期は独立したバックアップではありません。一方のデバイスでの変更や削除が、ほかのデバイスにも反映される場合があります。重要な設定は、復元できるコピーを別途保管してください。機種変更時は、サブスクリプション、サーバー、設定がそろっていることを確認してから自動接続を再開します。アプリを復元した後でも、システムからVPN設定の許可を再度求められる場合があります。
Diagnostics:具体的な問題に沿って情報を収集
Diagnosticsは接続やネットワークの問題を調べるための機能です。Settingsから関連項目を開き、問題に合ったツールを選んで、ドメイン名、アドレス、接続時の現象などを対象にテストします。無関係なテスト結果を大量に集めるより、ネットワークの種類、Global Routingの選択、現在の設定、問題を再現する手順を記録するほうが役立ちます。
ログや診断結果には、アクセス先、サーバーアドレス、認証情報が含まれる場合があります。共有する前に内容を確認し、機密情報を隠してください。問題を説明するときは必要な項目だけを残しましょう。一度の診断の成功・失敗を、すべての接続に当てはめて判断しないでください。
設定の確認手順:接続状態から個別の接続先へ
接続に問題が起きたら、まず現在の状態を記録し、その後に項目を一つずつ確認します。サブスクリプションの更新、設定の入れ替え、DNSの変更、On Demandの調整を同時に行うと、復旧しても原因を特定しにくくなります。
- 基本のネットワークを確認します。デバイスが現在のネットワークに接続できることを確認し、Wi-Fiかモバイル通信かを記録します。
- Homeを確認します。接続状態、選択中のサーバー、システムでVPN構成の追加が許可されているかを確認します。
- Global Routingを確認します。今回のテスト目的に対してConfig、Proxy、Directのどれが選択されているかを確認します。
- Configを確認します。有効な設定ファイル、対象にマッチするルール、ポリシー名、FINALのフォールバックを確認します。
- サーバーを確認します。登録済みのアドレス、ポート、認証情報、通信パラメータを一つずつ照合し、サブスクリプションの更新で項目が変わっていないか確認します。
- 補助設定を確認します。DNS、Test Method、On Demandを確認し、Diagnosticsで同じ接続先を再テストします。
復旧後は、一時的な確認のために変更した項目を一つずつ元に戻し、必要な変更だけを残してください。慣れていない設定はバックアップしてから編集し、認証情報を含むデータは機密情報を隠してから共有します。初回接続の手順は使い方ガイドを、症状に応じた確認方法はトラブルシューティングをご覧ください。