REFERENCE設定項目と用語の対応
V2Ray用語集
プロトコルが接続方式を決め、コアが通信を転送し、クライアントが設定画面を提供します。まずこの3つを区別してから、サブスクリプション、ルーティング、DNSを確認しましょう。
PROTOCOL / TRANSPORT
プロトコルと伝送方式
プロトコル、伝送方式、安全性に関する設定は、それぞれ別の項目です。同じプロトコルでも異なる伝送方式を組み合わせられるため、インポート後にサーバー側の設定と照合してください。
- VMess
- Project Vエコシステムのプロキシプロトコルで、UUIDなどのパラメーターを使ってユーザーを識別し、プロトコル独自のデータ保護機能を備えています。VMessはWebSocketやTLSと同じものではありません。WebSocketは伝送方式、TLSは通信の安全性に関する設定です。接続に問題がある場合は、アドレスやポートに加えて伝送方式も確認してください。古い設定に含まれる追加パラメーターは、現在のコアとの互換性を確認して扱いましょう。
- VLESS
- 軽量なプロキシプロトコルで、単体では通信内容を暗号化しません。実際の運用では通常、TLSまたはREALITYと組み合わせます。UUID、伝送方式、
flow、安全性に関する設定はサーバー側と一致させる必要があります。リンクがvless://で始まるからといって、各パラメーターも同じとは限りません。リンクを認識できても、使用中のコアがすべての拡張フィールドに対応しているとは限りません。
- Trojan
- 通常はTLS上で動作し、UUIDを使う設定とは異なり、パスワードで認証するプロキシプロトコルです。サーバー名、証明書の検証、ポート、パスワードはいずれも接続に影響します。証明書エラーが発生した場合は、まずドメイン名、システム時刻、サーバー証明書を確認してください。証明書検証の無効化を通常の解決策にするのは避けましょう。
- REALITY
- Xrayエコシステムの通信保護方式で、VLESSの設定でよく使われますが、独立したサブスクリプション形式ではありません。クライアントには公開鍵、
shortId、serverNameなどを正しく設定する必要があり、項目名は画面によって異なる場合があります。プロトコル名が一致するだけでは不十分で、安全性に関する設定と伝送方式の組み合わせも、使用するコアが対応している必要があります。
CORE / CLIENT
コアとエコシステム
クライアントは操作画面を、コアは実際の接続処理を担当します。機能の対応範囲を確認する際は、クライアントの設定項目と使用中のコアの両方を確認してください。
- Project V
- V2Rayのネットワークプロキシ技術を中心に形成されたプロジェクトやツールのエコシステムで、インポートしてすぐ使えるサーバー設定ではありません。この名称を理解するには、GUIクライアント、プロキシコア、接続パラメーターを分けて考える必要があります。オープンソースライセンスはコードの利用・配布条件を定めるものであり、サブスクリプションの提供元、サーバー運営者、ローカル設定の安全性を保証するものではありません。
- Xray
- V2Ray関連技術から発展したプロキシコアで、プロトコル処理、ルーティング判定、接続転送などを担います。v2rayNGはXrayコアを使用しますが、対応機能は同梱されているコアのバージョンによって異なります。GUIの更新とコアの更新は別のものです。設定フィールドが使えない場合は、実際に動作しているコアを確認してください。
- V2Fly
- V2Rayコアを継続的に開発・保守するコミュニティプロジェクトで、プロトコル、ルーティング、DNSなどの基盤機能を提供します。V2FlyとXrayは技術的な背景を共有していますが、機能の開発状況、フィールドの意味、対応範囲は完全に同じではありません。v2flyNGはAndroid向けの関連クライアントの一つです。切り替える前に既存の設定を確認し、2つのコアをそのまま置き換えられると考えないでください。
- GUIクライアント
- サブスクリプションのインポート、サーバー一覧、プロキシモード、ログ確認などの操作画面を提供するアプリです。v2rayNはWindows、macOS、Linuxのデスクトップ向け、v2rayNGとv2flyNGはAndroid向けです。画面上の一つの設定が、内部では複数の設定項目に反映されることがあります。そのため、マニュアルに記載されたネイティブJSONのフィールドと同じ名前の入力欄が、設定画面にあるとは限りません。
使うソフトを選びたい方は、3つのクライアントの対応OSとコアの違いをご覧ください。
SUBSCRIPTION / CONNECTION
サブスクリプションとノード
サブスクリプションは接続設定を取得する入口、ノードは個別の接続設定です。一覧が表示されるのは内容を読み込めたということであり、リモートサーバーへの接続が確立したことを意味しません。
- サブスクリプション
- 接続設定をまとめて取得・更新する仕組みで、通常はURLで提供されます。v2rayNではサブスクリプショングループを使って複数の提供元を管理できます。更新時にノードが追加、置換、削除されることがあり、ローカルでの変更が保持されるかはクライアントの動作によります。サブスクリプションURLにアクセス情報が含まれる場合があるため、スクリーンショットやログを共有する際はURL全体を隠してください。一般公開のURLのように転送してはいけません。
- ノード
- クライアントの一覧から選べるサーバー接続設定の一つで、通常はアドレス、ポート、プロトコル、認証情報、伝送方式を含みます。別名は見分けるための表示であり、サーバーの実際の所在地、帯域幅、稼働状況を示すものではありません。ノードの切り替えは接続設定の変更です。原因がローカルDNSやプロキシの入口にある場合、ノードを変えても解決しないことがあります。
- 実接続遅延
- 選択したプロキシ経由でテスト先にアクセスした際の所要時間です。具体的な計測範囲はクライアントの実装によって異なります。単純なTCP遅延は通常、ポートへの接続時間を示しますが、実接続テストは実際のプロキシリクエストに近い測定です。ただし、結果はテスト先、DNS、時間帯によるネットワーク状況にも左右されます。比較する際は条件を揃えてください。数値が小さくても、継続的なダウンロードが速いとは限りません。
実際の操作を始める方は、サブスクリプションのインポートと初回接続の手順をご覧ください。
MATCH / OUTBOUND
ルーティングと振り分け
まず条件に一致するルールを確認し、次に出口を選びます。ルールデータ、照合順序、アウトバウンドタグによって接続の転送先が決まります。
- ルーティングルール
- ドメイン、IP、ポート、プロトコルなどの条件で接続先のアウトバウンドを選ぶルールです。通常は設定順に照合されます。範囲の広いルールを先に置くと、後続の具体的なルールに一致しないことがあります。v2rayNでルーティング設定を変更した後は、デフォルトのアウトバウンドとルールの順序も確認してください。画面で選択したサーバーを、すべての接続が必ず通る出口だと考えないようにしましょう。
- GeoIP
- ルーティングルールから参照するIPアドレスの集合で、地域や用途ごとに分類できます。たとえば
geoip:privateはプライベートアドレスの集合を示します。ローカルのデータファイルと、使用するコアの解析対応が必要で、リアルタイムの位置情報サービスではありません。アドレスの分類はネットワークの割り当て変更により変わる場合があります。振り分けに誤りがある場合は、サーバーの別名だけでなく、ルールの一致状況とデータの更新状況を確認してください。
- GeoSite
- サイト、サービス、用途ごとにまとめたドメインの集合で、多数のドメインを一つずつ指定せずにルールを設定できます。ルールで参照するタグが、使用中のデータファイルに存在している必要があります。データの提供元が異なると、同じタグを使えない場合があります。また、ドメインルールを適用するには、コアが接続先ドメインを取得できる必要があります。アプリがIPアドレスへ直接接続する場合は、DNSマッピングやトラフィックのスニッフィングなどが必要になることがあります。
- 振り分けとアウトバウンド
- 振り分けは接続ごとに異なる出口を選ぶ処理、アウトバウンドはコアで定義する具体的な接続出口です。たとえば、直接接続、プロキシ、ブロックなどがあります。ルール内の
outboundTagは、既存のアウトバウンドタグを参照する必要があり、画面上のメモを自由に入力する項目ではありません。グローバルプロキシは通常、ルーティング方針としてプロキシを優先することを指します。もともとクライアントに取り込まれていないアプリの通信まで対象になるわけではありません。
DNS / NETWORK MODE
DNSとネットワークモード
通信をどこから取り込むか、ドメインをどこで名前解決するかは、連携させる必要がある別々の設定です。接続を取り込んでも、すべてのDNSクエリが自動的に取り込まれるわけではありません。
- TUNモード
- 仮想ネットワークインターフェース経由で通信を取り込む動作モードです。システムプロキシに従わないアプリの通信にも利用できますが、通常は追加の権限やネットワークコンポーネントが必要です。クライアントに取り込まれた後もルーティング判定が行われるため、TUNを有効にしてもすべての通信がプロキシ経由になるとは限りません。他の仮想ネットワークツールと併用する場合は、デフォルトルート、DNS、LANへのアクセスに影響がないかも確認してください。
- DNS
- ドメイン名をIPアドレスなどのレコードに変換する仕組みで、多くのネットワーク接続に先立って行われます。OS、ブラウザー、プロキシコアがそれぞれ名前解決する場合があるため、DNSアドレスを一つ変更しただけではすべてのアプリに反映されないことがあります。設定時は、どこからクエリを送信するか、どの出口を通すか、どのルーティングに結果を使うかを明確にしてください。そのうえでキャッシュや名前解決の失敗を確認します。
- FakeDNS
- ドメインにマッピング用アドレスを返し、後続の接続時にドメインとの対応を復元する仕組みです。ドメインに基づくルーティング判定に役立ちます。マッピング用アドレスは内部処理に使うもので、接続先サーバーの実際のアドレスではありません。DNS応答、通信の取り込み、マッピングの復元を組み合わせる必要があります。アドレスプールの設定だけをコピーすると接続に問題が起きることがあり、無効にした後もアプリやOSに名前解決のキャッシュが残る場合があります。
- DNSリーク
- DNSクエリが想定した経路を通らずに送信される状態です。特定のDNSサービス名が表示されたというだけでは判断できません。アプリ独自の暗号化DNS、システムのリゾルバー設定、IPv6、クライアントのルーティング方針を合わせて確認してください。Webページに表示される出口IPが示すのは、そのリクエストの出口です。他のアプリやDNSクエリも同じ経路を通るとは限りません。
CLIENT / SETTINGS
クライアント設定
通信を取り込む設定、識別機能、接続の最適化は、それぞれ役割が異なります。一度に変更する項目を一つに絞り、同じアプリで動作を確認すると、変化の原因を特定しやすくなります。
- システムプロキシ
- OSにプロキシのアドレスとポートを登録し、システム設定に従うアプリの接続をローカルクライアントに渡します。v2rayNの「システムプロキシを自動設定」はこの機能で、ルーティング画面の振り分け設定とは別です。システムプロキシを無視したり、アプリ独自の設定を使ったりするものもあります。クライアント終了後にネットワークへ接続できない場合は、OSにローカルポートを指すプロキシ設定が残っていないか確認してください。
- アプリ別プロキシ
- アプリごとにクライアントの通信取り込み対象を選ぶ設定で、AndroidのVPNモードでよく使われます。v2rayNGでは「選択したアプリのみプロキシ」と「選択したアプリを除外」のどちらの動作かを先に確認してください。チェックの状態だけで結果を判断することはできません。取り込み対象になった後も、通信はルーティング判定を受けるため、すべてが強制的にプロキシ経由になるわけではありません。
- トラフィックのスニッフィング
- 接続開始時のプロトコル情報からドメインなどのメタデータを取得し、ルーティング判定を補助する機能です。たとえば、TLSハンドシェイクのサーバー名を参照します。通信内容をすべて復号する機能ではなく、すべての接続を識別できるとも限りません。v2rayNGの「トラフィックのスニッフィングを有効にする」は、実際のルーティング要件に合わせて設定してください。識別できない場合は、アプリのプロトコルや取得可能な情報も確認しましょう。
- Mux多重化
- 複数の論理接続を一つの基盤接続に多重化する仕組みで、状況によっては接続を繰り返す際の負荷を抑えられます。効果はプロトコルの互換性、ネットワークのパケットロス、同時リクエスト数、コアの実装によって異なり、常に高速化する設定ではありません。有効にした後で遅延や特定プロトコルの接続異常が発生した場合は、同じ条件で無効にして比較し、現在の伝送方式がMuxに適しているか確認してください。
用語から設定へ
用語を確認したら、目的に合わせて操作手順を読み進めましょう。初めて使う場合はサブスクリプションのインポートから始めます。ルーティングやDNSを変更する前に現在の設定を保存し、使用中のコアと動作モードを記録してください。