公式マニュアル用語早見表

Shadowrocket
画面表示・ルール用語

設定を変更する前に、画面の項目、接続プロトコル、照合条件、実行ポリシーを区別しましょう。アプリ内の英語表記はそのまま掲載しています。各用語は見出し横のアンカーから個別に参照できます。

01 / 画面表示とスイッチ

画面・モード・接続

同じ名称が表示されていても、画面名、モードの選択肢、操作項目のどれを指すか確認してください。接続スイッチ、全体モード、ルールファイルはそれぞれ別の役割があり、相互に置き換えることはできません。

Home
接続状態、Global Routing、SERVER一覧を確認できるメイン画面です。Not Connectedは現在の接続状態を表し、スイッチで接続を開始または終了します。状態が変わっても、実際の接続先へのリクエストで利用できるか確認してください。スイッチの表示だけで、すべての通信が正常だとは判断できません。
Global Routing
通信全体の処理方法を選ぶ項目です。設定、プロキシ、直接接続はそれぞれConfig、Proxy、Directに対応します。現在のルールファイルによる振り分けを確認するときは、まずConfigが選択されているか確認してください。問題を調べる際は変更前のモードを記録しましょう。モードの変更をルールの効果と取り違えるのを防げます。
Config
画面名の場合は設定ファイルの管理画面を指し、Global Routingの選択肢の場合は現在の設定に従ってリクエストを処理することを表します。ファイルをConfigに読み込んでも、そのファイルが選択されたことやConfigモードに切り替わったことにはなりません。ルールの適用状況を調べるときは、両方を確認してください。
Proxy / Direct
Global Routingで選択する全体モードです。Proxyはプロキシ経由、Directは直接接続で処理します。画面上の頭文字が大文字の名称を、ルールキーワードと混同しないでください。RuleではPROXY、DIRECTと記述します。問題の切り分けにモードを変更した場合は、確認後に必要なモードへ戻してください。
On Demand
設定した条件に応じてVPN接続を開始するオンデマンド機能です。具体的な条件や選択肢はアプリ内の表示を確認してください。「いつ接続するか」を決める機能であり、「リクエストをどう処理するか」を決めるRuleとは役割が異なります。接続動作に問題がある場合は、ドメインルールだけでなく、システムのVPN状態とOn Demandの条件も確認してください。
Connectivity Test
選択中のサーバーが現在のテスト条件で応答するか確認する項目です。表示される時間は該当のテスト結果であり、継続的な通信速度やすべてのアプリの利用状況を示すものではありません。結果に問題がある場合は、テスト方法、接続先、ネットワーク条件を切り分けて確認してください。正常な結果でも、実際のリクエストとルールの照合状況を確認する必要があります。
Settings
アプリ設定をまとめて管理する画面です。設定項目は現在のアプリ内表示を確認してください。アプリ設定と.conf内のパラメータは設定元が異なるため、問題を調べるときはどちらを変更したか記録します。元の値を残し、関連する項目を一つずつ変更すると原因を特定しやすくなります。

02 / プロトコル

プロトコルの種類と設定項目

プロトコルはクライアントとサーバーの通信方式を定めます。名称だけで設定項目を判断しないでください。ここでは技術的な意味を解説します。追加時は手元のサーバー情報とAdd Serverに表示される項目を確認してください。

Shadowsocks
プロキシプロトコルの一つです。一般的な接続情報にはサーバーアドレス、ポート、暗号化方式、パスワードが含まれます。暗号化方式はサーバーと一致させてください。アドレスとパスワードが同じだからといって、任意の方式を選べるわけではありません。認証や接続に失敗した場合は、手元の情報を一つずつ確認し、コピー時に空白が混入していないかも見直してください。
VMess
UUIDなどのID情報を使用するプロキシプロトコルです。UUIDは必ず確認する重要な情報の一つです。通信方式、TLS、Host、パスなどの設定も接続に関わる場合があるため、アドレスとポートだけでなく各項目を確認してください。サーバーの実際の設定に合わせて入力し、解説用の設定値を自分の接続に使わないでください。
VLESS
プロキシプロトコルの一つです。ID、通信方式、通信のセキュリティ設定をそれぞれ確認してください。VLESSとVMessは名前が似ていますが、異なるプロトコルです。種類だけを置き換えて、すべての項目をそのまま使うことはできません。利用できる組み合わせはクライアントの選択肢とサーバー設定によって異なるため、読み込み後に必要な項目がそろっているか確認してください。
Trojan
通常TLSと組み合わせて使うプロキシプロトコルです。接続情報にはアドレス、ポート、パスワード、TLS関連の情報が含まれます。サーバーアドレスと証明書に対応する名前は役割が異なる場合があるため、それぞれ手元の情報と照合してください。証明書エラーが出た場合は、名前、システム時刻、サーバー証明書を確認します。検証を無効にすることを通常の解決策にしないでください。
HTTP / SOCKS5
種類の異なる2つのプロキシプロトコルです。一般的な接続情報にはアドレス、ポートに加え、必要に応じてユーザー名とパスワードが含まれます。サーバーが提供する種類を選択し、両者を自由に置き換えられる名称として扱わないでください。UDPに対応するかどうかは、プロトコルの機能、サーバーの対応状況、実際の設定を確認してください。
WireGuard
鍵認証を使うトンネルプロトコルです。秘密鍵、公鍵、接続先、トンネルアドレス、ルート範囲の違いを理解して設定してください。鍵は一般的な表示名ではなく、特に秘密鍵は機密情報として管理する必要があります。設定を読み込んだ後は、接続状態だけでなく、アドレスとルート範囲が手元の設定内容に合っているか確認してください。
Hysteria2
QUICをベースにUDPで通信するプロキシプロトコルです。実際の動作はネットワーク経路、サーバー、設定によって異なります。TCPでのテストが成功しても、このプロトコルに必要なUDP経路が使えるとは限りません。問題を調べるときは、認証情報、TLS情報、UDPの疎通条件を確認し、プロトコル名だけで速度を判断しないでください。

03 / ルールキーワード

照合条件と対象範囲

キーワードは照合する情報の種類を指定し、その後の値で具体的な対象範囲を指定します。ドメインルールにはWebページの完全なURLを入力しません。アドレス範囲のルールでは、アドレスの種類とプレフィックス長を確認してください。

DOMAIN
完全なドメイン名で照合します。たとえば、DOMAIN,example.com,PROXYはexample.com自体に一致します。www.example.comなどのサブドメインには自動的に適用されません。特定のドメインだけを変更したい場合は、まず完全一致を使い、実際のリクエストに応じてほかのドメインを追加してください。
DOMAIN-SUFFIX
ドメインのサフィックスで照合します。example.comを指定すると、そのドメインとサブドメインが対象になりますが、example.comという文字列を含むすべてのドメインが対象になるわけではありません。値にhttps://、Webページのパス、ポートは付けません。特定のサブドメインだけを対象にする場合は、範囲が広がらないようDOMAINの使用を検討してください。
DOMAIN-KEYWORD
ドメイン名に指定したキーワードが含まれるかを確認します。たとえばexampleは、関係のない複数のドメインに含まれる可能性があります。完全一致より対象範囲が広く、キーワードがドメインの階層と一致する必要もありません。意図しない一致を考慮し、キーワードルールを特定サービスの全ドメインを網羅する確実な一覧として扱わないでください。
GEOIP
IPアドレスの地理情報に基づいて照合します。例:GEOIP,CN,DIRECT。使用するデータベースと実際の接続先IPに依存し、ドメインの末尾やユーザーの所在地による判定ではありません。同じドメインから複数のアドレスが返る場合もあるため、Webページの内容だけでGEOIPの照合結果を推測できません。
IP-CIDR / IP-CIDR6
IPv4とIPv6のアドレス範囲をそれぞれ照合します。スラッシュの後のプレフィックス長で対象範囲が決まります。例:IP-CIDR,192.168.0.0/16,DIRECT,no-resolveはIPv4のネットワーク範囲を示します。no-resolveは、このルールのために追加のドメイン解決を行わない指定です。アプリ全体のDNSを無効にする意味ではありません。
USER-AGENT
読み取り可能なHTTP User-Agentフィールドに基づいて照合します。例:USER-AGENT,ExampleApp*,PROXY。端末にインストールされているアプリ名で通信を識別するものではなく、すべての接続で読み取り可能なフィールドが確認できるわけでもありません。すべてのHTTPSリクエストをこの種のルールで判定できると考えないでください。
FINAL
それ以前のルールに一致しなかったリクエストを処理します。通常はRuleの末尾に置きます。FINAL,PROXYとFINAL,DIRECTではフォールバックの動作が異なるため、設定の目的に応じて選んでください。前のルールの結果を最後に上書きするのではなく、それまでに一致しなかったリクエストだけを処理します。

04 / ポリシーと照合順序

ルール一致後の処理

ルールの種類は「一致するか」を、ポリシーは「どのように処理するか」を示します。以下の大文字のキーワードはルール内で使うもので、Global Routingの全体モードとは区別してください。

PROXY
一致したリクエストをプロキシ経由で処理するポリシーキーワードです。実際に使用するサーバーやポリシー選択は、現在の設定も確認してください。PROXYに一致したことが分かるのは処理方向だけで、サーバー認証や接続先への接続成功を保証するものではありません。問題を調べるときは、ルールの一致とプロキシ経路の利用可否を分けて確認してください。
DIRECT
一致したリクエストをプロキシサーバーに転送せず、現在のネットワークから接続先へ直接送ります。転送ポリシーを示すもので、アプリによる処理を一切経由しないという意味ではなく、接続先に到達できる保証もありません。直接接続で失敗する場合は、プロキシサーバーだけを変更するのではなく、現在のネットワーク、ドメイン解決、接続先サービスを確認してください。
REJECT
一致したリクエストを拒否するポリシーキーワードです。明確にブロックする必要がある範囲に使用します。拒否ルールの範囲が広すぎたり、前方に置かれていたりすると、後続の許可ルールが適用されない場合があります。特定の接続先にアクセスできない場合は、まず先行するREJECTに一致していないか確認し、その後プロキシ経路を調べてください。
照合順序
Ruleは通常、上から順に確認され、最初に一致したルールのポリシーが適用されます。「最も正確に見える」ルールが自動で選ばれるわけではありません。具体的な例外を広範囲のルールより前に置き、FINALは末尾に配置してください。ルールを追加した後は配置順も確認しましょう。構文が正しくても、順序が適切でなければ期待した結果にならないことがあります。

ルールの順序例

例外を先に、広い範囲を後に処理

この例では、api.example.comが先にDOMAINに一致してDIRECTで処理されます。その他のexample.comのサブドメインは、続くDOMAIN-SUFFIXで処理されます。2行を入れ替えると、範囲の広いサフィックスルールが先に一致し、個別の例外が適用されません。

ここでは照合の関係だけを示しています。PROXYで使用する接続情報は、利用者自身で用意し、内容を確認してください。

[Rule]
DOMAIN,api.example.com,DIRECT
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

05 / サブスクリプションと設定ファイル

接続情報と設定ファイルの構成

サーバー項目には接続パラメータを保存し、サブスクリプションでは項目をまとめて読み込み・更新します。設定ファイルにはルールなどの動作を記述します。まず読み込むデータの種類を確認してから適切な画面を選び、異なる形式のデータを別の方法で読み込まないようにしてください。

Subscribe
手元にあるサブスクリプションURLを使って、サーバー項目を読み込み・更新します。取得される内容は、そのURLで提供される情報によって異なります。URLにアクセス認証情報が含まれることがあるため、スクリーンショット、ログ、問い合わせ内容を共有する前にリンク全体を隠してください。サブスクリプションの更新に成功しても、すべての項目が接続できるとは限らず、現在のルール設定が変更されるわけでもありません。
SERVER / Add Server
SERVERはサーバー項目の一覧、Add Serverは接続情報の入力や読み込みに使います。個々の項目はノードと呼ばれることもあります。通常、各項目にはプロトコルの種類、アドレス、ポート、認証パラメータが含まれます。複数の項目を管理するサブスクリプションとは別のものです。一覧の表示名は識別に使えますが、実際のアドレスやプロトコル、接続可否を示すものではありません。
.conf
.confは設定ファイルによく使われる拡張子で、ファイル内ではセクションごとにパラメータやルールを整理します。General、Rule、Host、URL Rewriteは、それぞれ全般設定、通信ルール、ドメインマッピング、URL書き換えに関わります。すべてのファイルに全セクションが含まれるとは限りません。同じ拡張子でも内容が正しいとは限らないため、読み込み後に記述内容、現在選択中の設定、Global Routingを確認してください。
DNS / Host
DNSはドメイン名を解決し、Hostセクションではドメイン名とアドレスの対応を指定できます。どちらもアプリが最終的に取得する接続先アドレスに影響します。Hostを変更してもリクエストが自動的にPROXYになるわけではなく、サーバーのパスワードやIDの誤りも解決できません。ドメイン解決、ルールポリシー、接続先への到達性を個別に確認し、関係のない設定を繰り返し変更しないようにしてください。
URL Rewrite
設定条件に基づいてリクエストURLを処理するセクションです。具体的な動作は照合式と対応するアクションによって決まります。Ruleは通信ポリシーを選択し、Hostはドメインマッピングを指定するもので、役割が異なり相互に置き換えることはできません。使用前に照合範囲、リクエスト情報の確認可否、必要な条件を確認してください。出所や用途が不明な記述をそのまま適用しないでください。
App Storeでダウンロード