Global Routing
通信全体の処理方法を選ぶ画面項目です。主な選択肢は設定、プロキシ、直接接続で、画面上の表記はConfig、Proxy、Directです。個別ルールのポリシーとは設定階層が異なり、切り替えると現在のConfigのルールが適用されるかどうかが変わる場合があります。意図したルーティングにならない場合は、まずここを確認し、その後ルールの内容を確認してください。
公式マニュアル · 用語集
まず画面の選択肢、マッチ条件、実行ポリシーを区別してから、各パラメータを確認してください。本ページでは英語表記をそのまま掲載し、一般的な用語を用途別に解説します。各項目には個別に移動できるアンカーがあります。
ShadowrocketはAppleプラットフォーム向けの有料クライアントで、入手先はApp Storeのみです。アプリの買い切り購入 ≠ 接続サービスのプラン。以下の接続に関する説明は、ユーザー自身がサブスクリプションまたはサーバー情報を用意していることを前提としています。
01 / INTERFACE
ここで紹介する名称は、操作画面の項目や全体の動作モードを示すもので、設定ファイルにそのまま貼り付ける構文ではありません。
通信全体の処理方法を選ぶ画面項目です。主な選択肢は設定、プロキシ、直接接続で、画面上の表記はConfig、Proxy、Directです。個別ルールのポリシーとは設定階層が異なり、切り替えると現在のConfigのルールが適用されるかどうかが変わる場合があります。意図したルーティングにならない場合は、まずここを確認し、その後ルールの内容を確認してください。
Global Routingでは、現在有効なConfigに従って通信を処理する設定です。ほかの場所では、設定ファイル関連の画面項目を指す場合もあります。Configを選んでも、すべてのリクエストがプロキシ経由になるわけではありません。実際の処理は、マッチしたルールとそのポリシーによって決まります。現在のConfig、ルールの順序、末尾のFINALをあわせて確認してください。
Global Routingで通信全体をプロキシ経由にする設定です。具体的な適用範囲はアプリの設定も確認してください。同じリクエストを異なる処理方法で比較する際に役立ちますが、サーバーパラメータの誤りを修正するものではありません。この選択肢と、ルール内の大文字表記PROXYを混同しないでください。
Global Routingで通信全体を直接接続にする設定です。マッチしたリクエストだけに適用されるDIRECTのルールポリシーとは異なり、ネットワーク関連の設定をすべて無効にするものでもありません。接続結果を比較するときは、宛先アドレスとローカルネットワークを同じに保ち、複数の条件を同時に変更しないようにしてください。
設定したネットワークやアクセス条件に応じて接続動作を切り替え、手動での切り替えを減らす機能です。Wi-Fi、Cellularなどは確認が必要な画面上の条件名であり、独立した設定ファイルの構文ではありません。設定後は該当するネットワークに切り替えて動作を確認し、想定した手動操作と競合しないか確認してください。
ユーザーがすでに持っているサーバー情報を入力する画面項目です。通常は種類を選び、アドレス、ポート、認証パラメータを入力します。プロトコルによって表示される項目が異なる場合があるため、アドレスだけでなく各項目をサーバーの説明と照合してください。項目を保存しただけでは接続は完了しません。選択して接続を確認してください。
指定したテスト条件で接続性を確認します。結果はテスト対象、現在のネットワーク、サーバーの状態によって変わります。テストが一度成功しても、すべてのアプリが正常にアクセスできるとは限らず、テスト時間も継続的なダウンロード速度を示すものではありません。トラブルの際は、実際のリクエスト、マッチしたルール、接続ログとあわせて確認してください。
02 / PROTOCOLS
プロトコルによって通信する両端の方式が決まります。選択の基準はプロトコル名ではなく、実際に使用するサーバーの設定です。
サーバーアドレス、ポート、パスワード、暗号化方式などを設定するプロキシプロトコルです。暗号化方式はサーバー側と一致させてください。クライアント側だけで変更しても接続できるようにはなりません。既存の情報にほかのパラメータが含まれている場合は、元の説明と照合し、入力漏れがないようにしてください。
ユーザー識別子などを使って認証するプロキシプロトコルで、接続には転送方式やTLSの設定も関係する場合があります。同じユーザー識別子でも、転送パラメータを共通して使えるとは限りません。パスやサーバー名などの項目もハンドシェイクに影響することがあります。読み込み後はプロトコルの種類だけでなく、元の情報と各項目を照合してください。
ユーザー識別子で認証するプロキシプロトコルです。名称だけから転送層の保護方式を判断しないでください。実際の接続では、転送設定、TLS、サーバー側の要件をすべて確認し、ユーザーがすでに持っている設定情報に合わせてください。ほかのプロトコルのパラメータをVLESSの項目にそのまま適用しないでください。
通常TLSと組み合わせて使うプロキシプロトコルです。パスワードは接続パラメータの一部にすぎません。ポート、サーバー名、証明書の検証設定も接続に影響する場合があります。証明書エラーが発生した場合は、まずドメイン名、証明書、デバイスの時刻を確認してください。検証のスキップを既定の対処方法にしないでください。
QUICをベースとするプロキシプロトコルで、接続には適切なUDP通信環境が必要です。問題を調べる際は、アドレスと認証情報に加えて、TLSとローカルネットワークでUDP通信が可能か確認してください。同じ項目でもWi-Fiとモバイル通信で動作が異なる場合は、ネットワーク経路が関係している可能性があります。プロトコル名だけで原因を判断しないでください。
鍵ペアで認証するトンネルプロトコルです。ローカルの秘密鍵、ピアの公開鍵、Endpoint、アドレスなどを設定します。公開鍵と秘密鍵は用途が異なり、入れ替えて入力することはできません。秘密鍵は機密情報として管理してください。接続後はルーティングとDNSも確認してください。ハンドシェイクが成功しても、すべての宛先に接続できるとは限りません。
よく使われる2種類のプロキシプロトコルです。どちらもアドレス、ポート、ユーザー名やパスワードを使う場合がありますが、通信方式は異なります。サーバーアドレスが同じでも種類を入れ替えることはできません。UDP対応や認証方式も、実際の設定に合わせて確認してください。プロトコル名だけでは暗号化通信が保証されないため、別途保護が設定されているか確認してください。
03 / MATCH & POLICY
ルールの前半でマッチ条件を指定し、後半で実行ポリシーを指定します。通常は上から順に評価され、最初にマッチしたルールが適用されます。
DOMAIN,example.com,PROXYのように、完全一致するドメインに適用します。このルールはすべてのサブドメインに自動でマッチするわけではないため、www.example.comは別途検討が必要です。特定のホスト名だけを処理する場合は、対象範囲の狭いこの条件を優先してください。
DOMAIN-SUFFIX,example.com,PROXYのように、ドメインのサフィックスに基づいてマッチし、通常は指定したドメインとそのサブドメインが対象になります。ここでのサフィックスはドメイン階層に基づくもので、任意の文字列を含むかどうかの判定ではありません。特定のサブドメインを個別に処理する場合は、より具体的なルールを先に置いてください。
DOMAIN-KEYWORD,example,PROXYのように、ドメインに含まれるキーワードに基づいてマッチします。対象範囲が想定より広くなり、文字列を含む複数のドメインにマッチする場合があります。使用前に対象を洗い出し、より明確なDOMAINまたはDOMAIN-SUFFIXに置き換えられないか確認してください。
GEOIP,CN,DIRECTのように、宛先IPアドレスの地理データベース上の帰属先に基づいてマッチします。Webサイトの言語、アカウントの地域、ユーザーの現在地で判定するものではありません。結果は解決されたアドレスやデータベースの内容にも左右されます。特定のドメインを正確に処理する場合、地理情報のルールだけに頼らないでください。
IPv4とIPv6のアドレス範囲にそれぞれマッチし、スラッシュ後のプレフィックス長で範囲が決まります。たとえばIP-CIDR,192.168.0.0/16,DIRECTはIPv4プライベートアドレスの範囲を示します。ルールを追加する前に実際の宛先アドレスの種類を確認してください。IPv4のルールでIPv6の判定を代用することはできません。
リクエストから識別できるUser-Agent情報に基づいてマッチします。デバイス上のすべてのアプリを識別するものではありません。通信の種類、リクエスト情報の可視性、実際の処理方法に制約があるため、汎用的なアプリ識別機能として扱わないでください。使用時は、対象リクエストにマッチに使える情報が含まれているか確認してください。
前のルールにマッチしなかった場合に適用するフォールバックルールで、通常はルール一覧の末尾に置きます。たとえばFINAL,PROXYは、残りのリクエストをPROXYに渡すことを示し、前段ですでにマッチしたルールを上書きするものではありません。リクエストの処理先が想定と異なる場合は、まず前段のルールを確認してからFINALを変更してください。
ルールでプロキシ経由の処理を指定するポリシーキーワードです。実際の接続には、現在選択しているサーバーや関連するポリシー設定も関係します。PROXYにマッチしたことが示すのは処理の方向だけであり、サーバー認証、転送、宛先への接続が成功したことを意味しません。Global RoutingのProxy設定とは、表示場所で区別してください。
ルールで宛先に直接接続する処理を指定するポリシーキーワードです。たとえばDOMAIN-SUFFIX,apple.com,DIRECTのように設定します。直接接続も、ローカルネットワーク、DNS、宛先サービスが正常に動作している必要があり、リクエストの成功を保証するものではありません。マッチしたリクエストの処理方法を示すもので、Global Routing全体がDirectに切り替わるわけではありません。
ルールにマッチしたリクエストを拒否するポリシーキーワードです。条件が広すぎると、ページ表示に必要な画像、ログインAPI、その他のリソースまで拒否され、コンテンツの一部が表示されないことがあります。追加する際は具体的なドメイン条件から始め、問題が起きたらマッチ記録とルールの順序を優先して確認してください。
04 / CONFIGURATION
セクション名によってパラメータの用途が決まります。同じドメインでも、記載するセクションによって影響する処理がまったく異なる場合があります。
設定ファイルで共通パラメータをまとめて指定するセクションです。たとえばdns-server = systemのように記述します。複数種類のリクエストに影響する場合があるため、単一ドメインのルールとして扱わないでください。変更前に現在のConfigのコピーを保存し、複数のパラメータを同時に変更して元に戻せなくならないよう、ひとつずつ確認してください。
ドメイン名をIPアドレスに変換する仕組みで、その後の通信確立とは別の処理です。アドレスを解決できても、そのアドレスに接続できるとは限りません。プロキシ接続が確立しても、DNS設定が正しいとは限りません。問題を調べる際は、解決結果、DNSの問い合わせ経路、最終的な接続経路を個別に確認してください。
マッチ条件と実行ポリシーを記述するセクションです。一般的な記述例はDOMAIN-SUFFIX,example.com,PROXYです。ルールは通常上から順に処理されるため、具体的な例外ルールを広範囲の条件より先に置いてください。変更後は構文だけでなく、該当ルールを含むConfigが有効になっていることも確認してください。
ドメイン名と指定アドレスの対応を定義するセクションです。たとえばlocalhost = 127.0.0.1のように記述します。この対応付けはアドレス解決に作用するもので、そのドメインにPROXYまたはDIRECTを選択する設定ではありません。宛先サービスのアドレスが変わることもあるため、固定の対応付けには明確な用途を定め、不要になったら設定を見直してください。
マッチ式に基づいてリクエストURLを処理するセクションです。マッチパターンと置換先をセットで確認してください。[Rule]で接続ポリシーを選ぶドメインルールとは異なり、このセクションがあるだけで、あらゆる暗号化リクエストを書き換えられるわけではありません。記述時はエスケープ、マッチ範囲、対象リクエストを確認し、リダイレクトが重複しないようにしてください。
05 / SUBSCRIPTION & ACCOUNT
アプリの購入履歴、サーバーへのアクセス認証情報、サブスクリプションの一覧はそれぞれ別のものです。復元や更新も個別に行ってください。
ユーザーがすでに持っているサーバー情報をまとめて読み込んだり更新したりするための、サブスクリプション関連の種類または画面項目です。リンクは自身のサービス提供元から入手してください。サブスクリプションを更新すると一覧の内容が再取得され、項目のアドレス、名前、数が変わる場合があります。Shadowrocketアプリのアップデートとは異なります。サブスクリプションURLに認証情報が含まれることがあるため、公開や不用意な転送は避けてください。
接続に必要なアドレス、ポート、プロトコル、認証パラメータなどの情報です。個々の項目はノードと呼ばれることもあります。複数の項目を含むサブスクリプションとは別のもので、単一項目の入力が完了しても、サブスクリプションの更新設定が行われたことにはなりません。問題の調査に必要な情報を共有する際は、パスワード、秘密鍵、その他の認証情報を隠し、必要なエラー内容だけを伝えてください。
指定したテスト条件で応答を待つ時間で、テスト方法や対象によって意味が異なります。遅延は帯域幅とは異なり、数値が低くても継続的な通信が速く安定しているとは限りません。複数の項目を比較するときは、できるだけ同じネットワークとテスト方法を使い、実際の利用結果もあわせて判断してください。
App Storeの購入履歴を確認し、アプリを再入手するためのアカウントです。購入前に、現在ストアにサインインしているアカウントを確認してください。ユーザーが利用している接続サービスのアカウントとは別のもので、アプリを購入してもサーバー情報が自動で入力されることはありません。システム要件、対応範囲、ユニバーサル購入の適用状況はApp Storeの製品ページをご確認ください。
App Storeで元のアカウントの購入履歴を確認し、アプリを再入手するための画面項目です。具体的な表示名は現在のシステムにより異なります。機種変更や再インストールの際は、再購入する前に元の購入アカウントとストアの状態を確認してください。アプリの復元は、サブスクリプション、サーバー項目、Configの復元とは別の操作です。後者は自身のバックアップまたは元の情報から復元してください。