公式マニュアル · 用語索引

Shadowrocket 用語集

画面表示、プロトコルのパラメータ、ルールキーワードを用途別に確認できます。

英語表記はアプリ画面や設定ファイルの原文です。日本語で機能と適用範囲を解説します。変更するのが全体モード、サーバー項目、ルールのどれかを確認し、異なる階層の設定を混同しないようにしましょう。

画面表示とスイッチ

接続画面とルーティング方式

まず設定がある画面を確認し、接続状態に影響するのか、通信の処理方法に影響するのかを判断します。以下の名称はアプリでの表示に準じています。

メイン画面

Home

接続状態、Global Routing、Connectivity Test、SERVERリストを確認するメイン画面です。Not Connectedは現在接続が確立されていないことを示しますが、それだけでは原因を特定できません。初回接続時は、システムの案内に従ってVPN構成の追加を許可してください。詳しくはクイックスタートをご覧ください。

全体のルーティング設定

Global Routing

全体のルーティング方式を設定します。設定、プロキシ、直接接続を選択でき、画面上ではConfig、Proxy、Directと表示されます。特定のサイトに対するルールや、サーバーのプロトコル種別とは異なります。意図した振り分けにならない場合は、まずここを確認し、使用中の設定ファイルとルールの順序を確認してください。

3つのルーティング方式

Config / Proxy / Direct

Configは現在の設定ファイルのルールに従ってリクエストを処理します。Proxyは対象の通信を選択したプロキシに渡し、Directは直接接続します。システム側の除外設定やほかのネットワーク設定が実際の経路に影響する場合があるため、すべてのシステム通信に適用されると考えないでください。詳しくはプロキシモードの解説をご覧ください。

接続を自動的に開始

On Demand

ネットワークの種類、Wi-Fi、ドメインなどの条件に応じてVPN接続を制御します。これは接続するタイミングを決める設定であり、各リクエストの振り分けを決めるRuleの代わりにはなりません。手動でオフにした後も接続が始まる場合は、有効なトリガー条件と現在のネットワークが条件を満たしているかを確認してください。

サーバー項目の追加画面

Add Server

利用者がすでに持っているサーバー情報を使って、接続項目を手動で追加します。正しいプロトコルを選び、アドレス、ポート、認証、通信パラメータを一つずつ確認してください。すべての欄が埋まっていても、パラメータが正しいとは限りません。サブスクリプションをすでに利用している場合はインポート手順を使い、サブスクリプションURLをサーバーアドレス欄に入力しないでください。

診断ツール

Connectivity Test

現在選択している方法で、サーバー項目の接続性を確認します。テスト方法によって確認するネットワークの段階は異なります。応答があっても、そのテストが成功したことを示すだけで、DNS、ルール、個々のWebサイトが正常に動作する保証にはなりません。「テストは成功するのにWebページが開かない」場合は、名前解決の結果と実際の通信経路も確認してください。

プロキシプロトコル

接続形式とパラメータの確認

プロトコル名は通信方式を表すもので、回線品質を示すものではありません。設定には、利用者がすでに持っているサーバー情報を使用してください。プロトコル名だけから設定全体を推測することはできません。

プロキシプロトコル

Shadowsocks

合意された暗号方式と認証情報を使ってプロキシ通信を行うプロトコルです。クライアントのアドレス、ポート、パスワード、暗号方式はサーバー側と一致させる必要があります。設定に追加の通信パラメータが含まれる場合は、それらもすべて保持してください。暗号方式の変更は万能な解決策ではありません。むやみに変更すると、クライアントとサーバーの設定が一致しなくなります。

プロキシプロトコル

VMess

認証情報が必要で、異なる通信設定と組み合わせて使えるプロキシプロトコルです。アドレスとポートに加え、UUID、通信方式、安全な通信を有効にしている場合は関連項目を確認してください。認証処理はデバイスの時刻に影響されることがありますが、タイムアウトだけを根拠に時刻の問題と決めつけず、必要に応じてシステムの日付と時刻を確認してください。

プロキシプロトコル

VLESS

認証と通信の安全性を分けて扱うプロキシプロトコルです。名称だけで通信が暗号化されているとは限りません。UUID、通信方式、安全性の設定などを合わせて確認してください。VMessの設定は、プロトコル名だけ置き換えてそのまま使うのではなく、すでに持っている情報に基づいて各パラメータを確認してください。

プロキシプロトコル

Trojan

通常、TLSとパスワード認証を組み合わせて使うプロキシプロトコルです。接続先アドレス、認証パスワード、TLSの検証に使うホスト名はそれぞれ役割が異なり、相互に置き換えられません。証明書やハンドシェイクのエラーが発生した場合は、ホスト名、証明書の有効性、システム時刻を確認してください。設定ミスを隠すために検証を無効にしないでください。

プロキシプロトコル

Hysteria2

QUICをベースにしたプロキシプロトコルで、通信にUDPを使用します。接続できない場合は、アドレス、ポート、認証情報だけでなく、現在のネットワークで該当するUDP通信が許可されているか、TLSパラメータが正しいかも確認してください。プロトコルを選ぶだけで通信速度が保証されるわけではなく、実際の速度は経路、混雑状況、サーバーのリソースにも左右されます。

トンネルプロトコル

WireGuard

公開鍵で通信相手を識別するトンネルプロトコルです。設定にはローカルの秘密鍵、ピアの公開鍵、アドレス、エンドポイントなどが含まれます。鍵は単なる表示名ではありません。秘密鍵をトラブルシューティング用のスクリーンショットや公開記録に載せないでください。トンネル接続とドメイン名の解決は別の段階です。通信確立後もDNSとルーティング設定を確認してください。

プロキシプロトコル

HTTP / SOCKS5

異なる2種類のプロキシプロトコルです。アドレスとポートの項目が共通していても、互換性があるとは限りません。認証の要否、特定の通信への対応、通信が暗号化されるかは、実際のプロトコルとサーバー設定に基づいて判断してください。HTTPやSOCKS5という名称だけでは通信の暗号化は保証されません。

ルールキーワード

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

ルールを確認するときは、まずマッチ対象を見てから、マッチ後の処理を確認してください。通常は上から順に判定されるため、具体的な条件を広い条件より前に置きます。

ルールセクション

Rule

設定ファイルの[Rule]セクションでは、通信を振り分けるルールを定義します。一般的な形式は、ルールタイプ、マッチ内容、処理ポリシーの組み合わせです。通常は最初にマッチしたルールで処理が決まるため、前方の広いルールが後方の具体的なルールを適用できなくすることがあります。変更後はGlobal RoutingがConfigになっていることと、該当するファイルが使用中であることも確認してください。

完全一致のドメインマッチ

DOMAIN

指定した完全一致のドメインにマッチするため、特定のホスト名だけを処理する場合に適しています。たとえばDOMAIN,example.com,DIRECTは、そのドメイン配下のすべてのサブドメインには自動的に適用されません。マッチ内容にはドメイン名だけを入力し、Webページの完全なURLに含まれるスキーム、パス、クエリパラメータは含めないでください。

ドメインサフィックスによるマッチ

DOMAIN-SUFFIX

指定したドメインとそのサブドメインにマッチします。たとえばDOMAIN-SUFFIX,example.com,PROXYはexample.comとそのサブドメインが対象です。DOMAINより対象範囲は広いものの、任意の文字列を含むドメインにマッチするわけではありません。同じドメイン内に例外がある場合は、より具体的なルールをこのルールより前に置いてください。

ドメインキーワードによるマッチ

DOMAIN-KEYWORD

ドメインに指定したキーワードが含まれているかを確認します。互いに関連のない複数のドメインが対象になる場合があります。マッチ対象はドメインであり、Webページの本文や任意のURLパスではありません。特定のサイトとそのサブドメインだけを対象にする場合は、意図しないマッチを避けるため、まずDOMAIN-SUFFIXを検討してください。

IPの地理情報によるマッチ

GEOIP

宛先IPアドレスの地理情報データベース上の所属に基づいてマッチします。Webサイトの言語やドメイン名の文字列では判定しません。データベースの記録、ドメインの名前解決結果、コンテンツ配信ネットワークがマッチ結果に影響する場合があります。サービスの登録地と同じとは限らず、同一サイトのすべてのリクエストが同じ所属にマッチするとも限りません。

アドレス範囲によるマッチ

IP-CIDR / IP-CIDR6

CIDR表記を使ってIPv4とIPv6のアドレス範囲をそれぞれ指定します。例:IP-CIDR,192.0.2.0/24,DIRECT。スラッシュの後のプレフィックス長はネットワーク範囲を決めるもので、ポート番号ではありません。このアドレスは説明用です。実際のルールには対象とするアドレスを指定し、IPv4とIPv6の違いにも注意してください。

フォールバックルール

FINAL

それ以前のルールに一つもマッチしなかったリクエストを処理し、通常はルールリストの末尾に置きます。FINAL,DIRECTは、ほかのルールにマッチしない場合に直接接続するという意味で、すべてのリクエストを直接接続する指定ではありません。FINALを前方に置くと、後続のルールが適用されない場合があります。まずルールの順序を確認してから、個々の条件を確認してください。

ルールの処理ポリシー

PROXY / DIRECT / REJECT

PROXYはプロキシポリシーに渡す、DIRECTは宛先に直接接続する、REJECTはリクエストを拒否することを表します。これらの大文字キーワードはルール適用後の処理結果であり、Global Routingの3つの方式を単純に言い換えたものではありません。PROXYにマッチした後も、接続を完了するには該当するプロキシ項目が利用可能である必要があります。

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

項目の取得元とファイル構成

サーバー項目は接続先を指定し、設定ファイルはリクエストの処理方法を定めます。サブスクリプションの更新と設定の切り替えは別の操作であり、相互に代用できません。

既存情報のインポート

Subscribe

利用者がすでに持っているサブスクリプションURLからサーバー項目を取得または更新します。詳しい手順はサブスクリプションとサーバーのインポートをご覧ください。更新後にサブスクリプションの内容が変わる場合があり、更新が成功してもすべての項目が接続できるとは限りません。URLにアクセス情報が含まれる場合があるため、トラブルシューティングの際にリンク全体を公開しないでください。サブスクリプションは通常、振り分け設定を含む完全な設定ファイルとは異なります。

サーバーリストのセクション

SERVER

Homeでサーバー項目を一覧表示するセクションです。各項目には、プロトコル、アドレス、ポート、認証情報などの接続パラメータが保存されます。項目名は識別用のラベルにすぎず、プロトコル、実際の場所、利用可能かどうかを示すものではありません。手動で追加した項目とサブスクリプションから生成された項目では管理方法が異なる場合があります。更新前に、変更が上書きされないか確認してください。

設定画面と設定ファイル

Config / .conf

Configは設定ファイルを管理する画面を指す場合があり、.confは一般的な設定ファイルの拡張子です。ファイルにはGeneral、Rule、Host、URL Rewriteなどのセクションを含められます。実際の動作は項目と現在の有効状態によって異なります。ファイルを保存しただけでは切り替えが適用されたとは限りません。現在選択中の設定とGlobal Routingを確認してください。

共通設定セクション

General

[General]では、DNS設定などの基本的なネットワーク動作や共通パラメータを指定します。リクエストごとにマッチ判定を行うRuleセクションとは役割が異なります。各パラメータが適用されるかは、現在の設定とネットワーク環境に応じて確認してください。変更前の値を控え、症状に関係する項目だけを一度に一つ変更すると、結果を比較して元に戻しやすくなります。

URL処理セクション

URL Rewrite

[URL Rewrite]では、式でURLにマッチし、書き換えやリダイレクトなどを実行します。プロキシの振り分けルールの代わりではありません。広すぎる条件を指定すると、関係のないリクエストまで変更する場合があります。編集前に式と転送先を確認してください。HTTPSリクエストで参照・処理できる情報の範囲は接続条件によって異なり、すべてのリクエスト内容を自由に変更できるとは限りません。

DNSとネットワーク

名前解決、応答時間、通信の安全性

ドメインの名前解決、接続の確立、実際のデータ転送はそれぞれ異なる段階です。テスト結果はテスト方法に応じて解釈し、一つの数値だけでネットワーク全体の状態を判断しないでください。

ドメインの名前解決

DNS

ドメインをIPアドレスなどの情報に変換する仕組みで、通常、ドメイン名を使ったアクセスの前提となります。プロキシサーバーに接続できても、対象ドメインが正しく名前解決されるとは限りません。Webページが開かない一方でConnectivity Testに応答がある場合は、名前解決の失敗、適切でない解決結果、ルールによる経路の誤り、接続先サービスの異常を切り分けてください。

Generalの設定項目

dns-server

GeneralでDNSサーバーを指定する設定項目です。dns-server = systemは、システムのDNSサーバー設定を使うことを示します。実際の名前解決経路は、ほかのDNS設定やネットワーク環境にも左右されます。変更前の値を記録し、変更後は同じドメインを再テストしてください。関連のない複数のパラメータを同時に変更しないでください。

静的なホストマッピング

Host

[Host]では、指定したホスト名に静的なアドレスを割り当てます。例:localhost = 127.0.0.1。静的マッピングはリモートサービスのアドレス変更に自動で追従しません。誤った記録や古い記録があると、アクセスできない状態が続く場合があります。これは通信設定内のHostフィールドとは別の階層です。同じ単語が使われていても、名前だけで用途を判断しないでください。

テスト結果の見方

Latency

特定のテスト方法で測定した応答時間を指し、帯域幅、ダウンロード速度、継続的な通信の安定性とは異なります。テスト対象、ネットワークの種類、テスト方法が異なる結果を直接比較しないでください。トラブルシューティングでは条件をそろえてから、実際のWebアクセスと接続記録も合わせて判断します。一度のタイムアウトだけでは原因を特定できません。

通信の安全性とホスト名

TLS / SNI

TLSは通信を保護し、通信相手を認証します。SNIはハンドシェイク時に接続先として想定するホスト名を伝え、サーバーが適切な設定と証明書を選べるようにします。接続先アドレスと証明書の検証に使う名前が異なる場合もありますが、すでに持っているサーバーの実際の設定に合わせる必要があります。ハンドシェイクに失敗した場合は、ホスト名、証明書、時刻を確認してください。検証をスキップする方法を通常の解決策にしないでください。

カテゴリ索引に戻る ↑