Project Vから生まれたツールとプロトコルのエコシステム
Project Vは初期に、V2Rayコアプログラム、設定構造、複数のプロキシプロトコルを中心とした、組み合わせ可能なネットワークツールの体系を築きました。一般的な設定は、インバウンド、アウトバウンド、ルーティング、DNS、ログ、トランスポートなどで構成されます。グラフィカルクライアントがこれらの基本概念を変えるわけではなく、よく使うフィールドをフォーム、メニュー、サブスクリプション管理画面に整理し、インストール、更新、切り替えを一か所で行いやすくしています。
エコシステムにおける「V2Ray」は、コアプログラム、設定方法、一種のクライアントを同時に指すことがあり、概念が混同されがちです。より正確には、v2rayN、v2rayNG、v2flyNGは利用者が直接操作するグラフィカルクライアント、V2FlyとXrayは設定を実行するコアの系統、VMess、VLESS、Trojan、Shadowsocksなどはクライアント設定に現れるプロトコル種別です。
V2FlyとXrayのコア系統
V2FlyはV2Ray Coreのコミュニティによる保守方針を引き継ぎ、成熟したJSON設定体系を維持しながら、一般的なインバウンド、アウトバウンド、ルーティング、トランスポート機能を継続的に保守しています。Xrayは近い設定を基盤に、一部のプロトコルやトランスポート機能を拡張しています。基本フィールドの構造には共通点がありますが、「構造が似ている」ことを、すべてのフィールドをそのまま置き換えられるという意味に解釈してはいけません。
サブスクリプションを利用すると、クライアントは通常、共有リンクやサブスクリプションの内容をコアが読み取れる設定に変換します。特定の拡張フィールドが含まれている場合、選択したクライアントのコアと、そのコアが対応するフィールドの範囲が取り込み結果に影響します。項目を認識できないときは、まずプロトコル種別、トランスポート方式、コアの対応状況を確認し、そのうえでサブスクリプション形式の問題かどうかを判断してください。
オープンソースライセンスとコミュニティによる保守
v2rayN、v2rayNG、v2flyNG、および関連するコアは、公開コードとオープンソースライセンスのもとで保守されています。オープンソースライセンスは、コードの利用、変更、再配布に関する範囲を定めると同時に、設定形式、プロトコル実装、問題修正を継続的に検証できるようにします。各プロジェクトはそれぞれのメンテナーが更新を公開するため、クライアントとコアのリリース時期が完全に一致するとは限りません。
クライアントの更新では、UI、サブスクリプション解析、システムプロキシ制御、ルーティング編集、コア対応などが変更されることがあります。コアの更新は、プロトコル実装、設定フィールド、トランスポート、実行動作に重点が置かれます。ダウンロードページではクライアントの最新リリース情報を示し、技術リファレンスでは機能の違いを説明します。すべての変更を追い続ける必要はありませんが、新しいプロトコル設定を取り込む前に、クライアントとコアが互いに対応する保守範囲にあるか確認してください。
3種類のクライアントの位置づけ
v2rayN はWindows、macOS、Linuxのデスクトップ環境向けで、サブスクリプショングループ、サーバー一覧、システムプロキシ、ルーティングルール、複数コアの管理などに対応します。デスクトップ端末の主な選択肢です。各OSで設定の考え方は近いものの、パッケージ形式、システムプロキシの権限、起動方法はプラットフォームによって異なります。
v2rayNG はAndroid向けで、通常はXrayコアと組み合わせて使用します。VLESS、VMess、Trojanなど一般的な設定形式を利用したいモバイル端末に適しています。サブスクリプション更新、個別の共有リンクの取り込み、QRコードの読み取り、アプリごとのプロキシなどに対応しますが、利用できるフィールドはクライアントとコアの対応範囲によって異なります。
v2flyNG もAndroid向けで、V2Flyコアを採用しています。V2Flyの設定仕様を使いたい場合や、既存のV2Fly設定との整合性を重視する場合に適しています。2つのAndroidクライアントはUIとコアの重点が異なるため、サブスクリプションの内容と設定互換性を基準に選んでください。