設定名・用語の整理・使う場所

V2Ray用語集

クライアントの項目名をもとに、プロキシプロトコル、通信セキュリティ、コア、ルーティングを整理します。各用語には個別のアンカーがあり、設定やログとの照合に便利です。

6つの設定テーマ よく使う26の用語 手順に沿って設定 →

接続設定で指定するプロトコルの種類

通信プロトコル

これらの名称は「サーバーを追加」や「プロトコル」の項目に表示されることがよくあります。プロトコルを選んだ後、通信方式とセキュリティ設定も確認してください。

VMess
Project Vのエコシステムに属するプロキシプロトコルで、ユーザーIDによる認証を行います。従来のサブスクリプション設定でよく使われています。VMessのプロトコル認証は、TCPやWebSocketなどの通信方式とは別の設定です。ユーザーIDを入力しただけで、必要な項目がすべて設定されたことにはなりません。インポート後は、サーバーが指定する通信方式とセキュリティ設定、端末の時刻を確認してください。旧式の設定項目が使えるかどうかは、現在のコアの対応状況によります。
VLESS
シンプルな設計のプロキシプロトコルで、ユーザーIDで認証しますが、ペイロード自体は暗号化しません。通常はTLSまたはREALITYと組み合わせるため、「VLESSを選ぶ」だけではセキュリティ設定は完了しません。サブスクリプションにflowなどの拡張項目が含まれている場合は、サーバーから提供された値をそのまま使い、現在のコアがその組み合わせに対応しているか確認してください。名称だけで互換性を判断しないようにしましょう。
Trojan
通常TLS上で動作し、パスワードで認証するプロキシプロトコルです。クライアントではアドレス、ポート、パスワードのほか、サーバー名と証明書の検証設定も確認してください。ハンドシェイクエラーが発生した場合は、検証を無効にするのではなく、サーバー名、証明書の信頼性、端末の時刻を先に確認しましょう。認証の成功と安全な接続の確立は、関連はありますが別の段階です。
Shadowsocks SS
暗号化方式とパスワードを主な接続パラメーターとするプロキシプロトコル群で、共有リンクにはss://というプレフィックスがよく使われます。暗号化方式やプロトコルの世代によって互換性が異なるため、サーバー指定の方式に現在のコアが対応している必要があります。パスワードだけでなく方式名も確認してください。方式によっては、鍵の形式に固有の要件があります。

設定を管理する画面と、接続を実際に処理するコンポーネント

コアとエコシステム

GUIクライアントは設定を管理し、コアは接続を処理します。クライアント名、コアの系統、プロトコル名はそれぞれ別の概念です。

Project V
V2Rayに関連するネットワークツールのエコシステムで、プロキシ、ルーティング、拡張可能な設定などの設計を含みます。クライアントで選択できる接続プロトコルの名前ではなく、関連ソフトウェアがすべて同じ機能を持つことを意味するものでもありません。ドキュメントを読むときは、「どのクライアントを使うか」「どのコアを呼び出すか」「どのプロトコルで接続するか」を順に確認すると、エコシステム名を具体的な機能と混同しにくくなります。
V2Fly
V2Rayの開発を引き継ぐコミュニティプロジェクトで、そのコアはv2fly-coreと呼ばれることがあります。v2flyNGは、関連するAndroidクライアントの一つです。V2FlyとXrayには共通の歴史がありますが、機能や設定項目には違いがあります。設定を移行するときは該当するコアのドキュメントを確認してください。どちらもJSONを読み込めるからといって、プロトコル拡張やルーティングの挙動まで同じとは限りません。
Xray
V2Rayプロジェクトから派生したネットワークプロキシコアで、一般にXray-coreと呼ばれます。v2rayNGはこのコアの系統を使用しています。プロトコル接続、ルーティング、関連するDNS処理を担い、GUIは設定の生成と管理を行います。REALITY、通信方式、flowなどの各設定に対応しているかは、実際のコアのバージョンで確認してください。クライアントのバージョン名だけでは判断できません。
コアの切り替え
クライアントが対応している範囲で、接続を処理するコアを切り替えます。クライアントによっては切り替え機能がありません。切り替え後、同じ接続設定でもプロトコル拡張や項目の解釈が異なり、接続できなくなる場合があります。ログと設定内容を確認し、ルーティングデータベースが新しいコアに対応しているかも確かめてください。コアの切り替えは、あらゆる接続問題を解決する方法ではありません。

ハンドシェイク、認証、セキュリティ設定

通信セキュリティ

プロトコルの種類が正しくても、ハンドシェイクの設定が正しいとは限りません。サーバー名や公開鍵関連の項目、フィンガープリントなどは、サーバーから指定された情報を入力してください。

TLS
通信の暗号化と認証を提供するセキュリティプロトコルで、さまざまなプロキシプロトコルと組み合わせられます。通常の証明書検証では、信頼チェーン、名前の一致、有効期間が確認されるため、端末の時刻がずれていると接続に失敗することがあります。エラーが発生したら、まずサーバー名と証明書の設定を確認してください。「安全でない接続を許可する」を常用の対処法にするのは避けましょう。
REALITY
Xrayエコシステムの通信セキュリティ方式で、VLESSと組み合わせて使われることがよくあります。一般に「REALITYプロトコル」と呼ばれますが、VLESSと同じ階層の代替プロトコルという意味ではありません。設定には通常、サーバー名、サーバーの公開鍵関連項目、short ID、フィンガープリントなどが含まれます。項目名は画面のバージョンによって異なることがあります。サーバー指定の項目をすべて保持し、通常のTLSと同じ方法で入力しないようにしてください。
SNI Server Name Indication
TLSハンドシェイクで接続先サーバー名を示す拡張情報です。クライアントの画面では「サーバー名」やserverNameと表示される場合があります。実際に接続するIPアドレスと同じとは限りませんが、サーバーの要件と検証ロジックに合っている必要があります。アクセス可能なWebサイトのドメインを適当に入力しても、設定の不一致は解消されません。
クライアントフィンガープリント
ここでは、TLSハンドシェイクで使う特徴の組み合わせを指します。コアによっては、ブラウザー名を使ったプリセットが用意されています。フィンガープリントを選んでもブラウザーが切り替わるわけではなく、Webページ上のブラウザー識別情報が直接変更されることもありません。この設定が有効かどうかは、コア、接続方式、設定場所によって異なります。問題を調べる際は、まずサブスクリプションの設定値を維持し、複数のハンドシェイク項目を同時に変更しないでください。

設定の取得元、保存形式、接続テストの結果

サブスクリプションとノード

インポート、更新、選択、テストはそれぞれ別の操作です。一覧に表示されているだけでは、クライアントが設定を読み込めたことしかわかりません。

サブスクリプション
1つのURLから接続設定をまとめて取得する配信方式で、取得した設定は通常、指定したグループに保存されます。サブスクリプションの更新は設定を再取得する操作であり、アカウントの契約更新ではありません。また、現在の接続がすぐに切り替わるとも限りません。サブスクリプションURLにはアクセス用の認証情報が含まれる場合があるため、機密情報として管理してください。スクリーンショット、ログ、問い合わせ内容を共有する前に、URL全体と認証情報を削除しましょう。
ノード
クライアントの一覧に表示される、選択可能な接続設定です。通常、アドレス、ポート、プロトコル、認証、通信パラメーターが含まれます。表示名は識別用のラベルにすぎず、接続先の場所、性能、利用可否を確実に示すものではありません。異なる名前の設定が同じサーバーを指す場合もあります。重複かどうかは、表示名ではなく実際の接続項目を比較して判断してください。
実接続の遅延
プロキシ経由でテスト先にリクエストしたときの応答時間です。プロキシのハンドシェイク、DNS、TLS、接続先の応答など、複数の処理が含まれる場合があります。アドレスとポートだけを確認するTCP接続テストとは異なり、ダウンロード速度に直接換算することもできません。結果を比較するときは、テスト先、テスト方法、ネットワーク環境をそろえてください。テストに失敗しても、設定がまったく使えないとは限らず、テスト先に原因がある可能性もあります。

接続先の振り分けとドメインの名前解決経路

ルーティング

トラフィックの振り分けは、ルール、データベース、名前解決の結果が連携して動作します。ルールが存在するだけでは、実際の接続がそのルールに一致したとは限りません。

ルーティングルールとトラフィック振り分け
ドメイン、IPアドレス、ポート、インバウンドなどの条件に応じて、接続を直接接続、プロキシ、またはブロックに振り分ける仕組みです。一般的なXrayのルーティング設定では、ルールは順番に評価され、最初に条件を満たしたルールで接続先が決まります。そのため、条件が広すぎると後続の例外ルールが適用されないことがあります。変更後はログで実際のアウトバウンドを確認し、どのルールにも一致しない場合の処理も確認してください。
GeoIP
ルーティング用にカテゴリ別のIPアドレス一覧を提供し、通常はgeoip.datなどのデータベースから読み込みます。データベースの地域名や用途のラベルはリアルタイムの位置情報ではなく、ドメインが利用するサービスを直接示すものでもありません。ドメインを名前解決して得たアドレスでルールを判定する場合は、ドメインの名前解決ポリシーも確認してください。データベースを更新するだけでは、現在の接続の判定が変わらない場合があります。
GeoSite
ルーティング用にカテゴリ別のドメイン一覧を提供します。データベースのファイル名にはgeosite.datがよく使われます。たとえばgeosite:cnはカテゴリを参照する記法ですが、具体的なラベルと収録範囲は使用するデータベースによって異なります。提供元が違えば内容も異なるため、同じと決めつけないでください。存在しないラベルを指定すると設定の読み込みに失敗する場合があります。また、カテゴリが存在しても、新しいドメインが収録済みとは限りません。
FakeDNS
ドメインを予約済みアドレスプールに割り当て、後続の接続でドメイン情報を復元する仕組みです。IP通信を捕捉した後も、ドメインをルーティング判断に利用できます。割り当てられたアドレスは接続先Webサイトの実際のグローバルIPアドレスではなく、サイトの位置を判断するための情報でもありません。DNS、トラフィックの捕捉、関連するルーティング設定を連携させる必要があります。機能を単独で有効にすると、名前解決結果を正しく復元できない場合があります。
DNSリーク
DNSクエリが想定した経路で送信されない状態です。たとえば接続はプロキシ経由でも、ドメインの問い合わせがシステム上の別のDNSリゾルバーに送られる場合があります。システムDNS、ブラウザーのセキュアDNS、アプリ内の名前解決、クライアントのDNSルーティングをあわせて確認してください。出口IPが変わっただけでは、DNSの経路も変わったとは判断できません。テストサイトに表示されたリゾルバー名も、実際の設定と照らし合わせて解釈してください。
スニッフィング Sniffing
接続初期に確認できるプロトコル情報からドメインなどを取得し、ルーティングや接続先の識別を補助します。通信を自由に復号できる機能ではなく、取得できる情報は接続プロトコル、暗号化方式、コアの実装によって異なります。「ルーティング判断だけに使う」設定と「接続先を上書きする」設定も区別してください。後者は実際のアクセス先を変える場合があるため、常に有効にすればよいわけではありません。

アプリの通信をクライアントに取り込む方法

クライアント機能

システムプロキシ、仮想インターフェース、ローカルインバウンドは、それぞれ異なる用途の機能です。設定後は接続スイッチだけを見るのではなく、対象のアプリで実際に通信できるか確認してください。

システムプロキシ
OSにプロキシアドレスを登録し、その設定に従うアプリをローカルのプロキシポートに接続させます。有効にしても、すべてのアプリの通信がクライアントに送られるわけではありません。独自のネットワーク設定を使うアプリや、直接接続するアプリもあります。ブラウザーでは使えて他のアプリでは使えない場合は、そのアプリがシステムプロキシを参照するか確認し、アプリ内プロキシなど別の方法を検討してください。
TUNモード
仮想ネットワークインターフェースと関連するシステムルーティングを使ってIP通信を捕捉する方式です。システムプロキシを参照しない一部のアプリにも適用できます。システムプロキシとは別の機能で、具体的な実装や必要な権限はプラットフォームとクライアントによって異なります。有効にした後は、DNS、LANへのアクセス、既存の仮想インターフェースとの競合を確認してください。AndroidクライアントのVPN許可画面に「TUN」という名称が表示されるとは限りません。
SOCKSインバウンド
アプリがクライアントに接続するためのローカルプロキシポートで、一般的にはSOCKS5のアドレスとポートを指定します。設定によってはローカルの10808番ポートを使いますが、実際の番号はクライアントの設定で確認してください。ローカルインバウンドのポートに、リモートサーバーのポートを入力しないようにしましょう。UDPが利用できるかどうかは、アプリ、コア、サーバーまでの通信経路によって異なります。通常はローカルホストのみで待ち受けます。LANからのアクセスを許可する前に、アクセス制御を検討してください。
HTTPプロキシインバウンド
HTTPプロキシプロトコルでアプリからクライアントにリクエストを送るためのローカルポートです。対応していれば、CONNECTメソッドでHTTPSトンネルを確立できます。設定によってはローカルの10809番ポートを使いますが、バージョンによっては専用ポートや混合インバウンドが用意されています。現在の設定を確認してください。SOCKSとは通信方式が異なるため、アプリで選択したプロキシの種類とポートのプロトコルを一致させる必要があります。

問題に応じて詳しく確認

項目の意味を確認したら、具体的な操作手順に戻ってください。設定を変更するときは、できるだけ一度に一項目だけ変更し、元に戻せるように元の設定を保存しておくと、結果を比較しやすくなります。