Project VとV2Rayの関係
Project Vは、ネットワーク通信向けのツールやコンポーネントを開発するプロジェクトの総称です。V2Rayはその中で広く使われているコアの名称です。カーネルは接続の受け付け、プロトコルの解析、ルーティングの判定、outboundの確立を担います。GUIクライアントは、これらの機能を操作しやすい設定画面にまとめます。そのため「V2Rayをインストールする」と言うと、実際にはカーネルを管理するクライアントをインストールする意味で使われることがよくあります。特定のメニューやサブスクリプション操作で困ったときは、V2Rayという総称だけでボタンを探さず、まず使用中のクライアントを確認してください。
この階層を理解すると、同じ技術資料でもクライアントごとの画面に合わせた説明が必要な理由が分かります。カーネルのドキュメントは項目が有効かどうかを扱い、クライアントのドキュメントは画面から項目をどう生成するかを扱います。両者が解決する問題は異なります。クライアントでカーネルを選び、設定を生成してプロセスを起動できても、異なるカーネルの機能がすべて共通になるわけではありません。当サイトでは初回インストールと基本操作を使い方ガイドに、JSON項目の構造や依存関係を設定リファレンスにまとめ、問題のある階層に合わせて参照できるようにしています。
V2FlyとXrayの派生関係
V2FlyはV2Rayコミュニティが保守する主要なプロジェクトの一つです。Xrayは関連コードを基に発展したカーネルの派生系です。共通する歴史や設定の概念がある一方で、プロトコルの実装、トランスポート機能、項目の制約はそれぞれ進化しています。JSONの例を読むときは、まずinbounds、outbounds、routingなどの共通構造から役割を把握し、各項目が使用中のカーネルでサポートされているかを確認してください。ルート項目の名前が同じでも、内部の設定を自由に置き換えられるとは限りません。
カーネルは派生名や一般的な性能評価だけで選ばず、既存の設定要件を基準にしてください。サーバーが要求するプロトコル、安全性の層、トランスポートの組み合わせが、クライアント側のカーネルでサポートされている必要があります。どれか一つでも対応していなければ、画面上で設定を保存できても接続できません。派生系固有の拡張機能を使う場合は、対応する説明を確認し、実行中のカーネル情報を記録しておきましょう。互換性の問題では、「項目が認識されない」のか「項目は認識されるが接続できない」のかを切り分けると、無関係な設定変更を減らせます。
3つのオープンソースクライアントの役割
v2rayNはWindows、macOS、Linuxのデスクトップ向けで、サーバー管理、サブスクリプショングループ、システムプロキシ、ルーティングなどの操作機能を提供します。選べるカーネルはクライアントの機能によって異なります。v2rayNGはAndroid向けでXrayカーネルを使用し、v2flyNGはAndroid向けでV2Fly系のカーネルを使用します。いずれもオープンソースですが、GUI、権限の仕組み、設定の保存方法は異なります。デスクトップ版の画面をAndroidのメニュー位置の参考にしないでください。設定を移行する際は、作業ディレクトリをそのままコピーするより、接続パラメーターを確認しましょう。
オープンソースであることは、実装やライセンス条件を確認できることを意味しますが、設定の妥当性を保証するものではありません。クライアント、カーネルの実行ファイル、実行時に使うデータファイルは、それぞれ異なるオープンソースライセンスが適用される場合があります。V2Flyのv2ray-coreはMITライセンス、Xray-coreはMPL-2.0ライセンスです。クライアントや依存コンポーネントの再配布条件は、それぞれのライセンス文書を確認してください。利用時は、単にオープンソースかどうかだけで判断せず、配布元、機能の範囲、設定の互換性を確認しましょう。
クライアント、カーネル、サブスクリプションは別々に更新
クライアントの更新では画面や設定生成の仕組みが変わり、カーネルの更新ではプロトコルの実装や必要な項目が変わる場合があります。サブスクリプションの更新で主に取得するのはリモートサーバー情報です。対象の異なる更新を混同しないでください。「サブスクリプションを更新した」からといってプログラム自体も更新されたわけではなく、クライアントを更新しても無効なサブスクリプションURLが自動修復されるとは限りません。更新前に使用中の設定を記録し、必要な設定をエクスポートしてください。更新後は起動ログ、カーネルの選択、ルーティング用データの読み込み状況を確認し、実際のアプリからリクエストを送って動作を検証します。
ダウンロードページではOS別の入手先とインストール方法を案内し、トップページでは基本的な使い方を紹介します。ここではクライアントのバージョンを固定していません。設定の問題は、実際にインストールしたクライアント、現在動作しているカーネル、サーバー側の要件を照らし合わせて判断してください。ドキュメントのJSON例は構造を説明するためのもので、実行環境の既定値や生成方法、対応範囲は個別に確認が必要です。こうした前提を理解しておくと、インストール、移行、トラブル対処の対象を絞って確認でき、設定画面を行き来しながら試行錯誤せずに済みます。