公式マニュアル・用語集

Shadowrocket 用語集

画面の項目、接続プロトコル、ルールのアクションを区別してから設定を変更しましょう。ここでは利用場面に沿ってよく使われる用語を解説します。アプリや設定ファイルで使われる英語表記はそのまま掲載し、各項目へリンクから直接移動できます。

5つのテーマ 30項目 画面表示とルールキーワードは原文のまま掲載
画面表示と設定

接続画面と動作モード

接続スイッチは接続するかどうかを決め、Global Routingは通信の処理方法を決めます。役割の異なる設定なので、問題を調べる際は分けて確認してください。

Home

メイン画面と接続状態

Homeはサーバー項目の確認、接続先の選択、接続スイッチの操作を行うメイン画面です。サーバー項目が表示されていても、情報が保存されていることを示すだけで、サーバーが現在利用できるとは限りません。接続後は実際のリクエストでアクセス状況を確認してください。

Global Routing

通信全体の処理方法

Global RoutingにはConfig、Proxy、Directの3つのモードがあります。Configは現在の設定に基づいて通信を振り分け、Proxyは通信をプロキシ経由で処理し、Directは直接接続します。いずれのモードも、システムのネットワーク環境やアプリ関連の設定の影響を受けます。

On Demand

条件に応じた自動接続

On Demandは、設定した条件に応じてシステムにVPN接続を自動的に開始させる機能です。実際に接続するかどうかは選択した条件とシステムの状態によって異なります。ドメインごとにPROXYまたはDIRECTを選ぶ機能ではありません。手動で切断しても再接続する場合は、すぐに設定を削除せず、まずこの項目を確認してください。

Add Server

サーバー情報の追加

Add Serverはサーバー項目を追加する画面です。表示される入力項目はプロトコルによって異なります。手元にあるサーバー情報を使い、アドレス、ポート、認証、トランスポートの各設定を確認してください。共通項目だけを入力してプロトコル固有のパラメーターを省くと、保存できても接続できない場合があります。

Config

画面名とConfigモード

Configは設定ファイルを管理する画面を指す場合と、Global RoutingのConfigモードを指す場合があります。手順を読むときは、どちらの意味か画面の場所から判断してください。ファイルを画面上で保存することと、そのファイルを現在のルーティングに適用することは別です。ルールを変更した後は、使用中の設定を確認してください。

Connectivity Test

接続テストと結果の範囲

Connectivity Testは、指定したテスト方法で接続状況を確認します。テスト方法によって確認できる接続段階が異なる場合があります。テストに成功しても、すべてのWebサイトにアクセスできるとは限りません。表示された時間もダウンロード速度ではありません。結果に差がある場合は、DNS、ルールのマッチ状況、実際のリクエストをあわせて確認してください。

プロトコル

認証・トランスポート・暗号化の設定

プロトコル名で必要な入力項目は決まりますが、速度が決まるわけではありません。まずサーバー側とクライアント側の設定を一致させ、次にネットワークが使用するトランスポートに対応しているか確認してください。

Shadowsocks

アドレス・パスワード・暗号化方式

Shadowsocksはサーバーアドレス、ポート、暗号化方式、パスワードなどを使ってプロキシ接続を確立します。暗号化方式はサーバー側と一致させてください。共有リンクを読み込んだ後も、各項目が正しく設定されているか確認しましょう。パスワードが正しくても、暗号化方式が一致しなければ通信できないことがあります。

VMess

識別情報とトランスポートの組み合わせ

VMessはUUIDなどの識別情報を使い、異なるトランスポート方式やTLS設定と組み合わせる場合があります。UUIDだけでは設定は完了しません。アドレス、ポート、トランスポートのパス、サーバー名などを実際のサーバー設定に合わせて入力してください。デバイスの時刻がずれていると、認証に影響することもあります。

VLESS

認証とトランスポートのセキュリティを個別に確認

VLESS自体はデータを暗号化しないため、通常は対応するトランスポートセキュリティと組み合わせて使用します。UUIDを入力した後は、トランスポートの種類、セキュリティ設定、追加パラメーターも確認してください。名称が似ているからといって、別のプロトコルの項目をVLESSにそのまま流用しないでください。

Trojan

パスワード認証とTLS

Trojanは通常、TLSとパスワード認証を組み合わせて接続します。サーバー名と証明書の検証は、問題を調べるうえで重要です。アドレスに到達できてもハンドシェイクに失敗する場合は、まずパスワード、SNI、証明書の対応関係を確認してください。証明書検証の無効化を通常の解決策にしないでください。

Hysteria2

QUICベースのトランスポート

Hysteria2はQUICをベースとしており、接続状況はネットワークでUDPを利用できるかどうかに左右されます。認証、TLS、任意の追加設定はサーバー側と一致させてください。同じ項目でもネットワークによって接続状況が異なる場合は、パスワードを何度も変更する前にUDPの利用可否を確認してください。

WireGuard

鍵とトンネルのルーティング

WireGuardは鍵ペアを使って暗号化トンネルを構築します。ローカルアドレス、ピアの公開鍵、エンドポイント、許可するルーティング範囲を設定します。ハンドシェイクに成功しても、一部の経路が確立したことを示すだけです。実際のアクセスにはルーティングやDNSも影響します。秘密鍵は機密情報のため、公開するスクリーンショットに含めないでください。

HTTP / SOCKS5

汎用プロキシ接続方式

HTTPとSOCKS5は異なるプロキシプロトコルです。アドレス、ポート、アカウント認証の要否をそれぞれ確認してください。プロトコル名だけでは通信が暗号化されているとは限らず、UDPなどの通信への対応状況も異なります。手元のサーバーが実際に提供している種類を選択してください。

ルールキーワード

マッチ条件と処理ポリシー

ルールは通常、設定ファイルに記述された順に評価されます。キーワードはマッチ条件を、末尾のポリシーは処理方法を示します。広い条件のルールに上書きされないよう、より具体的なルールを先に配置してください。

DOMAIN

完全一致のドメイン指定

DOMAINは指定した完全一致のドメインにマッチします。たとえばapi.example.comを指定しても、ほかのサブドメインには自動的に適用されません。マッチ対象にはドメイン名を指定し、Webページの完全なURLやパス、クエリパラメーターは入力しないでください。特定のホストだけにポリシーを設定する場合に適しています。

DOMAIN-SUFFIX

ドメインとサブドメインの指定

DOMAIN-SUFFIXは指定したドメインとそのサブドメインにマッチします。たとえばexample.comとapi.example.comが対象です。任意の文字列を検索するルールではなく、ドメインの階層に基づいて照合します。特定のサブドメインを例外にする場合は、より具体的なDOMAINルールを先に記述してください。

DOMAIN-KEYWORD

ドメイン内の文字列で照合

DOMAIN-KEYWORDは、ドメイン名に指定した文字列が含まれるかどうかでマッチを判定します。後方一致のルールより広い範囲に適用されることがあります。短すぎるキーワードは無関係なドメインにもマッチするため、必要な場面を見極め、追加後は実際のリクエスト履歴を確認してください。

IP-CIDR / IP-CIDR6

アドレス範囲で照合

IP-CIDRはIPv4のアドレス範囲、IP-CIDR6はIPv6のアドレス範囲に使用します。スラッシュの後ろにあるプレフィックス長が範囲を示します。照合対象はドメイン名の文字列ではなく宛先IPアドレスです。宛先アドレスが解決済みかどうかや、ルールの関連パラメーターも照合結果に影響します。

GEOIP

IPデータベースの登録情報で照合

GEOIPはIP地理情報データベースの記録をもとに宛先アドレスの地域を判定します。Webページの言語やドメインの末尾を参照するものではありません。データベース上の登録地域とサーバーの実際の設置場所は異なる場合があります。CDNを利用するドメインは接続先のIPが変わることもあるため、判定結果を物理的な所在地の確証として扱わないでください。

FINAL

ルールにマッチしない通信の最終処理

FINALは、それまでのルールにマッチしなかったリクエストを処理するため、通常はルール一覧の末尾に置きます。ほかのルールをもう一度評価するのではなく、残ったリクエストの接続先を指定します。最終処理のポリシーを誤ると、個別に指定していないドメインの接続方法が想定と異なることがあります。

PROXY / DIRECT / REJECT

ルール末尾に指定する処理アクション

PROXYはプロキシポリシーで処理し、DIRECTは直接接続し、REJECTはリクエストを拒否します。これらはルールのアクションであり、プロトコル名ではありません。大文字表記のPROXY、DIRECTと、Global Routingの画面にあるProxy、Directモードも区別してください。

[Rule]
DOMAIN,api.example.com,PROXY
DOMAIN-SUFFIX,example.com,DIRECT
FINAL,PROXY
サブスクリプションと設定ファイル

接続情報・ルール・購入履歴

サブスクリプションは接続情報を更新し、設定ファイルは処理ルールをまとめ、App Storeの購入履歴はアプリの購入状況を確認します。それぞれ管理する内容が異なり、相互に置き換えることはできません。

サブスクリプション

更新可能なサーバー情報の入手方法

サブスクリプションはリモートURLからサーバー情報を取得・更新します。利用中のサービス提供元から入手してください。単一サーバーの共有リンクとは異なり、ルーティングルールが含まれるとは限りません。アクセス情報を含むことがあるため、URLを公開したり、誰かに共有したりしないでください。

SERVER

サーバー項目

サーバー項目はプロトコル、アドレス、ポート、認証情報などをまとめた接続設定です。一般にノードと呼ばれることもあります。項目名は識別用のラベルにすぎず、サーバーの所在地や利用可能性を示すものではありません。問題を調べる際は、具体的な設定と接続結果を確認してください。

.conf

セクションごとに記述する設定ファイル

設定ファイルでは、テキストをセクションごとに分けて設定を記述します。[General]は全体の動作、[Rule]はルーティングの順序を定義し、[Host]はローカルでの名前解決に使用できます。ファイルを読み込んでも、利用可能なサーバー情報が追加されるわけではありません。編集前にコピーを保存し、現在使用中のファイルか確認してください。

URL Rewrite

リクエストURLの処理

URL Rewriteは、条件に基づいてリクエストURLを指定どおりに処理します。プロキシ接続か直接接続かを選択するルールとは異なる機能です。暗号化されたリクエストでは、TLSや関連設定によって確認できる内容が制限されます。1つの書き換え式ですべてのリクエストを処理できるとは限りません。

iCloud

アプリデータの同期

iCloud同期は、対応デバイス間でアプリがサポートするデータを同期します。同期の対象範囲はアプリ内のオプションで確認してください。同期、バックアップ、購入の復元はそれぞれ異なる処理です。デバイスを変更する前に、設定ファイルのコピー、同期状況、App Storeで使用する購入アカウントを個別に確認してください。

購入済み項目

App Storeの購入履歴

購入済み項目には、購入時に使用したApple IDに紐づくアプリの記録が表示され、デバイスの変更や再インストール時にShadowrocketを確認できます。サービス提供元のサブスクリプションの更新状況は含まれません。デバイスの互換性、システム要件、ユニバーサル購入への対応は、App Storeのページに記載された情報をご確認ください。

DNSとネットワーク

名前解決・ハンドシェイク・テスト時間

ドメインの名前解決、接続の確立、データの転送はそれぞれ異なる段階です。まず失敗している段階を特定し、該当する設定を変更しましょう。複数の項目を同時に変更するのは避けてください。

DNS

ドメインからIPアドレスへの名前解決

DNSはドメイン名をIPアドレスに変換し、後続の接続に利用します。名前解決に失敗するとWebページを開けないことがありますが、接続テストが正常でも起こり得ます。反対に、IPアドレスを取得できてもサーバーに到達できるとは限りません。引き続きルーティング、ポート、ハンドシェイクを確認してください。

dns-server

設定ファイルで指定するDNSサーバー

dns-serverは[General]でDNSサーバーを指定する設定項目です。systemはシステムが提供するDNS設定を使用することを示します。変更する前に、現在の設定が実際に適用されているか確認し、DNSリクエストが通るネットワーク経路も考慮してください。DNSサーバーのアドレスを変更しても、すべてのアクセス問題が解決するとは限りません。

TLS / SNI

通信の保護とサーバー名

TLSは通信を保護し、SNIはハンドシェイク時に接続先のサーバー名をサーバーへ伝える仕組みです。両者は同じものではありません。接続先アドレスと証明書の検証に使う名前が異なる場合があるため、サーバーの指定に従って入力してください。証明書エラーが出た場合は、まずサーバー名とデバイスの時刻を確認しましょう。

レイテンシとタイムアウト

テスト結果で確認できること

レイテンシは特定のテスト段階にかかった時間、タイムアウトは制限時間内にテストを完了できなかった状態です。タイムアウトだけでサーバーの故障が確定するわけではありません。テスト方法、DNS、ネットワーク経路も結果に影響します。レイテンシが低くてもスループットが高いとは限らないため、速度の問題は実際の通信状況もあわせて確認してください。

App Storeでダウンロード