ガイド・用語集

Shadowrocket 用語集

画面、プロトコル、ルール、ネットワークの用語をカテゴリ別に確認できます。用語がどの階層を指すのかを見極め、サーバーの設定、設定ファイル、接続方式のどれを変更する必要があるか判断しましょう。英語表記は画面やルールの構文に合わせています。

  • 画面上の用語は英語表記
  • ルールキーワードは大文字・小文字を区別
  • 利用中のSubscribeまたはサーバー情報を前提とします
画面と接続方式

画面とスイッチ

画面上の各項目は操作を整理し、接続状況はアプリの動作を示します。画面を開いたりレコードを選択したりしただけでは、接続は確立されません。

画面とスイッチ

Home

Homeは、サーバー一覧、選択中のサーバー、接続状況を確認する画面です。サーバーが一覧に表示されていても、保存されていることを示すだけです。適切なレコードを選択し、接続を開始する必要があります。問題を切り分ける際は、「レコードがある」「選択されている」「接続が確立している」の3つの状態を区別してください。

画面とスイッチ

Global Routing

Global Routingでは全体のルーティング方式を選択します。Config、Proxy、Directはそれぞれ設定、プロキシ経由、直接接続に対応します。Configは現在の設定にあるルールに従ってリクエストを処理し、Proxyは通信をプロキシ経由で処理、Directは直接接続します。ここで選ぶモードは、個別ルール末尾のアクションとは別の階層です。

画面とスイッチ

On Demand

On Demandは、システムのオンデマンド接続機能を使い、設定した条件に応じてVPN接続を開始します。接続を試みるタイミングを制御するもので、サーバーの有効性、認証情報の正しさ、接続先サイトへの到達性を保証するものではありません。手動で切断した後に再接続する場合は、この設定とネットワークの状態も確認してください。

画面とスイッチ

Add Server

Add Serverでは、サーバー情報を手動で追加します。入力項目はプロトコルによって異なります。アドレス、ポート、認証情報、トランスポートの設定を、利用中のサーバー情報と照らし合わせて入力してください。名称から推測してはいけません。保存後は一覧に戻ってレコードを選択し、実際のリクエストで動作を確認します。

画面とスイッチ

Settings

Settingsはアプリの設定を確認・変更する画面です。サーバー情報を保存する編集画面とは用途が異なります。問題を切り分ける際は、まず変更前の値を記録し、一度に1項目ずつ変更すると、どの設定が影響したか確認しやすくなります。設定項目と場所は、デバイス上の実際の画面で確認してください。

画面とスイッチ

Connectivity Test

Connectivity Testは、現在の条件で指定したテスト先に到達できるか確認します。テスト方法や接続先のアドレス、ローカルネットワークによって結果は異なるため、1回のテストに成功してもすべての通信が正常とは限りません。異常がある場合は、テスト結果をDNS、リクエストログ、実際のウェブページへのアクセス状況と照らし合わせてください。

接続パラメーターを理解する

プロトコル

プロトコルはクライアントとサーバー間のデータ交換方法を定めます。同じプロトコル名でも設定が同じとは限りません。認証、トランスポート、TLSの各設定を個別に確認してください。

プロトコル

Shadowsocks

Shadowsocksはプロキシプロトコルの一種です。一般的に必要な情報は、サーバーアドレス、ポート、暗号化方式、パスワードです。暗号化方式も接続パラメーターの一部なので、パスワードが正しくても確認を省略できません。手動入力またはインポートの後、文字列が欠けていないか、利用中のサーバー情報と一致しているか確認してください。

プロトコル

VMess

VMessは認証機能を備えたプロキシプロトコルです。認証情報とトランスポート方式は別々の設定項目です。識別情報を入力した後、ポート、トランスポートのパス、TLSなどの設定も確認してください。認証の失敗とトランスポートの確立失敗は似た症状になることがあります。1つの項目を繰り返し変更するのではなく、各階層を順に確認しましょう。

プロトコル

VLESS

VLESSはプロキシプロトコルの一種で、通常は識別情報とサーバー側に合ったトランスポート設定が必要です。識別情報は接続先の識別に使うもので、通信の暗号化や証明書の検証が完了したことを示すものではありません。利用中の設定一式を使い、認証、トランスポート、安全設定を個別に確認してください。

プロトコル

Trojan

Trojanは一般にTLSと組み合わせて使い、パスワードなどで認証します。サーバーアドレス、ポート、TLS名、証明書の検証はいずれも接続に影響するため、パスワードが正しくてもほかの問題は排除できません。証明書エラーが発生した場合は、検証を無効にせず、サーバー名と証明書の設定を確認してください。

プロトコル

Hysteria2

Hysteria2はQUICをベースとするプロキシプロトコルで、UDP通信を使用します。現在のネットワークでUDPが制限されている場合、ほかの種類の接続が正常でもHysteria2が接続できるとは限りません。認証、TLSなどのパラメーターは利用中の設定に従って入力してください。プロトコル名だけから速度や安定性が決まるわけではありません。

プロトコル

WireGuard

WireGuardは鍵ペアを使って暗号化トンネルを構築します。ローカルの秘密鍵と接続先の公開鍵は役割が異なり、入れ替えて使うことはできません。Addressはトンネルインターフェースのアドレスであり、サーバーのパブリック接続アドレスではありません。DNSとMTUも、それぞれ名前解決とデータ転送に影響します。秘密鍵は機密情報として管理してください。詳しくはWireGuardのパラメーター解説をご覧ください。

プロトコル

HTTP / SOCKS5

HTTPとSOCKS5は異なるプロキシプロトコルです。アドレスとポートが同じでも、入れ替えて使わず、利用中のサーバー情報に合ったものを選んでください。ユーザー名やパスワードが必要か、通信が保護されるかは、サーバー側の設定と接続方法によって異なります。プロトコル名だけでは暗号化の有無や、すべてのリクエスト形式への対応は判断できません。

一致条件 → 実行するアクション

ルールキーワード

まずルールの一致条件を確認し、次に一致したときのアクションを確認します。以下の構文はルールの構造を理解するための例であり、記載のドメインをそのまま設定に使うことを推奨するものではありません。

ルールキーワード

Rule

Ruleは、一致条件と実行アクションで構成され、リクエストの処理経路を決めます。Configモードでは通常、ルールを上から順に確認します。先に一致したルールが最終結果に影響するため、具体的な条件は広い条件より前に置くのが一般的です。変更後は、ルールのテキストが保存されたかだけでなく、実際のリクエストがどのルールに一致したか確認してください。

ルールキーワード

DOMAIN

DOMAINはドメイン名全体に一致します。例:DOMAIN,example.com,DIRECT。指定したドメインが対象であり、名前が関連しているだけで、すべてのサブドメインに一致するわけではありません。ルートドメインとサブドメインの両方を対象にする場合は、DOMAIN-SUFFIXのほうが適切か確認してください。

ルールキーワード

DOMAIN-SUFFIX

DOMAIN-SUFFIXはドメインの末尾に一致し、通常は指定したドメイン自体とそのサブドメインが対象になります。たとえば、example.comを指定したサフィックスルールは、ルートドメインとその下位ドメインに適用できますが、この文字列を含む任意のドメインに一致するわけではありません。1つのページから複数のドメインにリクエストが送られる場合があり、ルートドメインが一致しても、すべてのリソースが同じ経路を使うとは限りません。

ルールキーワード

DOMAIN-KEYWORD

DOMAIN-KEYWORDはドメイン名に指定したキーワードが含まれるかを確認します。完全一致やサフィックスによるルールより対象範囲が広くなる傾向があります。短く一般的なキーワードは、意図していないドメインにも一致する可能性があります。この範囲が必要な場合にのみ使用し、リクエストログで誤一致がないか確認してください。

ルールキーワード

GEOIP

GEOIPはIPアドレスの地理情報データベースに登録された地域に基づいて一致を判定します。例:GEOIP,CN,DIRECT。データベース上の地域はサーバーの正確な所在地や通信速度を示すものではありません。ドメインへのリクエストでは、名前解決の結果やアドレスの選択によって、実際に判定対象となるIPアドレスが変わる場合も考慮してください。

ルールキーワード

IP-CIDR / IP-CIDR6

IP-CIDRとIP-CIDR6は、それぞれIPv4とIPv6のアドレス範囲に一致するルールです。アドレスの後ろにあるスラッシュとプレフィックス長で対象範囲が決まり、ポート番号ではありません。IPv4ルールを追加しても、同じサービスのIPv6アドレスまで対象になるとは限りません。確認時は、実際の接続で使用されているアドレスの種類にも注意してください。

ルールキーワード

FINAL

FINALは、前のルールに一致しなかったリクエストを処理します。通常は最後に設定して、ほかのルールに一致しない場合の処理に使います。FINAL,PROXYとFINAL,DIRECTでは、残りの通信の処理方法が異なるため、ドメインルールだけでなくFINALの設定も確認してください。FINALを前に移動すると、それ以降の詳細なルールが評価されない場合があります。

ルールキーワード

PROXY / DIRECT / REJECT

PROXYはプロキシ経由、DIRECTは接続先への直接接続、REJECTはリクエストの拒否を示します。これらはルールのアクションです。Global Routingの全体モードであるProxyやDirectとは分けて理解してください。PROXYに一致しても、有効なサーバーと正しい設定が必要です。ルールに一致することと、その後の接続に成功することは別です。

記録・更新・保存

Subscribeと設定

サーバーのSubscribeは接続情報のレコードを管理し、設定ファイルはルールなどの設定をまとめます。インポート、同期、バックアップはそれぞれ用途が異なり、相互に代用できるものではありません。

Subscribeと設定

Subscribe

Subscribeでは、利用中のSubscribeリンクを使ってサーバー一覧を管理し、更新時にリンクから返される内容を読み込みます。Subscribeリンクに認証情報が含まれる場合があるため、パスワードと同様に保管してください。更新後にレコードが変わった場合は、Subscribeから返された内容と照らし合わせます。サーバー一覧を更新しても、ルール設定まで更新されるとは限りません。

Subscribeと設定

SERVER

SERVERはサーバーへの接続情報をまとめたレコードです。表示名は識別のために使われますが、実際の接続はアドレス、ポート、プロトコル、認証情報、トランスポートの設定によって決まります。名前が同じでも設定が同じとは限りません。また、名前を変更してもサーバー自体の通信機能は変わりません。

Subscribeと設定

Config

Configは、設定ファイルを管理する画面を指す場合と、Global Routingの設定モードを指す場合があります。文脈に応じて区別してください。設定ファイルはルールやDNSなどの設定をまとめ、サーバーのSubscribeは主にサーバーレコードを管理します。ファイルをインポートしただけでは使用中とは限らないため、現在の設定と全体のルーティング方式も確認してください。

Subscribeと設定

Scan QR Code

Scan QR Codeはカメラを使い、QRコードから読み取り可能な接続情報を取り込みます。初回の使用時にはカメラへのアクセス許可が必要な場合があります。QRコードは情報を格納するもので、設定の完全性や有効性を保証しません。インポート後はプロトコル、アドレス、認証情報を確認してください。接続情報が含まれるQRコードは公開しないよう注意しましょう。

Subscribeと設定

iCloud同期

iCloud同期では、アプリが対応するデータをデバイス間で同期します。実際に同期される範囲は、アプリの設定やシステムの状態によって異なります。同期は完全なバックアップと同じではありません。機種変更後はサーバー、現在の設定、接続設定を個別に確認してください。手動で書き出したファイルにも機密情報が含まれる場合があります。復元前に設定のバックアップと機種変更時の移行をご覧ください。

名前解決・ハンドシェイク・通信

DNSとネットワーク

リクエストはいくつかの段階を経て処理されます。ドメイン名の解決、サーバーへの接続、認証、データ転送を分けて考えることで、実際の問題に沿って切り分けできます。

DNSとネットワーク

DNS

DNSはドメイン名をIPアドレスなどのレコードに変換します。ウェブサイトへのアクセスで一般的に必要となる前段階です。DNSから応答があっても接続先に到達できるとは限らず、サーバーへの接続遅延が正常でも名前解決が正常とは限りません。ウェブページが開かない場合は、名前解決と、その後の接続・データ転送のどの段階で失敗しているかを確認してください。

DNSとネットワーク

遅延

遅延は、指定したテストにかかった時間です。意味はテスト方法や接続先によって異なります。遅延が小さくてもダウンロード帯域が広いとは限らず、ほかのサイトやアプリが同じ経路を使う保証もありません。記録を比較する場合はテスト条件をそろえ、実際のリクエスト結果も確認してください。

DNSとネットワーク

TLS / SNI

TLSは通信を保護し、SNIはTLSハンドシェイク時に接続先のサーバー名を示します。接続に使うアドレスとSNIの名前が異なる場合があるため、利用中のサーバー設定に従って個別に入力してください。証明書の検証エラーが発生した場合は、名前、証明書チェーン、デバイスの日時を確認してください。エラーを無視するだけでは、接続が正しいか判断できません。

DNSとネットワーク

UDP

UDPはデータグラムを転送するプロトコルです。一部のトンネルプロトコル、リアルタイム通信、名前解決のリクエストで使用されます。UDPを使う接続には、ローカルネットワーク、サーバー、関連設定のすべてが対応している必要があります。ウェブページを開けてもUDP通信が正常とは限りません。問題のある通信に合った方法でテストしてください。

DNSとネットワーク

MTU

MTUはリンクで転送できる最大のデータ単位を示します。トンネルのカプセル化には追加の領域が必要です。値が適切でないと、接続は確立するものの一部のデータを正常に転送できない場合があります。ただし、この症状だけで原因を特定することはできません。値を変更する際は元の値を記録し、利用中の設定に従って、同じ通信で再テストしてください。