Global Routing:まず通信の処理方法を選ぶ
Global Routingでは通信の処理方法を選択します。サーバー設定の誤りを修正する機能ではありません。初めて使う場合は通常Configを選び、現在の設定ファイルのルールに従って各リクエストをPROXY、DIRECT、REJECTのいずれかで処理します。ProxyまたはDirectへの切り替えは、動作を比較するときだけ一時的に行ってください。3つのモードはそれぞれ設定、プロキシ、直接接続を意味しますが、アプリ内の表記はConfig、Proxy、Directのままです。
操作手順:Homeを開き、Global Routingで現在の選択を確認します。切り替えたらHomeに戻り、選択中のサーバーと接続スイッチを確認してから、もう一度アクセスしてください。モード名が変わっただけで、既存の接続も新しい設定で確立し直されたとは限りません。テスト時は対象アプリの既存接続を切るか、対象ページを開き直してください。
| 画面上の選択肢 | 通信の処理方法 | 使用場面 | 注意点 |
|---|---|---|---|
| Config(設定) | 現在有効なConfigのルールとポリシーに従って処理します。 | 日常的なドメイン名やIPアドレスなどによる振り分けに使用します。 | ルールの順序、ポリシー名、FINALを確認してください。サーバーだけ確認しても不十分です。 |
| Proxy(プロキシ) | プロキシで処理する通信を、現在選択中のプロキシに転送します。 | Configと比較し、ルールによる振り分けが違いの原因か確認します。 | サーバーが利用できない場合、Proxyに切り替えても復旧しません。 |
| Direct(直接接続) | 対象の通信を直接接続として処理します。 | ローカルネットワーク自体の接続状況を比較します。 | 接続スイッチを切る操作ではなく、すべてのアプリの通信経路を保証するものでもありません。 |
選び方:同じ接続先がProxyでは開けてConfigでは開けない場合、すぐにプロトコルを変更するのではなく、対象に適用されたルールを先に確認してください。Directでも、本来直接接続できるはずの接続先にアクセスできない場合は、Wi-Fi、モバイル通信、接続先サービス自体を確認します。比較が終わったら元のConfigに戻し、一時的な設定をそのまま使い続けないようにしてください。
ルールによる振り分け:条件と処理ポリシー
ルールは「何に一致するか」と「一致した後にどう処理するか」の2要素で構成されます。DOMAINやDOMAIN-SUFFIXなどはマッチ条件、PROXY、DIRECT、REJECTは処理ポリシーです。前者は対象範囲、後者は処理結果を定めます。両者を混同しないでください。ルールは通常、上から順に評価されます。具体的な例外は範囲の広いルールより前に置き、FINALは未一致の通信を処理するため末尾に配置します。
操作手順:Configを開き、現在使用中の設定ファイルを確認してから編集画面に進み、ルールを確認します。保存前に復元用のコピーを確保してください。保存後はそのファイルが引き続き有効になっていることを確認し、Global RoutingをConfigに設定します。無効なファイルだけを変更しても、実際の振り分け結果は変わりません。
| ルールタイプ | マッチ対象 | 適用時の注意 |
|---|---|---|
DOMAIN | 完全なドメイン名。 | 特定のホスト名だけを処理する場合に適しています。 |
DOMAIN-SUFFIX | 指定したドメイン名とそのサブドメイン。 | 関係のないサービスに影響しないよう、サフィックスの適用範囲を確認してください。 |
DOMAIN-KEYWORD | ドメイン名に含まれるキーワード。 | 適用範囲が広く、意図しないドメインにも一致する場合があります。 |
IP-CIDR / IP-CIDR6 | IPv4 / IPv6のアドレス範囲。 | アドレス範囲のマッチは、ドメイン名のマッチとは異なります。 |
GEOIP | IPアドレスの地理情報データベースによる分類。 | 分類はデータベースに依存するため、サービスの実際の所在地と一致するとは限りません。 |
USER-AGENT | 識別可能なUser-Agent情報。 | 確認可能なリクエスト情報に制約されるため、すべての暗号化通信でアプリを識別できるわけではありません。 |
FINAL | それ以前のルールに一致しなかった通信。 | 最終的に適用されるポリシーが想定どおりか確認してください。 |
最小限の例でルールの順序を確認
DOMAIN-SUFFIX,example.com,PROXY
GEOIP,CN,DIRECT
FINAL,PROXY
この例は構文の説明用です。まずexample.comとそのサブドメインに一致した通信をPROXYで処理し、続いてGEOIP条件に一致したアドレスをDIRECTで処理します。それ以外の通信はFINALに渡します。完全な設定ではなく、利用可能なサーバー情報も含みません。PROXYの実際の接続先は、現在のサーバーまたは設定内の対応するポリシー選択によって異なります。REJECTは一致したリクエストを拒否するもので、別の接続方式ではありません。
注意:接続先サービスが複数のドメイン名、アドレス、接続プロトコルを使用する場合があります。トップページは表示できても一部のリソースが読み込めないときは、失敗したリクエストの接続先を確認してから、必要なルールを追加してください。1つのドメインの問題を解決するために、広範囲に一致するDOMAIN-KEYWORDをすべてのルールより前に置かないでください。また、入手元が不明なルール一式で既存の設定をそのまま上書きしないでください。
Subscribeとサーバーの管理
Subscribeは複数のサーバー情報を読み込んで更新する機能です。個別のAdd Server項目には、1台分のサーバーのプロトコルや接続パラメーターを保存します。どちらもConfigとは別のものです。Subscribeを読み込んでも、特定のルールセットが使用中とは限りません。また、Configを選択してもサーバー情報が揃っているとは限りません。問題を調べるときは、「現在のサーバー」と「現在の設定ファイル」を別々に確認してください。
操作手順:Homeの右上にある+をタップし、Add Serverを開いてTypeからSubscribeを選択します。利用中のサービス提供元から取得したリンクを貼り付けて保存してください。更新後、HomeのSERVER一覧に戻り、使用する項目を選択します。個別のサーバーを追加する場合は、対応するTypeを選択し、手元の情報に従ってアドレス、ポート、認証パラメーターを入力します。QRコードがある場合はScan QR Codeを使用できます。
設定方法:プロトコルはサービス提供元から指定されたパラメーターと一致させてください。Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、WireGuard、Hysteria2では入力項目が異なります。Typeだけを変更して、前のプロトコルのパラメーターをそのまま使わないでください。転送方式、TLS、サーバー名などは、手元の説明に従って一つずつ確認します。ポート番号から設定内容を推測しないでください。
Subscribeの更新後は、一覧が実際に更新されたことを確認してからConnectivity Testを実行してください。更新の失敗とサーバー接続の失敗は別の問題です。前者はSubscribeリンクに接続できない、または想定外の内容が返される場合に起こり、後者は実際のサーバー接続に関係します。確認に使える情報を保存する前に項目一式を何度も削除すると、パラメーターを照合する手段を失うおそれがあります。
注意:Subscribeのリンク、QRコード、サーバーの詳細には認証情報が含まれる場合があるため、公開しないでください。Subscribeを更新すると、その項目への手動変更が上書きされることもあります。情報をSubscribeで管理するのか、個別に管理するのかを事前に決めてください。問題を共有するときは、プロトコル名、エラーの種類、必要な設定状態だけを残し、リンクや認証情報は伏せてください。
On Demand:条件に応じて接続を開始
On Demandを使うと、設定した条件に従ってシステムが接続を開始します。これは接続のタイミングを制御する機能であり、Configのルールを置き換えるものでも、サーバーの利用可否を変えるものでもありません。まず手動で安定した接続を一度確立してから、On Demandを有効にしてください。先に有効にすると、自動再接続によって失敗の原因が見えにくくなることがあります。
操作手順:アプリ内でSettingsを開き、On Demand関連の設定を探します。表示されている条件と動作を確認してから、利用環境に合わせて有効化または調整してください。選択肢はシステムやアプリによって異なる場合があります。現在の画面に表示されている項目を基準にし、ほかの端末にある選択肢がこの端末にも必ずあると考えないでください。
設定方法:日常的に自動接続したいのか、特定のネットワーク条件で接続したいのかを決めます。設定後、普段使うWi-Fiとモバイル通信のそれぞれで動作を確認してください。ネットワークを切り替えた後は接続が確立するまで少し待ち、アプリの接続状態を確認します。手動で切断しても再接続する場合は、スイッチを何度も切り替える前にOn Demandが有効なままか確認してください。
注意:On Demandで接続しても、すべてのリクエストがプロキシ経由になるとは限りません。最終的な処理はGlobal RoutingとConfigによって決まります。再現性のあるテスト環境を用意する場合は、On Demandを一時的に無効にして接続スイッチを手動で操作します。確認後は元の設定に戻し、結果に影響するほかのネットワーク設定が同時に有効になっていないか確認してください。
Data:通信量を確認する(課金記録とは別)
Dataでは、クライアントで確認できる通信量を集計します。テスト中にデータ通信が発生したか、アップロードやダウンロードに変化があったかを確認する際に役立ちます。ただし、サービス提供元のアカウントに表示される残量と同じとは限らず、合計値だけから各接続先に適用されたルールを特定することもできません。
操作手順:接続前にDataを開き、表示されている集計範囲と数値を記録します。次に、対象を明確にしたアクセスを一度だけ行い、Dataに戻って変化を比較してください。集計期間やリセット項目が表示される場合は、意味を先に確認します。調査記録を残す必要があるときは、比較の基準を失わないよう数値を記録してからリセットしてください。
使い方:テスト中はバックグラウンドでのダウンロード、クラウド同期、ほかのアプリの動作をできるだけ減らしてください。増加した通信量が確認中の接続先によるものとは限らなくなります。ページの読み込みに失敗しても、DNS、ハンドシェイク、再試行の通信が発生する場合があります。反対に、キャッシュからページが表示されると数値の変化が小さいこともあります。Dataの数値は実際のリクエスト、接続状態、診断記録とあわせて判断してください。
注意:クライアントとサービス提供元では、集計範囲、更新時刻、計測方法が異なる場合があります。通信量の上限を確認するには、利用中のサービス提供元の記録を参照してください。Dataに表示された数値だけで請求額を推測しないでください。アクセスがPROXYとDIRECTのどちらで処理されたか確認するには、通信量の増減ではなく、現在のモードと対象リクエストの記録を確認します。
Settings:よく使う項目を個別に確認
Settings内の各項目はそれぞれ異なる目的で使われます。DNSは名前解決、Test Methodはテスト方法、Today Widgetはシステムからのショートカット、iCloud関連の項目は対応する内容のクラウド同期を扱います。これらは接続を一括で改善するスイッチではありません。変更前に元の値を記録し、変更後はその項目に関係する結果だけを確認してください。
DNS:名前解決と接続を分けて確認
概要:DNSはドメイン名をアドレスに変換します。名前解決に成功しても接続先に接続できるとは限らず、アドレスへの接続が正常でもドメイン名の名前解決経路が正しいとは限りません。設定場所:まずSettingsでDNS関連の項目を確認し、現在のConfigにもDNS設定があるか確認します。実際の動作は、現在の設定と接続モードも踏まえて判断してください。
設定方法:動作を確認できている設定はそのまま使い、明確な名前解決エラーがある場合にのみ変更してください。既存の設定からDNSパラメーターを使用する場合は、アドレスの形式と到達可能性を確認し、複数の設定から項目をむやみに混在させないでください。注意:ドメイン名でのアクセスとIPアドレスへの直接アクセスの違いは、原因を探る手がかりにすぎません。HTTPSでは証明書、サーバー名、コンテンツ配信も結果に影響するため、差があるだけでDNS障害と断定しないでください。
Test Method:同じ条件でテストする
概要:Test MethodはConnectivity Testのテスト方法を決めます。設定場所:SettingsでTest Methodを開いて現在の選択を確認し、Homeに戻ってConnectivity Testを実行します。方法によって確認する接続段階が異なる場合があるため、結果を同じ条件のものとして比較しないでください。
設定方法:同じネットワーク、同じサーバー、同じTest Methodで繰り返しテストしてから、実際のアクセスを確認してください。テスト関連の設定を変える場合は、変更前後の条件を記録します。注意:テストに成功しても、すべてのWebサイトやアプリが使えるとは限りません。失敗した場合も選択中の方法を踏まえて判断し、一度の結果だけでサーバーを削除しないでください。
Today Widget:ショートカット操作後にアプリで確認
概要:Today Widgetは、システムから情報を確認したり操作したりするためのショートカットです。利用できる形式は、システムとアプリの対応状況によって異なります。設定場所:Settingsで関連項目を確認し、システムのウィジェット編集画面に対応する項目があるか確認してください。表示されない場合は、まずこの端末で利用できる項目を確認します。別のシステムの画面を参考にして無理に探す必要はありません。
設定方法:端末の画面から追加できるウィジェットを設定し、初回操作後にアプリを開いて接続状態と選択中のサーバーを確認します。注意:ウィジェットの表示には更新間隔がある場合があるため、Homeでの詳細な確認に代わるものではありません。ショートカットから接続を有効にしても、Global RoutingやConfigが自動的に想定した値へ変更されるわけではありません。
iCloud:同期範囲と端末ごとの設定を確認
概要:iCloud関連の機能は、対応する端末環境でアプリが提供する内容を同期または保存するためのものです。設定場所:まずシステム上で使用中のAppleアカウントと、iCloudに対するアプリのアクセス権を確認します。次にShadowrocketのSettingsを開き、アプリ内に同期項目があるか確認してください。同期される内容はアプリ内の説明に従います。
設定方法:同期前に現在の設定を保存し、どの端末の内容を基準にするか決めてから、もう一方の端末で実際に反映された項目を確認します。注意:すべての設定、認証情報、接続状態が同期されるとは限りません。iCloudによるデータ同期はApp Storeで購入したアプリの復元とは別です。また、iCloudの同期からWindows、Android、Linuxにも同じデータが自動的に反映されると推測しないでください。
Diagnostics:問題の発生箇所を段階的に確認
Diagnosticsはトラブルの手がかりを収集・確認する機能であり、あらゆる接続問題を自動修復するスイッチではありません。SettingsでDiagnosticsまたは関連する診断項目を開いたら、再現させる現象を明確にしてから新しいテスト記録を作成してください。診断項目はシステムによって異なる場合があります。内容を保存する前に、現在の画面に表示されている説明を確認してください。
- ネットワークと状態を記録する。Wi-Fiとモバイル通信のどちらを使用中か、接続スイッチの状態、Global RoutingがConfig、Proxy、Directのどれか、選択中サーバーのプロトコルを記録します。認証情報を記録したり公開したりする必要はありません。
- 最小限のテストを行う。まずConnectivity Testを一度実行し、次に接続先を明確にしたアクセスを一度行います。テスト時刻とエラーメッセージを記録してください。複数のアプリを同時に開くと、原因を特定しにくいバックグラウンドリクエストが記録に混ざります。
- 一度に変更する条件は一つだけにする。たとえば、まずConfigとProxyを比較します。差が明確ならルールを確認してください。サーバーへの接続自体に失敗している場合は、パラメーターとローカルネットワークを確認し、DNS、プロトコル、転送設定を同時に変更しないでください。
- 記録をもとに判断する。エラーが名前解決、接続、TLS、リクエスト処理のどの段階で発生したかを確認します。明確なエラーメッセージがある場合は原文を残してください。タイムアウトの場合も、テスト先に到達できないのか、サーバーへの接続が確立していないのかを切り分けます。
- 通常の状態に戻す。調査後は必要なConfigとOn Demandの設定に戻し、診断のためだけに有効にした追加記録を停止します。一時的な比較設定のままになっていないことも確認してください。
プライバシーに注意:診断データにはアクセス先のドメイン名、サーバーアドレス、Subscribe情報が含まれる場合があります。他者に送る前に認証パラメーター、Subscribeの完全なリンク、問題と無関係なアクセス記録を伏せてください。書き出したファイルをそのまま公開しないでください。問題を説明する際は、再現手順、設定項目名、エラーメッセージの原文を示すと、「接続できない」とだけ伝えるより原因の範囲を絞りやすくなります。
よくある設定の質問
Configを選んだのに、通信が想定どおりに振り分けられないのはなぜですか?
まずConfig画面で実際に有効なファイルを確認し、接続先に該当するルールとその順序を調べてください。先にあるルールに一致すると、後続のルールは評価されない場合があります。PROXYまたはカスタムポリシーに対応するサーバーの選択状態も確認します。リクエストを再実行してから結果を確認し、新しい設定を以前の接続で判断しないようにしてください。
接続を切っても自動的に再接続する場合、どこを確認すればよいですか?
まずOn Demandとシステム内の関連する接続設定を確認してください。On Demandを一時的に無効にしてから、接続スイッチを手動で一度切り替えて動作を確認します。Directは通信の処理モードであり、接続を切る操作ではありません。混同しないでください。
Connectivity Testは成功するのに、接続先のページが表示されないのはなぜですか?
テストの成功は、選択中のTest Methodで定められた条件に限られます。接続先のドメイン名の名前解決、適用されたルール、TLSパラメーター、接続先サービスの状態を確認してください。同じサーバーでConfigとProxyの結果を比べると、ルールの問題かサーバー接続の問題かを切り分ける手がかりになります。
Subscribeを更新すると、Configも同時に変わりますか?
SubscribeとConfigを同じデータとして扱わないでください。Subscribeは主にサーバー情報を管理し、Configは設定とルールを管理します。Subscribeの更新後はSERVER一覧と現在のConfigをそれぞれ確認し、実際に何が変わったかを確認してください。画面の表示と現在有効な内容を基準にします。