Project Vはプロジェクト群、V2FlyはV2Rayの開発を引き継ぐコミュニティ、XrayはV2Rayから分岐した独立コアプロジェクトです。v2rayN、v2rayNG、v2flyNGは設定や接続を管理するクライアントです。選ぶ際は、まずOSとノードの要件を確認し、クライアントが実際に呼び出すコアを調べましょう。この記事では、関係図や対応表、確認手順を通じて各名称の違いを解説します。クライアントのインストールやサブスクリプションの移行を検討している方におすすめです。
Project V・V2Fly・Xrayの関係
Project Vは、ネットワークプロキシツールを中心に形成されたプロジェクト群で、V2Rayはその中核ツールです。「V2Ray」は、コアプログラムを指す場合も、これらのプロトコルを使うクライアントのエコシステム全体を指す場合もあります。この2つの意味が混同されると、「V2Rayをインストールしたのに、なぜXrayも選ぶ必要があるのか」という疑問につながります。
V2FlyコミュニティはV2Rayの開発を引き継いでおり、そのコアは一般にV2Ray-coreまたはv2flyコアと呼ばれます。Xray-coreは2020年にV2Rayから分岐し、その後独立して開発されています。両者には共通の歴史があり、設定構造にも似た部分がありますが、同じプログラムの新旧名称ではありません。また、すべての機能が自動的に相互反映されるわけでもありません。
Project V プロジェクト群
└─ V2Ray コアツール
├─ V2Flyコミュニティが開発を継続 → V2Ray-core
└─ 2020年に分岐 → Xray-core、独立して開発
クライアント画面
├─ v2rayN → ノード設定とクライアントのバージョンに応じたコアを呼び出す
├─ v2rayNG → Xray-core
└─ v2flyNG → V2FlyのV2Ray-core
図中の矢印は、歴史的な派生元または呼び出し関係を示しており、組織上の所属を表すものではありません。クライアントはサブスクリプションやノードの選択、画面操作を担い、コアは接続や通信、DNS、ルーティングルールを処理します。画面が正常に起動しても、コアが正常に起動したとは限りません。ノードをインポートできても、現在のコアがすべてのパラメーターに対応しているとは限りません。
| 名称 | レイヤー | 選定時の確認事項 |
|---|---|---|
| Project V | プロジェクト群と歴史的背景 | クライアントのインストーラー名ではない |
| V2Fly | コミュニティと開発プロジェクト | 搭載するV2Ray-coreがノードの要件を満たすか |
| Xray-core | 独立したコアプロジェクト | 実際のコアのバージョンと必要な機能への対応状況 |
| v2rayN / v2rayNG / v2flyNG | クライアント画面 | OSへの対応、コアの呼び出し、設定のインポート方法 |
3つのV2Rayクライアントとコアの対応
v2rayNはデスクトップクライアントであり、「V2Ray-coreしか使えない」というわけではありません。さまざまな種類のノードを管理し、クライアントのバージョンやプロトコル、設定に応じて適切なコアを呼び出します。現在の接続で使われているコアを確認するには、メイン画面のタイトルだけで判断せず、コアの種類の設定や起動ログを確認してください。
Android版の違いはより明確です。v2rayNGはXrayコア、v2flyNGはV2FlyのV2Rayコアを使用します。名称の大文字・小文字が技術的な違いを決めるのではなく、コアの実装が違いを左右します。以下のおすすめは「Androidで、ノードがXrayの機能を明確に要求する」場合に限ったものです。すべての端末やネットワークを対象とした性能ランキングではありません。
v2rayNG:AndroidとXray
おすすめXrayコアで接続を処理します。ノードがREALITYなどXrayの機能を必要とする場合は、クライアントに含まれるコアが該当パラメーターに対応しているか確認してください。
おすすめの用途:Android端末で、ノードがXrayの機能を明確に必要とする場合
v2rayN:デスクトップとコアの選択
デスクトップでサブスクリプションとノードを管理できます。利用できるコアの種類はバージョンやノードの種類によって異なります。実際に呼び出されたコアはログで確認してください。
おすすめの用途:Windows、macOS、Linuxのデスクトップで設定を管理する場合
v2flyNG:AndroidとV2Fly
V2FlyのV2Rayコアを使用します。サーバー設定がこのコアに対応している場合に適しており、Xray専用の設定をそのまま流用しないでください。
おすすめの用途:Android端末で、V2Flyコアを前提とした設定を使う場合
結論:ノードの要件を先に確認してからクライアントを選ぶ
設定の提供元にプロトコル、トランスポート、セキュリティ層の要件を確認してから、クライアントとコアの対応状況を調べましょう。ログに未対応フィールドが表示されている場合は、システムプロキシを何度も変更するのではなく、まず互換性の問題を解決してください。
V2Rayのプロトコル選び:プロトコル名だけでは設定はわからない
VMessとVLESSはプロキシプロトコル、WebSocketやgRPCなどはトランスポート方式、TLSとREALITYは接続のセキュリティ層に関わるものです。それぞれ異なるレイヤーにあります。「VLESSプロトコル」と書かれているだけで、VLESS対応のクライアントならどれでもそのノードを使えるとは限りません。トランスポートやセキュリティ層、関連する拡張フィールドも確認が必要です。
VLESS自体には、VMessと同じプロトコル層の暗号化機能がありません。通常は適切なセキュリティ層と組み合わせて使用します。REALITYはXrayエコシステムのセキュリティ層の方式であり、一般的なTLSのチェック項目として置き換えることはできません。また、VMessだからといって「古いコアでしか使えない」わけではありません。互換性は双方の実装とパラメーターに基づいて判断してください。
- プロトコル層:VMessかVLESSかを確認します。ノードのメモ欄の名前だけで判断しないでください。
- トランスポート層:TCP、WebSocketなどのトランスポート方式を確認し、パスやHostなど必要な項目も確認します。
- セキュリティ層:TLSかREALITYかを確認し、サーバー名と対応する検証パラメーターを確認します。
- 拡張フィールド:flowが設定に含まれている場合は、現在のコアがその値に対応しているか確認します。エラーを解消するために、安易に削除しないでください。
サブスクリプションのインポート:リストの同期とローカル設定は別
サブスクリプションが提供するのは通常、ノードの接続情報であり、端末のプロキシ設定全体を引き継ぐわけではありません。同じサブスクリプションを使えば、異なるクライアントでも似たノード一覧を取得できますが、ルーティング、DNS、アプリごとのルール、プロキシモードは多くの場合ローカル設定で決まります。サブスクリプションの形式によってはフィールドの解析方法も異なるため、インポート後にノードを1つ開いてパラメーターを確認してください。
設定例:同じサブスクリプションを使い、両方の端末で設定を確認
デスクトップ:v2rayN
- 「サブスクリプショングループ設定」でグループ名とアドレスを保存します。
- サブスクリプションを更新したら、ノードのプロトコルと現在のコアの種類を確認します。
- 用途に応じてシステムプロキシまたはTUNを選び、Androidの設定をそのまま流用しないでください。
Android:v2rayNG
- 「サブスクリプショングループ設定」にサブスクリプションのアドレスを入力して保存します。
- 一覧に戻り、メニューから「サブスクリプションを更新」を実行します。
- 初回接続時にAndroidのVPN接続許可を確認し、その後アプリごとのプロキシ設定を確認します。
同じサブスクリプションを使うとノードの管理は簡単になりますが、両方の端末で同じ一覧が表示されるかは、更新のタイミングと解析への対応状況によって異なります。ローカルのルーティングとプロキシルールは、それぞれ個別に設定してください。
v2rayNGでサブスクリプションをインポートしても一部のノードしか表示されない場合は、まずサブスクリプションの内容とノードの種類を確認し、その後、更新エラーや解析エラーを調べてください。メニュー名はバージョンによって変わる場合があるため、該当する機能を探してください。すぐにコアの破損と決めつけないでください。また、アドレスに認証情報が含まれている可能性があるため、サブスクリプションのURLを公開のフォーラムに投稿しないでください。
- 既存の利用可能なノードをトラブル調査中に上書きしないよう、元のグループを残してテスト用グループを新規作成します。
- 更新後、利用できることがわかっているノードを1つ選び、プロトコル、トランスポート、セキュリティ層を確認します。
- 同じノードをそれぞれのクライアントで接続し、ログを比較します。異なるノードでの結果をクライアント間の違いと混同しないでください。
v2rayNのTUNモードとローカルポートの違い
システムプロキシは通常、システムのプロキシ設定に従うアプリにプロキシの接続先を提供します。一方、TUNは仮想ネットワークインターフェースを通じて通信を受け取ります。v2rayNのTUNモードは、クライアントが提供する関連コンポーネントや権限、ルーティング設定に依存します。現在のノードがXrayを使っているからといって、TUNも同じコアが直接処理しているとは限りません。
コマンドラインツールは、独自のプロキシ引数や環境変数を参照する場合もあります。調査では、まずアプリの通信がローカルの接続先に届いているかを確認し、その後、接続先からノードまでを調べてください。以下の数値は手動設定の例であり、3つのクライアント共通の初期値ではありません。使用前に端末の設定を確認してください。
- リスニングを確認:v2rayNの「設定」→「パラメーター設定」でローカルのリスニングポートを確認します。画面の構成が変わっている場合は、該当するインバウンド設定を探し、起動ログでも確認してください。
- プロトコルを合わせる:ツールのHTTPプロキシ引数はHTTPの接続先に、SOCKSの引数はSOCKSの接続先に指定します。混合型の接続先を使う場合は、実際に対応しているプロトコルを確認してください。
- 競合を防ぐ:複数のクライアントを試す場合は、同じポートが使用中にならないよう、前のクライアントを終了してから次を起動してください。
- 権限を確認:TUNを確立できない場合は、関連コンポーネントと権限を確認します。通常のシステムプロキシが機能しない場合は、まずリスニング設定とアプリ側の設定を確認してください。
V2Rayノードの速度測定:まず問題のレイヤーを切り分ける
遅延テスト、Webページへのアクセス、ダウンロード速度のテストでは、それぞれ異なるものを測定します。TCP接続の確立に成功したことからわかるのは、特定のアドレスとポートに到達できたことだけです。プロトコル認証やトランスポートの設定、リモート側の出口が正常である証明にはなりません。V2Rayノードの速度を測る際は、コアのログと実際のアクセス結果を併せて確認し、ノード一覧の数値だけで判断しないでください。
- 手順1:コアの起動を確認。まずポートの競合、設定の解析エラー、未対応フィールドなどを確認します。これらはローカルで発生する問題のため、リモートのノードを変更しても通常は解決しません。
- 手順2:リモート接続を確認。次に、接続タイムアウト、TLSハンドシェイクの失敗、認証エラーを確認します。サーバー名の不一致や認証情報の誤りは、プロキシモードの変更ではなく、パラメーターの修正が必要です。
- 手順3:実際のリクエストを確認。同じノードで同じWebページに繰り返しアクセスし、時刻、ネットワークの種類、成否を記録します。1回の結果だけでコアの速度を判断しないでください。
- 手順4:DNSとルーティングを確認。特定のドメインだけアクセスできない場合は、適用されたアウトバウンドタグとDNSの結果を確認し、ルールによって直接接続または別のアウトバウンドに振り分けられていないかを調べます。
結論:同じノードで比較してから移行を検討
現在使えているクライアントの設定を残し、新しいクライアントでは同じノードの全パラメーターを確認します。ローカルの接続先、ノードのパラメーター、テスト対象がすべて一致して初めて、比較結果からクライアントやコアを変更すべきか判断できます。
エコシステム選びのよくある質問
v2rayNをインストールしたら、V2Rayも別途インストールする必要がありますか?
まず、選択した配布パッケージに必要なコアが含まれているか確認し、ノードを起動してログを確認してください。コアファイルが見つからないというエラーが出る場合は、該当するインストール手順に従ってコンポーネントを追加します。クライアントから呼び出せないプログラムを重複してインストールしないでください。
v2rayNGとv2flyNGの設定はそのまま入れ替えて使えますか?
一般的なノード情報には両方で使える項目もありますが、カスタム設定全体の互換性は保証されません。テスト用の設定を作成し、まずプロトコルとセキュリティ層を確認してから、ルーティングとDNSを確認してください。Xray専用フィールドを含む設定をV2Flyコアにそのまま渡さないでください。
同じVLESSノードなのに、片方のクライアントでは接続できて、もう片方ではできないのはなぜですか?
それぞれのクライアントでノードの編集画面を開き、トランスポート方式、セキュリティ層、サーバー名、flowを比較してください。次に起動ログを確認し、実際に使われているコアを特定します。REALITYを使う場合は、必要なパラメーターがすべて設定され、コアが対応しているかを重点的に確認してください。
v2rayNGのダウンロード先やデスクトップ版の入口はどこですか?
このサイトのクライアントページを開き、AndroidまたはデスクトップOSに合ったリンクを選択してください。インストール後、まずノードを1つインポートして接続をテストしてから、すべてのサブスクリプションとルールを移行します。具体的な手順は入門ガイドを参照してください。
クライアント選びは、OS、ノードに必要な機能、クライアントとコアの対応関係、ローカルのプロキシとルーティング設定の順に確認するとスムーズです。Project Vの歴史を知ると各名称の背景を理解できますが、設定が実際に使えるかどうかは、現在のインストールパッケージ、ノードのパラメーター、ログを併せて確認してください。