Shadowrocket 公式マニュアル · 用語集

Shadowrocket
用語とルールキーワード

まず表示されている画面から用語の意味を確認し、接続、サーバー一覧、リクエストの振り分けのどれに影響するかを判断します。本ページでは英語の画面表示とプロトコル名をそのまま記載し、用語を5つのカテゴリに分けて解説します。カード見出しのリンクから該当箇所に移動できるため、実際の画面と照らし合わせて確認できます。

画面表示とスイッチ

「どこで操作するか」と「通信をどのように処理するか」を分けて考えてください。同じ用語でも、表示される場所によって異なる階層の設定を指す場合があります。

画面表示とスイッチ

Home

Homeは、サーバー一覧の確認、サーバーの選択、接続の切り替えを行うメイン画面です。インポートした項目が表示されているかもここで確認できます。項目を選択しただけでは候補のサーバーが指定されただけで、接続は確立されていません。接続スイッチ、システムの許可、実際の通信結果も確認してください。

画面表示とスイッチ

Global Routing

Global Routingでは、通信全体の処理方法を選択します。画面上のConfig、Proxy、Directはそれぞれ設定に従う、プロキシ経由、直接接続を表します。リクエストごとにルールで振り分ける場合は、通常Configを選択します。問題の切り分けで一時的にモードを変更した場合は、テスト結果をルールの適用結果と混同しないよう、元の設定に戻してください。

画面表示とスイッチ

Config

Configは、設定ファイルを管理する画面と、Global Routingで設定に従って通信を処理するモードの2つの意味で使われます。前者ではファイルのインポート、編集、有効化を確認し、後者では実行時のルーティング方法を確認します。ファイルをインポートしただけで有効な項目を確認していない場合、ルールが適用されているとは限りません。

画面表示とスイッチ

Proxy / Direct

Global RoutingのProxyとDirectは、通信全体をプロキシ経由または直接接続で処理するモードです。広範囲のリクエストのルーティング方法を切り替えます。ルール行にある大文字のPROXY、DIRECTとは異なります。前者はモードの選択、後者は個別ルールの処理結果です。問題の切り分けでは、どちらの階層を変更したか確認してください。

画面表示とスイッチ

On Demand

On Demandは、あらかじめ設定したネットワーク条件に応じて接続を開始します。ネットワーク環境に合わせて自動接続したい場合に利用できます。「いつ接続するか」を決める機能であり、接続後のリクエスト処理を決めるRuleとは別です。変更後は該当するネットワーク条件でテストし、スイッチがオンかどうかだけで判断しないでください。

画面表示とスイッチ

Settings / Data

Settingsではアプリの設定を、Dataでは関連する利用データを確認できます。表示される項目は端末の画面で確認してください。設定値は期待する動作を示し、データは実際に確認された動きを記録します。通信量の累計が増えていても、特定のドメインが意図したポリシーで処理されたとは限りません。

プロキシプロトコル

プロトコルはクライアントとサーバー間の通信方式を決めるもので、振り分け先を決めるものではありません。プロトコルを選んだ後も、手元のサーバー情報に合わせて認証、トランスポート、セキュリティの設定が必要です。異なるプロトコルの項目をそのまま流用しないでください。

プロキシプロトコル

Shadowsocks

Shadowsocksは、指定された暗号化方式やパスワードなどを使ってプロキシ接続を確立します。サーバーアドレス、ポート、暗号化方式、パスワードをサーバー側の設定に合わせてください。アドレスが同じでも、暗号化方式やパスワードが異なると接続に失敗することがあります。追加のトランスポート設定を含む場合は、アドレスとポートだけでなく各項目をすべて引き継いでください。

プロキシプロトコル

VMess

VMessはユーザー識別情報などを使って認証します。一般的な設定にはトランスポート方式、パス、TLSも含まれます。ユーザー識別情報が正しくても、パスやトランスポート方式が一致しなければ接続に影響します。インポート後は名称から設定を推測せず、元の情報と各項目を照合してください。

プロキシプロトコル

VLESS

VLESSはユーザー識別情報で認証しますが、プロトコル層自体は通信を暗号化しません。実際のセキュリティは、組み合わせるトランスポートとセキュリティ設定によって異なります。プロトコル、トランスポート方式、セキュリティ設定をまとめて確認してください。VLESSとVMessは、名称を入れ替えるだけで相互に使える設定ではありません。

プロキシプロトコル

Trojan

Trojanは一般にTLSと組み合わせてパスワード認証を行います。設定内のサーバー名はハンドシェイクや証明書検証に使われる場合があります。接続先アドレス、ポート、パスワードに加え、サーバー名とトランスポート設定も確認してください。証明書エラーが発生した場合は、設定、証明書の有効期限、端末の時刻を確認し、検証を無効にする前に原因を調べてください。

プロキシプロトコル

Hysteria2

Hysteria2はQUICをベースとし、UDP通信を利用します。認証とTLSの設定をサーバー側に合わせてください。現在のネットワークでUDPが制限されている場合、ほかの方法でWebページを開けても、この接続は失敗することがあります。問題の切り分けではネットワークの通信条件とサーバー設定を分けて確認し、1回のタイムアウトだけでパスワードの誤りと判断しないでください。

プロキシプロトコル

WireGuard

WireGuardは公開鍵認証を使って暗号化トンネルを確立します。ローカル秘密鍵、ピアの公開鍵、接続先エンドポイント、アドレス範囲はそれぞれ役割が異なります。秘密鍵は厳重に管理し、ピアの公開鍵にローカルの公開鍵を入力しないでください。ハンドシェイクの記録とアプリでの通信成功は別の確認項目です。アドレス、ルート、DNSも確認してください。

ルールキーワード

ルールは通常、上から順に照合され、一致すると対応するポリシーが適用されます。以下のexample.comは構文の説明用です。例のルールをあらゆる状況にそのまま適用できる設定として使用しないでください。

PROXY · プロキシ経由 DIRECT · 直接接続 REJECT · リクエストを拒否
ルールキーワード

PROXY / DIRECT / REJECT

PROXYはプロキシ経由、DIRECTは直接接続、REJECTはリクエストの拒否を表します。いずれもルール内のポリシーであり、プロトコル名ではありません。ポリシーが適用されるのは該当ルールに一致したリクエストだけです。青、緑、オレンジの点は確認用の表示です。最終的にはポリシーの文字と実際の接続記録を確認してください。

ルールキーワード

DOMAIN / DOMAIN-SUFFIX

DOMAINは指定したドメインに一致し、DOMAIN-SUFFIXは指定したドメインとそのサブドメインに一致するため、通常は後者のほうが広い範囲に適用されます。たとえば DOMAIN-SUFFIX,example.com,PROXY は、そのドメインとサブドメインに使用できます。このルールはWebページのURLパスには一致しないため、/loginをドメインサフィックスとして入力しないでください。

ルールキーワード

DOMAIN-KEYWORD

DOMAIN-KEYWORDは、ドメインに指定したキーワードが含まれているかを確認します。たとえば DOMAIN-KEYWORD,example,PROXY のように指定します。同じキーワードが無関係な複数のドメインに含まれる場合があり、想定より広い範囲に一致することがあります。特定のドメインとそのサブドメインだけを対象にする場合は、範囲が明確なDOMAIN-SUFFIXを優先してください。

ルールキーワード

IP-CIDR / IP-CIDR6

IP-CIDRとIP-CIDR6は、それぞれIPv4とIPv6のアドレス範囲に一致します。スラッシュ後のプレフィックス長はネットワーク範囲を表します。たとえば IP-CIDR,192.168.0.0/16,DIRECT はIPv4アドレス範囲を示すもので、単一サーバーのポート番号ではありません。IPv4ルールしかない場合、IPv6のリクエストにも同じポリシーが適用されるとは限りません。

ルールキーワード

GEOIP

GEOIPはIPの地理情報データベースに登録された地域情報をもとに一致判定します。たとえば GEOIP,CN,DIRECT のように指定します。地域情報はサイトの言語、ドメインの末尾、事業者の所在地とは異なります。名前解決の結果やデータベースの内容によっても変わることがあります。特定のドメインを正確に処理したい場合は、その前により具体的なドメインルールを置くことを検討してください。

ルールキーワード

FINAL

FINALは、それ以前のルールに一致しなかった場合に適用するフォールバック項目です。一般的な記述は FINAL,PROXY で、通常は一覧の末尾に置きます。それ以前のルールに一致したリクエストを再処理するものではありません。フォールバックポリシーが意図どおりでもアクセス先が誤った経路を通る場合は、FINALを繰り返し変更する前に、先行するルールを確認してください。

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

サーバー項目には接続設定が保存され、設定ファイルにはルールと設定が記述されます。サブスクリプションは複数のサーバー項目をまとめて取得・更新します。何をインポートしたのかを区別すれば、更新後にどの画面で変更を確認すべきか判断できます。

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

Subscribe

SubscribeはサブスクリプションURLを使って複数のサーバー項目を取得・更新します。サブスクリプションは利用中のサービス提供元から入手してください。更新に成功しても、通常はサーバー一覧が更新されたことを示すだけで、ルーティング設定も更新されたとは限りません。更新後に項目数や名前が変わった場合は、所属グループと現在選択中の項目を確認してから接続をテストしてください。

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

SERVER / Add Server

SERVERはサーバー関連の項目を表し、Add Serverからサーバーを追加できます。必要な接続情報がそろっている場合に使用します。手動入力では、まずプロトコルを選び、アドレス、ポート、認証、トランスポートの設定を順に確認してください。表示名は項目を識別するためのもので、変更しても実際のサーバーアドレスは変わりません。

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

Scan QR Code

Scan QR Codeでは、QRコードを読み取ってインポート可能な情報を取得します。QRコードは情報を格納するものであり、必ず1台分のサーバー設定が含まれているとは限りません。読み取り後に内容の種類、プロトコル、設定値を確認してから保存してください。QRコードにはパスワードやサブスクリプションURLが含まれることがあります。画面を共有する際は、周囲の文字だけでなくQRコードも隠してください。

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

設定ファイル

設定ファイルには [General]、[Rule]などのセクションが含まれ、一般設定やルールを保存できます。ファイル名だけではルールの内容を判断できません。インポート後は現在有効な項目とGlobal Routingのモードを確認してください。編集前にコピーを保存しておくと、意図しない一致が発生した際に以前の設定へ戻せます。

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

iCloud同期

iCloud同期は、対応するシステムとアプリの設定範囲内で設定データを同期する方法です。同期対象とスイッチは実際の画面で確認してください。独立したバックアップや、ストアでの購入済みアプリの復元とは異なります。重要な設定を削除・変更する前に別途保存し、同期先に古いコピーが残ると決めつけないでください。

接続と診断

テスト結果は、接続先、実行時刻、テスト方法の範囲内で判断する必要があります。まず特定のリクエストを再現し、ネットワーク、名前解決、ハンドシェイク、ルールを個別に確認してください。1回の遅延テストだけで、全体の利用可否を判断しないでください。

接続と診断

Connectivity Test

Connectivity Testは、指定した接続先への通信が完了するかを確認します。結果はテスト先、方法、現在のネットワークによって異なります。成功しても、そのテスト条件で該当の手順を完了できたことを示すだけで、すべてのWebサイトやアプリに接続できるとは限りません。失敗した場合はテスト先とエラーメッセージを記録し、実際のアプリのリクエストと照らし合わせてください。

接続と診断

遅延

遅延は、特定のテスト通信が完了するまでにかかる時間です。通常はミリ秒で表示され、ダウンロード速度や継続的な通信の安定性とは異なります。サーバーを比較する場合は、できるだけ同じネットワーク、接続先、テスト方法を使用してください。タイムアウトは接続先に到達できない場合やプロトコルが制限されている場合にも発生するため、サーバーが恒久的に利用不能とは限りません。

接続と診断

DNS

DNSはドメイン名をIPアドレスに変換します。名前解決の結果とキャッシュは、後続の接続や一部のルール判定に影響します。dns-server = systemはシステムのDNS設定を使うことを表します。問題の切り分けではドメイン、返されたアドレス、最終的に適用されたポリシーをあわせて確認してください。DNS設定を変更しても、すべてのリクエストがプロキシ経由になるとは限りません。

接続と診断

TLS / SNI

TLSは通信を暗号化し、相手の認証を行います。SNIはハンドシェイク時に接続先のサーバー名を伝えるために使われ、その名前は接続先アドレスと異なる場合があります。証明書エラーやハンドシェイクエラーが発生した場合は、サーバー名、証明書の有効期限、端末の時刻、元の設定を順に確認してください。検証を無効にしても、設定項目の誤りは解決しません。

接続と診断

TCP / UDP

TCPとUDPは、よく使われる2種類のトランスポート層プロトコルです。アプリやプロキシプロトコルによって必要な通信方式は異なります。TCPのテストに成功してもUDPが使えるとは限らず、Webページが開けてもリアルタイム通信がすべて正常とは限りません。利用するアプリ、選択したプロトコル、現在のネットワーク条件に合わせて個別に確認してください。

接続と診断

接続ログ

接続ログでは、リクエスト先、一致したルール、処理ポリシー、エラーメッセージを確認できます。インポート、ルール、通信のどこに問題があるかを切り分けるのに役立ちます。まず再現した時刻を記録し、対象へのリクエストを1回実行してください。記録を共有する前に、サーバーの認証情報、完全なサブスクリプションURL、個人情報を削除し、必要なエラーメッセージだけを残してください。