設定用語をすばやく確認 6カテゴリ・26用語

V2Ray用語集

まずプロトコル、コア、クライアントの違いを押さえてから、個々の設定を確認しましょう。各用語の意味や設定時の確認事項、混同しやすい点を解説します。用語のアンカーをコピーすれば、同じ項目をすぐに共有できます。

プロトコルとトランスポート

プロトコルは接続する双方がデータをやり取りする方法を定めます。トランスポート方式とセキュリティ層は別の要素です。インポート時は3つすべてを一致させ、プロトコル名だけで判断しないようにしましょう。

プロトコルとトランスポート

VMess

プロキシプロトコル

VMessはProject Vのエコシステムに属するプロキシプロトコルです。現代の実装ではAEAD認証を使用するため、古い解説にある一部の項目は現在の仕様に合わない場合があります。設定時にはユーザーID、サーバーポート、トランスポート方式、セキュリティ層を確認してください。別のプロトコルの設定値をそのまま流用することはできません。端末の時刻が大きくずれていると認証に影響する場合もあるため、問題の切り分けではまず時刻を同期してください。

プロトコルとトランスポート

VLESS

軽量なプロキシプロトコル

VLESSは認証と転送の構成を軽量化したプロトコルで、単体では通信を暗号化しません。TLSやREALITYと組み合わせることがよくあります。ノードがVLESSと表示されていても、付属するトランスポート方式やフロー制御の組み合わせに、すべてのクライアントが対応しているとは限りません。手動設定ではユーザーIDだけでなく、セキュリティの種類、サーバー名、flowの各項目も確認してください。アドレスとポートだけでは設定は完了しません。

プロトコルとトランスポート

Trojan

通常TLSと組み合わせるプロキシプロトコル

Trojanは通常TLSで接続を保護し、パスワードで認証します。サーバーアドレスにはIPアドレスまたはドメイン名を指定できますが、証明書の検証に使うサーバー名はサーバー側の設定と一致させる必要があります。両者が異なる場合もあります。ハンドシェイクエラーが起きたら、証明書検証を無効にするのではなく、パスワード、ポート、証明書、端末の時刻を確認してください。

プロトコルとトランスポート

Shadowsocks

略称はSS

Shadowsocksは事前共有鍵を使ってプロキシ接続を確立します。共有リンクはss://で始まるものが一般的です。クライアントとサーバーで暗号化方式とパスワードを一致させる必要があります。方式によって鍵の形式に関する要件が異なる場合もあります。クライアントがSSに対応していても、ノードで指定された方式に対応しているか確認してください。追加のプラグインや拡張機能も、標準で互換性があるとは限りません。

コアとエコシステム

GUIは設定を管理し、コアは接続を実行します。ノードが利用できるかどうかは、クライアントだけでなく、実際に呼び出されるコアも含めて確認しましょう。

コアとエコシステム

Project V

モジュール型プロキシツールのエコシステム

Project Vは、V2Rayを中心に形成されたプロジェクトやツールのエコシステムを指します。特定のデスクトップアプリやサブスクリプションサービスのことではありません。モジュール型の設計では、インバウンド、アウトバウンド、ルーティング、トランスポートなどを分けて構成します。一般に「V2Rayクライアント」と呼ばれるものは、こうした機能を管理するGUIアプリを指すことが多く、すべてのアプリで設定ファイルを相互利用できるという意味ではありません。

コアとエコシステム

V2Fly

コミュニティが開発・保守するV2Rayプロジェクト群

V2FlyはコミュニティによるV2Ray実装を継続し、プロキシコアと関連機能を提供しています。v2flyNGはこのコアを利用するAndroid向けGUIクライアントの選択肢です。設定が使えるかどうかは、バージョンと対応項目によって異なります。特に、Xray独自のセキュリティ機構やフロー制御の設定を、そのままV2Flyに渡すことはできません。

コアとエコシステム

Xray

独立して開発されているプロキシコア

XrayはV2Rayから派生し、その後独自の機能と設定の進化を続けています。REALITYやXTLS Visionは、関連機能の代表例です。v2rayNGはXrayコアを使用します。デスクトップでは、クライアントが実際に使用する設定を確認してください。両コアの設定構造には共通点がありますが、すべての項目、初期値、動作が同じとは限りません。

コアとエコシステム

コア

Core・接続を実行するコンポーネント

コアはプロトコル処理、ルーティング判定、ドメイン名解決、データ転送を担います。クライアントの画面は、設定の生成、サブスクリプションの管理、ログの表示を担当します。画面上で設定を保存できても、現在のコアが対応しているとは限りません。コアを切り替えた後は、設定が受け付けられるかを確認し、ボタンがオンになっているかだけでなく、ログで起動結果を確認してください。

クライアント機能

通信を処理する方式、DNSの経路、テスト方法はいずれも結果に影響します。測定前に現在のモードを確認し、意味の異なる数値を混同しないようにしましょう。

クライアント機能

システムプロキシ

アプリが利用できるOSのプロキシ設定

システムプロキシは、ローカルのプロキシアドレスとポートをOSの設定に登録します。この設定に従うアプリは、接続をクライアントに転送します。独自のネットワーク設定を使うアプリは、システムプロキシに従わないことがあります。ネットワーク層で通信を取り込むTUNとは異なります。クライアントの終了後にアプリが通信できなくなった場合は、システムプロキシが停止済みのローカルポートを指したままになっていないか確認してください。

クライアント機能

TUNモード

仮想ネットワークインターフェース

TUNは仮想ネットワークインターフェースでIPパケットを受信し、クライアントのルーティング設定とDNS設定に従って接続を処理します。通常、適切なシステム権限が必要で、他の仮想NICやルーティングソフトと競合する場合があります。TUNを有効にしても、すべての通信が同じリモートアウトバウンドを通るとは限らず、速度向上が保証されるわけでもありません。実際の経路はルール、除外設定、コアの対応状況によって決まります。

クライアント機能

遅延

指定したテストの応答時間

遅延はテストを開始してから応答を受け取るまでの時間です。ただし、ICMP、TCP接続の確立、HTTPリクエストでは測定する段階が異なります。ポートへのTCP接続が成功しても、プロキシ認証や対象サイトへのアクセスが正常とは限りません。ノードを比較するときは、テスト方法と接続先を統一して複数回測定してください。1回だけ低い値が出ても、ダウンロード速度や長時間の安定性を示すものではありません。

クライアント機能

実接続遅延

プロキシ経由でテスト先に接続したときの時間

「実接続遅延」は通常、選択したプロキシ経由で指定のテスト先にアクセスして測定する値で、サーバーポートへの疎通確認だけを指すものではありません。DNS、プロキシのハンドシェイク、TLS、テスト先の応答時間などが含まれる場合があります。計測範囲はクライアントの実装によって異なります。テストが失敗してもテスト先が利用できない可能性があるため、実際のブラウジングやログも確認し、すぐにノードの障害と判断しないでください。

クライアント機能

FakeDNS

合成アドレスとドメイン名の対応付け

FakeDNSはドメイン名に合成アドレスを返し、アドレスとドメイン名の対応関係を保存します。後続の接続では、この対応関係からドメイン名を復元してルーティングに利用できます。合成アドレスは接続先サイトの実アドレスではなく、対応関係を管理するクライアントの外では通常そのまま利用できません。モードの切り替え後にアクセスできなくなった場合は、アプリやOSのDNSキャッシュを消去してから再接続すると解決することがあります。

クライアント機能

DNSリーク

想定した経路から外れる名前解決リクエスト

DNSリークとは、ドメイン名の問い合わせが設定した名前解決ポリシーに従わず、意図しないDNSリゾルバーに送信されることです。ブラウザー内蔵の暗号化DNS、OSのリゾルバー、クライアントのDNSは、それぞれ異なる経路を通る場合があります。そのため、通信がプロキシ経由でもDNSの経路が同じとは限りません。切り分けでは、まず想定する経路を明確にし、アプリの設定、クライアントのルール、実際の問い合わせ先を確認してください。

サブスクリプションと共有リンク

サブスクリプションは複数の設定をまとめて取得するためのものです。共有リンクは通常、単一ノードの情報を示します。インポートする前に、手元の内容がどちらなのか確認しましょう。

サブスクリプションと共有リンク

サブスクリプションURL

設定一覧を更新するためのURL

サブスクリプションURLは通常、クライアントが複数のノードを取得し、その後も内容を更新するためのURLです。ブラウザーで開けても、返される形式が使用中のクライアントに対応しているとは限りません。インポートに失敗した場合は、更新時のメッセージと形式の互換性を確認してください。URLにアクセス情報が含まれる場合があるため、スクリーンショット、ログ、質問内容を共有する前にURL全体を隠してください。

サブスクリプションと共有リンク

ノード

リモート接続の設定

ノードはクライアントで選択できる接続設定です。通常、サーバーアドレス、ポート、プロトコル、認証情報、トランスポートの設定が含まれます。ノード名は表示用のラベルにすぎず、名前だけで実際の場所、経路、性能を判断することはできません。同じサーバーで複数の設定を提供することもあります。クライアントからノードの記録を削除しても、リモートサーバーが削除されるわけではありません。

サブスクリプションと共有リンク

サブスクリプション変換

設定形式の変換

サブスクリプション変換は、ある形式の内容を解析し、別のクライアントで読み込める形式に変換します。形式を変換しても、コアが対応していないプロトコル機能を追加することはできません。また、フロー制御やトランスポートの拡張項目が失われる場合もあります。オンライン変換サービスにサブスクリプションを送信すると、接続情報を読み取られる可能性があります。まずはクライアントが標準で対応する形式を利用してください。

ルーティングと振り分け

振り分けは通信方針で、ルールはそれを実現する条件です。ルールが適用されるかどうかは、接続にドメイン名の情報が含まれているか、使用するデータファイルに該当の分類があるかにも左右されます。

ルーティングと振り分け

ルーティングルール

マッチ条件とアウトバウンドの選択

ルーティングルールは、ドメイン名、IPアドレス、ポート、インバウンドタグなどの条件に基づいて、接続のアウトバウンドを選択します。通常は記載順に判定されます。前にある広範なルールが適用されると、後続の詳細なルールが使われないことがあります。条件に一致しない通信の動作は、実際の設定によって異なります。問題を調べるときは、ドメイン名がリストにあるかだけでなく、条件、順序、アウトバウンドタグも確認してください。

ルーティングと振り分け

GeoIP

IPアドレスの分類リスト

GeoIPはIPアドレスの範囲を地域や用途別に整理したリストで、ルーティングルールから参照できます。端末のリアルタイムな位置を特定するものではありません。IPアドレスの割り当て変更にデータが追いつかない場合があり、データソースによって内容も異なります。ドメイン名を使った接続が名前解決後にIPアドレスで判定されるかどうかは、DNSの設定によります。すべてのGeoIPルールが自動的に適用されるとは限りません。

ルーティングと振り分け

GeoSite

ドメイン名の分類リスト

GeoSiteはドメイン名をサービス、用途などのカテゴリ別に整理し、関連サイトをまとめてルールから参照できるようにします。利用できるカテゴリや含まれるドメイン名は、現在読み込んでいるデータファイルで確認してください。同じ名前のリストでも、データソースによって内容が異なる場合があります。サイトがログイン、画像、APIに別のドメイン名を使うこともあるため、メインのドメイン名にルールが適用されても、ページ内のすべてのリクエストが対象になるとは限りません。

ルーティングと振り分け

トラフィックの振り分け

接続ごとに異なるアウトバウンドを選択

振り分けとは、接続ごとにルールを適用し、直接接続、プロキシ、ブロックなどのアウトバウンドを選ぶ方針です。「全般」や「ルール」はクライアント画面上の簡略表現で、実際の適用範囲は現在の通信取り込みモードによって異なります。ルールを変更しても、既存の長時間接続は以前の経路を使い続ける場合があります。新しいリクエストを開始し、ログで新規接続が想定したアウトバウンドに進んでいるか確認してください。

暗号化とハンドシェイク

セキュリティ層、認証方式、フロー制御方式は、プロキシプロトコルそのものではありません。プロトコルを選んだ後も、各設定がサーバー側と一致しているか確認する必要があります。

暗号化とハンドシェイク

TLS

トランスポート層セキュリティプロトコル

TLSは通信を暗号化し、接続先の身元を認証します。複数のプロキシプロトコルがTLS上で動作します。クライアントは通常、サーバー名を使って証明書を検証します。接続先のアドレスと検証する名前は異なる場合がありますが、サーバー側の設定に合っている必要があります。証明書の期限切れ、名前の不一致、端末の時刻のずれなどはハンドシェイク失敗の原因になります。検証を無効にして済ませるのではなく、原因を特定してください。

暗号化とハンドシェイク

REALITY

Xrayエコシステムのトランスポートセキュリティ機構

REALITYはVLESSと組み合わせて使われることが多く、VLESSと並ぶ独立したプロキシプロトコルではなく、トランスポートのセキュリティ機構です。サーバーの公開鍵、サーバー名、ショートID、対応するフィンガープリントの設定を確認してください。具体的な項目は使用するバージョンによって異なります。セキュリティの選択肢をREALITYに切り替えるだけでは設定は完了しません。コアが対応していることと、パラメーターが同じサーバー設定に基づいていることも確認してください。

暗号化とハンドシェイク

XTLS Vision

フロー制御方式・代表的な値 xtls-rprx-vision

XTLS VisionはXrayのフロー制御方式の一つで、条件を満たすTLS通信における重複カプセル化のオーバーヘッドを軽減します。単独で選択できるプロキシプロトコルではなく、どのアプリやネットワーク環境でも高速になるわけではありません。クライアントのflow設定は、サーバー側の設定と選択したトランスポートの組み合わせに合っている必要があります。速度向上を期待して、任意のノードにこの項目を追加しないでください。

暗号化とハンドシェイク

AEAD

関連データを伴う認証付き暗号化

AEADはデータの暗号化とメッセージ認証を組み合わせ、内容の機密性を保護するとともに、改ざんを検出します。関連データは暗号化せずに認証へ利用できます。この方式を使う箇所はプロトコルごとに異なるため、あるプロトコルのAEAD設定を別のプロトコルにそのまま流用しないでください。通常のインポートでは元の設定方法とパラメーターを維持すればよく、AEADという名前のノードを追加で作成する必要はありません。