ルール構文の例
以下は順序とポリシーを説明するための例です。完全な設定ファイルではなく、実際の接続先を示すものでもありません。
DOMAIN,example.com,PROXY
DOMAIN-SUFFIX,example.org,DIRECT
DOMAIN-KEYWORD,ads,REJECT
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,DIRECT
SHADOWROCKET / OFFICIAL MANUAL
まずGlobal Routingを確認し、次にルール、サーバー、DNSを確認します。接続をオンにしても、すべてのリクエストに同じポリシーが適用されるとは限りません。
本ページは「概要」「画面上の場所」「設定方法」「注意点」の順に構成しています。操作手順はiPhone / iPadの画面用語を基準にしています。Mac、Windows、Android、Linuxでもルーティングの考え方は共通ですが、項目の場所や利用できる設定は各プラットフォームの画面で確認してください。
01 / GLOBAL ROUTING
Global Routingはトラフィックの処理方法を決め、サーバーの選択はプロキシが必要な場合の出口を決めます。別々の設定です。
概要:3つのモードは画面上のConfig、Proxy、Directに対応します。Configは現在の設定ファイルのルールに従って振り分けます。Proxyはリクエストをプロキシ経由に統一して確認するとき、Directはすべて直接接続する場合との比較に使います。宛先ごとに処理を分ける場合は、Configを選んで個別のルールを確認してください。
場所と設定方法:HomeでGlobal Routingを開き、モードを選択します。その後Homeに戻り、サーバーの選択と接続スイッチを確認してください。Configを選ぶ前にConfig画面で必要なファイルが有効になっているか確認します。ファイルを読み込んだだけでは、ルールが適用されているとは限りません。
| 日本語の説明 / 画面上の表記 | 処理の概要 | 用途 | 確認ポイント |
|---|---|---|---|
| 設定ファイル / Config | 現在の設定ファイルのルールに従って処理を決めます。 | 日常的な振り分けなど、ドメインやアドレスごとに処理を分ける場合。 | 有効な設定ファイル、ルールの順序、ポリシーの指定先。 |
| プロキシ / Proxy | 対象となるリクエストをプロキシ経由にします。 | 選択したサーバーで宛先へのリクエストを処理できるか、一時的に確認する場合。 | サーバーの設定値、到達性、DNS、宛先のサービス。 |
| 直接接続 / Direct | 対象となるリクエストを現在のネットワークから直接接続します。 | ローカルネットワークで到達できるかを比較し、原因の範囲を絞る場合。 | 現在接続しているWi-Fiまたはモバイルネットワークの状態。 |
注意点:ここでいう「すべて」は、クライアントが実際に処理するトラフィックを指し、端末上のあらゆるシステム通信を保証するものではありません。Directにしても接続スイッチがオフになるわけではなく、クライアントがリクエストの処理や記録に関与する場合があります。テスト後は元のモードに戻してください。一時的な切り替えが、その後の確認に影響することがあります。ProxyではアクセスできてConfigではできない場合、サーバー情報をすべて登録し直す前に、該当ルールとポリシーを確認します。
02 / RULES & POLICIES
概要:ルールは照合タイプ、照合対象、ポリシーで構成されます。DOMAINは完全一致のドメイン名、DOMAIN-SUFFIXはドメインの末尾とサブドメイン、DOMAIN-KEYWORDはドメイン名に含まれるキーワードで照合します。一般に、キーワードを広く指定するより、サフィックスを使うほうが照合対象を確認しやすくなります。入力するのはドメイン部分だけです。プロトコルのプレフィックスやページのパスは含めないでください。
IP-CIDRとIP-CIDR6は、それぞれIPv4とIPv6のネットワーク範囲に使用します。GEOIPはIPアドレスを地域データベースと照合するため、データベースや名前解決の結果によって判定が変わる場合があります。USER-AGENTはリクエストから該当フィールドを取得できる場合に使えます。すべての接続で利用できるわけではないため、アプリを識別する汎用的な方法として扱わないでください。
場所と設定方法:Configを開き、現在使用中の設定ファイルとルールの内容、順序を確認します。通常、ルールは上から順に評価され、最初に一致したルールのポリシーが適用されます。具体的な例外ルールを広範なルールより前に置き、最後にフォールバックを配置してください。変更前に元のファイルを保存し、条件を一度に一種類だけ変更します。保存後は、変更したファイルが引き続き有効か確認してください。
以下は順序とポリシーを説明するための例です。完全な設定ファイルではなく、実際の接続先を示すものでもありません。
DOMAIN,example.com,PROXY
DOMAIN-SUFFIX,example.org,DIRECT
DOMAIN-KEYWORD,ads,REJECT
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,DIRECT
注意点:PROXYはプロキシポリシーを適用し、DIRECTは直接接続、REJECTはリクエストを拒否します。設定ファイルが独自のポリシーグループ名を参照している場合は、その名前が実際に存在するか確認してください。FINALは、それ以前のルールに一致しなかった場合のフォールバックです。「すべてのルールを再テストする」という意味ではありません。キーワードの照合範囲が広すぎると、関係のない宛先にも影響する場合があります。問題が起きたら、ルールに宛先名が書かれているかだけでなく、リクエストに実際に適用されたルールを確認してください。
03 / SUBSCRIBE & SERVER
概要:サーバー項目には、接続に必要なプロトコル、アドレス、ポート、認証情報が登録されています。Subscribeは、ユーザーがすでに持っている購読URLからサーバー一覧を更新する機能です。Configはルールなどの設定を管理します。Subscribeの読み込みに成功しても、Configが選択されているとは限りません。また、Configを有効にしても、参照先のサーバーが存在するとは限りません。
場所と設定方法:Homeの追加メニューからAdd Serverを開きます。すでに利用している購読を読み込む場合はSubscribeを選び、サービス提供元から受け取ったURLをすべて貼り付けます。見分けやすい名前を入力して保存し、更新後にHomeへ戻ってグループが表示されることを確認してから、使用するサーバーを選択してください。すでに個別のサーバー情報がある場合は対応するTypeを選び、元の情報どおりに入力します。Scan QR Codeを使う場合も、保存前に読み取られたタイプとアドレスを確認してください。
Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、WireGuard、Hysteria2などでは、入力項目が共通とは限りません。現在のプラットフォームに表示されるTypeと、手元にあるパラメーターに従ってください。サーバーアドレスが同じでも、プロトコルを置き換えることはできません。TLS、SNI、転送パスなどの追加項目も、名称から推測せず、元の情報に記載された値を使ってください。
注意点:Subscribeは更新手段であり、接続成功を保証するものではありません。更新に失敗した場合は、URLにアクセスできないのか、認証が無効なのか、返された内容を解析できないのかを切り分けます。更新できても接続に失敗する場合は、選択中の項目とパラメーターを確認してください。Subscribeの更新でグループ内の手動変更が上書きされることがあります。変更を残す場合は、事前に記録するか別に保存してください。購読URL、QRコード、エクスポートファイルに認証情報が含まれることがあるため、問題を共有する際は機密情報を隠してください。
04 / ON DEMAND
概要:On Demandはネットワークの状態に応じて接続を開始する機能です。「いつ接続するか」を設定し、Global Routingは「接続後にどう振り分けるか」を設定します。On Demandを有効にしても、サーバーや設定ファイルが自動で追加されるわけではなく、既存の接続が正常かどうかを確認する機能でもありません。
場所と設定方法:SettingsでOn Demandを開き、現在の画面に表示される条件を確認してから、必要に応じてWi-Fi、モバイルネットワーク、特定のネットワークに関する条件を設定します。初回は条件を一つだけ追加し、意図した動作を記録しておくことをおすすめします。まず特定のWi-Fiで想定どおりに接続が開始されるか確認し、その後ほかのネットワーク条件を追加すると、複数の条件が重なって原因を特定しにくくなるのを防げます。
保存後、実際にネットワークを一度切り替え、システムの接続状態とShadowrocketの表示が一致するか確認してください。テスト前に、手動接続が正常に動作することを確認します。手動接続で問題がある場合、自動接続の条件を追加すると原因が混在します。バックグラウンド動作や利用できる条件はプラットフォームごとに異なるため、端末に表示される選択肢に従って設定してください。
注意点:手動で切断しても、接続条件が満たされているとシステムが再接続する場合があります。これはスイッチの故障とは限りません。一時停止するには、まずOn Demandを一時的にオフにしてから接続を切断してください。公共Wi-Fiでログイン認証が必要な場合は、先にネットワークへのログインを済ませてから自動接続をテストします。ルーティングモード、DNS、接続条件を同時に変更しないでください。
05 / DATA
概要:Dataにはクライアントが記録した通信量が表示され、アップロード、ダウンロード、累計の変化を確認できます。現在のプラットフォームでサーバー別やアプリ別の表示が利用できる場合は、出口の使用状況や通信の発生元をそれぞれ確認できます。アプリの分類範囲はシステムの機能に左右されるため、端末上のすべての動作が完全に識別されるとは限りません。
場所と確認方法:Dataを開き、現在の表示、集計範囲、単位を確認してから数値を読みます。アップロードは端末から送信したデータ、ダウンロードは端末が受信したデータです。瞬時の通信速度と累計通信量は異なる指標なので、直接比較できません。ルールをテストする場合は、まず現在の数値を記録し、対象へのアクセスを一度だけ行ってから該当項目が増えたか確認します。ポリシーの確認にはリクエスト記録もあわせて参照してください。
新しい期間の計測を始める場合は、画面のリセット機能を使う前に必要な数値を保存し、リセットの対象と範囲を確認してください。統計がすべてインストール日から始まる、または接続のたびにリセットされるとは限りません。開始時点は現在の画面表示とリセットの動作に従ってください。Subscribeに表示される利用量や有効期間は購読元から返される情報であり、Dataのローカル統計とは異なります。
注意点:プロトコルのカプセル化、再試行、集計方法、計測時間の違いにより、Data、システム設定、サービス提供元の数値が一致しない場合があります。通信量が増えてもデータ転送があったことを示すだけで、特定のドメインルールに一致した証拠にはなりません。キャッシュからページが表示された場合、新たな通信量がほとんど発生しないこともあります。数値の詳しい見方はDataの通信量統計の見方をご覧ください。
06 / SETTINGS
初回は現在の設定を維持してください。明確な必要がある場合に限り、一度に一項目だけ変更して元の値を記録します。あらゆるネットワークに適した固定設定はありません。
概要と場所:DNSはドメイン名をIPアドレスに変換します。SettingsのDNS関連設定とConfig内のDNS設定はあわせて確認してください。一方だけを見て最終的な名前解決の経路を判断することはできません。ドメインルール、IPルール、異なる名前解決結果が互いに影響する場合もあります。
設定方法:接続に問題がない場合は、現在の名前解決方法を基準として維持します。名前解決に失敗したり、想定外のアドレスが返されたりする場合は、対象ドメイン、現在のネットワーク、エラーの内容を記録し、DNSアドレスに到達できるか確認してください。DNS over HTTPSを使う場合は、有効なエンドポイントを完全な形で入力します。エンドポイントへの接続もネットワークや設定に依存するため、入力するだけで必ず改善するわけではありません。
注意点:ドメイン名を解決できても、宛先のサービスが利用できるとは限りません。DNSを切り替えても、既存の接続やキャッシュの影響ですぐに変化が表れないことがあります。新しいリクエストで確認してください。名前解決方式の違いはDNSの設定方法をご覧ください。
概要と場所:Test MethodはSettingsのテスト関連設定にあり、Connectivity Testで使用する方法を選択します。テスト方法によって確認できる接続レベルは異なるため、一覧に表示された結果を実際のウェブページの表示速度と同じものとして扱わないでください。
設定方法:画面で選択できるテスト方法を選び、同じ方法、同じ宛先、同じネットワーク環境で結果を比較します。テスト先には、アクセス可能で応答が比較的安定しているアドレスを使ってください。まず正常に動作すると分かっている項目をテストし、ほかの項目と比較します。テスト先自体の障害による誤判定を避けられます。
注意点:特定の方法で応答がなくても、通常のリクエストが接続できないとは限りません。応答があっても、すべてのプロトコルや宛先が正常とは限りません。実際のアクセスとリクエスト記録で最終確認し、一度のテスト結果だけでサーバーを頻繁に切り替えないでください。
概要と場所:Today Widgetは、システムが対応するウィジェットの追加と状態表示に使います。関連項目はSettingsで確認できます。追加場所、表示方法、更新タイミングはシステムのバージョンによって異なるため、端末で利用できるウィジェット機能に従ってください。
設定方法と注意点:まずアプリ内で接続を確認し、その後、システムのウィジェット編集画面から該当するウィジェットを追加します。接続を操作する際に、ロック解除やアプリへの復帰が必要か確認してください。表示が更新されるまで時間がかかることがあります。アプリの状態と異なる場合は、Homeとシステムの接続状態を確認し、古い表示を現在の状態と混同しないでください。
概要と場所:iCloud同期に対応するAppleデバイスでは、Settingsから該当する項目を確認できます。同期は端末のバックアップと同じではなく、実行状態、ログ、統計などすべての情報が端末間で複製されるわけではありません。
設定方法:各端末が想定したiCloudアカウントを使用していること、システムでアプリに関連サービスの利用が許可されていることを確認し、クライアントに表示される同期範囲を確認します。複数端末で初めて同期する前に、重要な設定を個別に復元できる形で保存してください。一台で小規模な変更を行い、もう一台に反映されたことを確認してから次の編集に進みます。
注意点:複数の端末で同じ内容を同時に編集しないでください。同期が完了する前に機能のオン・オフを繰り返すのも避けてください。エクスポートファイルにサーバーの認証情報が含まれる場合があるため、機密ファイルとして扱います。同じ名前の設定があっても、ほかのプラットフォームで同様のiCloud動作が保証されるわけではありません。その他の項目はSettings設定リファレンスをご覧ください。
07 / DIAGNOSTICS
概要と場所:Diagnosticsは診断機能への入口で、Logでは利用可能な実行情報やリクエスト情報を確認できます。Settingsから現在のプラットフォームで利用できるツールを探してください。診断の目的は失敗した階層を特定することです。エラーが見つかっても、すべての設定を一度に変更しないでください。
確認方法:ネットワークの種類、Global Routingのモード、選択中のサーバー、対象ドメインを記録します。ログレベルを選べる場合は、問題を再現する間だけ必要な詳細度に設定してください。その後、対象への新しいリクエストを一度実行し、「接続が処理されたか」「どのルールに一致したか」「どのポリシーが使われたか」「名前解決と接続が完了したか」の順に記録を確認します。
すべての宛先で失敗する場合は、まず現在のネットワークとサーバーへの接続を確認します。一つの宛先だけで失敗する場合は、照合ルール、宛先アドレス、DNSを重点的に確認してください。Proxyに切り替えて回復する場合は、Config内のポリシー指定先を確認します。接続をオフにしても失敗する場合は、ローカルネットワークまたは宛先サービスを先に調べてください。変更の影響を判断できるよう、毎回同じ宛先で再試行します。
注意点:ログにリクエストが見当たらなくても、ルールの記載漏れとは限りません。接続が処理されていない、キャッシュにより新しいリクエストが発生していない、現在の記録範囲にそのイベントが含まれていないなどの可能性があります。診断情報を共有する前に、購読URL、パスワード、認証情報、個人のアクセス内容を隠してください。確認後は通常のログ設定に戻し、「元の設定」「変更した項目」「再現結果」を記録しておくと、次回の比較に役立ちます。