公式マニュアル・用語集
Shadowrocketの用語集
まず用語が表示されている場所を確認し、次に何を制御するのかを判断します。画面の項目、プロトコル名、ルールの構文、ネットワーク用語を分けて解説します。同じ言葉でも、表示される場所によって役割が異なる場合があります。
- よく使う用語30項目
- 画面上の用語は英語表記
- 各項目にアンカーリンクあり
01 · 画面と接続設定
ルーティング方式と接続状態
Global Routingは通信全体の処理方式を決め、接続スイッチは接続を確立するかどうかを切り替えます。ルーティングモード、個別ルールの動作、テスト結果を混同しないようにしてください。
- Global Routing
- Homeで全体のルーティング方式を選ぶ画面項目です。Config、Proxy、Directはそれぞれ設定、プロキシ、直接接続に対応します。ルールが適用されない場合は、まずここでConfigが選択されているか確認し、次に現在の設定を確認してください。モードを変更しても、サーバーのプロトコルパラメータは変わりません。
- Config
- Global RoutingのConfigは、現在の設定に基づいてリクエストを処理し、ルールによって各リクエストの経路を決めるモードです。一方、画面名としてのConfigは設定ファイルの管理画面を指します。用語を見かけたら、ルーティングモードの選択画面か、ファイル一覧画面かを確認してください。
- Proxy
- Global Routingのプロキシモードでは、主に現在選択されているプロキシを使って通信を処理します。個々のルールで振り分ける場合とは動作が異なり、ルール内の大文字のPROXYとも設定階層が別です。Proxyを選択しても、不足している認証情報や誤ったポートは修正されません。
- Direct
- Global Routingの直接接続モードでは、リクエストを直接接続経由で宛先に送ります。ローカルネットワークとプロキシ経由の動作を比較する際にも役立ちます。直接接続にはDNS、接続先サービス、現在のネットワーク環境が関係します。Directは「すべてのWebサイトにアクセスできる」ことを示す状態ではありません。
- On Demand
- 条件に応じて接続を開始する機能です。具体的な動作はアプリ内の条件とシステムの状態を確認してください。接続するタイミングを決める機能であり、リクエストの処理方法を決める振り分けルールとは異なります。自動接続の問題を調べる際は、関連する条件も確認してください。Homeのスイッチを見るだけでは不十分です。
- Connectivity Test
- 指定したテスト条件におけるサーバーの応答状況を確認します。結果はテスト方法、対象、ネットワークの状態によって異なります。テストに成功してもすべてのWebサイトにアクセスできるとは限らず、テストの所要時間もダウンロード速度ではありません。異常がある場合は、実際のリクエストとエラーログも確認してください。
02 · プロトコル
接続方式とパラメータ
プロトコルの種類は、すでにお持ちのサーバー情報に合わせる必要があります。Add Serverで種類だけを変更しても、同じ認証情報を別のプロトコルで使えるようにはなりません。プロトコルごとの詳しい違いはプロトコルの詳細 →をご覧ください。
- Shadowsocks
- 指定した暗号化方式と認証情報を使ってプロキシ接続を確立するプロトコルです。主なパラメータはサーバーアドレス、ポート、パスワード、暗号化方式です。これらはサーバー側の設定に合わせてください。名前から暗号化方式を推測しないようにしましょう。接続状況はサーバーの負荷やローカルネットワークにも左右されます。
- VMess
- 認証機能を備えたプロキシプロトコルで、通常はUUIDでユーザーを識別し、複数の転送方式を組み合わせられます。UUIDが正しいことは必要条件の一つにすぎません。転送経路、サーバー名、TLSなどの設定も一致させてください。項目名を何度も変更するのではなく、設定項目を一つずつ確認しましょう。
- VLESS
- 認証と転送の簡素化を設計方針とするプロキシプロトコルで、通常はUUIDを使用します。ただし、UUIDを使うからといってVMessと設定を共用できるわけではありません。接続の保護は、組み合わせるセキュリティ層と転送設定によって異なります。読み込み後は、種類、認証情報、転送パラメータが元の情報と一致しているか確認してください。
- Trojan
- 通常、TLSとパスワード認証を組み合わせて使用するプロキシプロトコルです。サーバーアドレスとパスワードに加え、サーバー名と証明書の検証設定も確認してください。アドレスを名前解決できても、TLSハンドシェイクが完了するとは限りません。証明書エラーが発生した場合は、サーバー名、デバイスの時刻、サーバー設定を確認してください。
- HTTP / SOCKS5
- 異なる2種類のプロキシプロトコルで、対応するリクエスト形式、認証方式、通信の処理能力は同じではありません。プロトコル名だけでは通信が暗号化されているかどうかも、特定の種類の通信に対応するかどうかも判断できません。追加時は、サーバー情報に従って種類とセキュリティ設定を選択してください。
- WireGuard
- 鍵による認証とUDP通信を使うトンネルプロトコルです。設定項目にはPrivateKey、PublicKey、インターフェースアドレス、Endpoint、AllowedIPsがあります。鍵、アドレス、ルーティング範囲は役割が異なり、相互に置き換えられません。PrivateKeyは機密情報のため、トラブル対応用の情報を共有する際は削除してください。
- Hysteria2
- QUICをベースとするプロキシプロトコルで、UDPを使えるネットワーク経路が必要です。設定には認証情報やサーバー名などのパラメータも関係します。プロトコル名に含まれる数字は名称の一部であり、当サイトが示すアプリのバージョン番号ではありません。速度やバッテリー消費は、ネットワークのパケットロス、通信負荷、デバイスの状態によって異なります。種類だけで判断しないでください。
03 · ルールキーワード
マッチ条件と処理ポリシー
まず「何に一致するか」を理解し、次に「一致した後どう処理するか」を確認します。以下のドメイン名やアドレスは構文の説明用であり、利用可能なサーバー情報ではありません。ルールの順序も最終結果に影響します。
- DOMAIN
- ドメイン全体を完全一致で判定します。たとえば
DOMAIN,example.com,DIRECTは、example.comそのものを対象にします。配下のすべてのサブドメインが自動的に対象になるわけではなく、Webページの完全なURLによる判定でもありません。リクエストに別のドメイン名が使われている場合は、実際のリクエスト記録を確認してください。
- DOMAIN-SUFFIX
- ドメインのサフィックスで判定します。たとえば
DOMAIN-SUFFIX,example.com,PROXYは、example.comとそのサブドメインを対象にします。DOMAINより広い範囲を対象としますが、任意の文字列を含むかどうかの判定ではありません。追加する前に、サブドメイン全体に同じポリシーを適用する必要があるか確認してください。
- GEOIP
- IPの地理情報データベースに基づいて判定します。結果はデータベースの内容や、ドメイン名の名前解決で得られるアドレスによって異なります。IPの地理情報は、ユーザーの所在地、実際のサービス提供場所と同じとは限りません。一つのドメイン名が複数のアドレスに解決されることもあるため、サイト名だけで判定結果を推測しないでください。
- IP-CIDR
- IPv4アドレスの範囲を指定します。たとえば
IP-CIDR,192.168.0.0/16,DIRECTは、プライベートアドレスの範囲を表します。スラッシュ以降の数字はネットワークプレフィックス長であり、ポートや接続数ではありません。広すぎる範囲を指定すると、本来は別々に処理すべきアドレスまで一致することがあります。
- IP-CIDR6
- IPv6アドレスの範囲を判定します。対象とするアドレスファミリーがIP-CIDRとは異なります。接続先がIPv4とIPv6の両方のアドレスを持つ場合、IPv4ルールだけではすべてのリクエスト経路を確認したことにはなりません。結果が一致しない場合は、実際に使われているアドレスファミリーを確認してください。
- FINAL
- ほかのルールに一致しなかったリクエストを処理し、通常はルールの末尾にフォールバックとして設定します。
FINAL,DIRECTは残りのリクエストを直接接続経由で処理する指定で、前のルールが無効になるという意味ではありません。意図しない振り分けが起きた場合は、実際に一致したルールを探し、FINALに到達したか確認してください。
- PROXY / DIRECT / REJECT
- ルールに一致した後の処理ポリシーです。PROXYはプロキシ経由、DIRECTは直接接続、REJECTはリクエスト拒否を表します。プロトコルの種類やマッチ条件ではありません。大文字のポリシーとGlobal RoutingのProxy、Directは、表示位置に応じて区別してください。
04 · サブスクリプションと設定
項目、ファイル、購入履歴
サブスクリプションの更新、設定の切り替え、アプリのアップデートはそれぞれ別の操作です。以下の説明は、ご自身のサブスクリプションやサーバー情報をすでにお持ちであることを前提としています。アプリを購入しても、これらの情報が自動的に作成されるわけではありません。
- Subscribe
- サブスクリプションの読み込みや更新に関する画面用語です。サブスクリプションは通常、リンクを使ってサーバー項目を取得します。更新によって項目の内容や数が変わる場合がありますが、アプリのアップデートとは異なり、ルール設定全体が必ず置き換わるわけでもありません。サブスクリプションリンクには認証情報が含まれる場合があるため、トラブル対応時にリンク全体を公開しないでください。
- サーバー項目
- サーバーアドレス、ポート、認証情報、プロトコルパラメータを保存した接続情報で、「ノード」と呼ばれることもあります。SERVERブロックに表示される名前はラベルにすぎず、サーバーの所在地、速度、接続可否を示すものではありません。Add Serverから手動で入力する場合は、お持ちの情報を項目ごとに設定してください。
- 設定ファイル
- ルールやDNSなどの設定をまとめたテキスト形式のファイルです。個々のサーバー項目とは役割が異なります。ファイルを読み込んだ後は、どのファイルが有効になっているか確認し、Global Routingと合わせて適用範囲を判断してください。ファイルを置き換える前に、利用できる既存の設定を保存しておくと比較や復元に役立ちます。
- ルール
- マッチ条件と処理ポリシーで構成される設定項目です。たとえば、ドメインに一致した後でDIRECTを選択する設定が該当します。ルールは通常、上から順に判定されます。条件の範囲が広いルールが先に一致すると、後続の詳細なルールが適用されない場合があります。問題を調べる際は、設定ファイルに対象ドメインがあるかだけでなく、実際に一致したルールを確認してください。
- 購入済み
- App Storeで過去の購入履歴を確認する画面への入口です。デバイスを変更した場合や再インストールする場合は、購入時に使用したApple IDでサインインしているか確認してください。Shadowrocketは買い切りです。価格やユニバーサル購入への対応は、App Storeのページに記載された内容をご確認ください。アプリの買い切り ≠ 通信プランです。アプリを復元してもサーバー情報が復元されるわけではありません。
05 · DNSとネットワーク
名前解決、ハンドシェイク、応答時間
Webサイトへのアクセスでは、名前解決、接続の確立、セキュリティハンドシェイク、データ転送の順に進むことがあります。途中の処理が成功しても、後続の処理が成功するとは限りません。エラーが発生した段階を確認して問題を切り分けてください。
- DNS
- ドメイン名をIPアドレスなどに変換するシステムで、名前解決の結果は後続の接続に使われます。名前解決に成功したことが示すのは、応答を取得できたことだけです。アドレスに到達できることや、接続先サービスが正常に動作することを保証しません。DNSの問い合わせ経路と実際のリクエスト経路も同じとは限らないため、別々に確認してください。
- DNS over HTTPS
- HTTPSを使ってDNSクエリを送信する方式で、DoHとも呼ばれます。クライアントとDNSサービス間の問い合わせ通信を保護します。DNSサービス自体に接続できる必要があり、そのドメイン名の初回の名前解決が必要になる場合もあります。DoHを有効にしても、すべての通信がプロキシ経由になるわけではありません。
- TLS
- 通信を保護し、接続先の相手を認証するセキュリティプロトコルです。プロキシプロトコルとは別の概念です。証明書の検証に失敗する原因として、サーバー名、証明書の有効期限、信頼チェーン、デバイスの時刻などが考えられます。すぐにパスワードが原因と決めつけず、関連情報を確認してください。
- SNI
- TLSハンドシェイクで接続先のサーバー名を伝える拡張情報です。同じアドレス上で適切なサイトと証明書を選択するために使われます。実際に接続するIPアドレスと一致しない場合もありますが、サーバーの構成に合っている必要があります。名前が一致しないと、ポートに接続できてもハンドシェイクが完了しないことがあります。
- レイテンシ
- 指定したテスト方法で測定した応答時間です。テストの種類、対象、ローカルネットワークの状態と合わせて判断してください。レイテンシが低くてもスループットが高いとは限らず、大容量ファイルを安定して転送できる保証にもなりません。比較時はテスト条件をできるだけそろえ、実際のアクセス状況やエラーログも確認してください。