Project VとV2Rayの技術的な背景
Project Vはプロキシ通信に関連するツールやコンポーネントを展開しており、V2Rayはそのエコシステムで広く使われている名称です。実際の利用では、GUIクライアントからサーバーを取り込み、コアを起動してプロキシ設定を管理するのが一般的です。すべての動作パラメーターを直接編集する必要はありません。コアはプロトコル、トランスポート、ルーティングなどを処理し、GUIクライアントはよく使う操作を画面上にまとめます。この役割分担を理解すると、画面を変えてもプロトコルの機能が変わるとは限らない一方、コアを切り替えると設定が受け付けられない場合がある理由がわかります。
日常会話で「V2Rayの設定」と呼ばれるものには、サーバーの共有リンク、クライアントに保存されたサーバー情報、コアが読み込むJSONファイルなど、複数の種類があります。これらをそのまま混同してはいけません。共有リンクには通常、サーバー1台分の情報が含まれます。サブスクリプションは複数のサーバー情報を配布するためのもので、コア設定にはローカルのインバウンドやルーティングも含まれます。問題を調べる前に、どの種類の情報を指しているのかを確認すると、クライアントのサブスクリプション設定をコア設定に誤って書き込むといった混乱を避けられます。
V2FlyとXrayの関係
V2FlyはV2Ray関連コアのコミュニティでの開発を引き継ぎ、Xrayは共通の技術基盤から独自の実装や機能を発展させてきました。共通する概念や設定方法もありますが、すべての項目、プロトコルの組み合わせ、トランスポートの動作が完全に一致するとは限りません。名前や画面の見た目ではなく、既存のサーバー設定に必要な機能と、クライアントに実際に組み込まれているコアを基準に選びましょう。
たとえば、サーバーのプロトコル名が同じでも、トランスポート層やセキュリティ設定、拡張機能の違いによって、特定のコアが必要になる場合があります。設定を読み込めない、または起動できない場合は、エラーに記載された項目名や機能名を確認し、その設定がどの環境に対応するかを調べましょう。サーバーに接続できないと決めつけると、コアが設定を受け付ける前の段階で起きている問題を見落とすことがあります。
3つのGUIクライアントの役割
v2rayNはデスクトップ向けの設定・実行クライアントで、当サイトで紹介する3種類のデスクトップOSに対応しています。利用できる機能は配布パッケージやコアの設定によって異なります。v2rayNGはAndroid端末向けで、当サイトではXrayコアを使う一般的な方法を紹介しています。v2flyNGはV2Flyコアを使いたい場合の選択肢です。いずれもオープンソースのクライアントで、公開されている実装や設定の動作を確認しながら使えますが、サーバーサービスではなく、利用可能なサブスクリプションを自動で生成するものでもありません。
あるクライアントで正常に動作している設定を別のクライアントへ移す場合も、インポート形式、ルーティングルール、通信の取り込み方を確認してください。サーバー情報をインポートしても、システムプロキシ、アプリごとの設定、ローカルのカスタムルールまで自動で移行されるわけではありません。移行後は、まずサーバー1台と対象アプリ1つで動作を確認し、その後でグループや振り分け設定を戻すと、違いを特定しやすくなります。クライアントの選び方はクライアント比較をご覧ください。
オープンソースライセンスと更新の違い
Project Vのエコシステムに含まれるプロジェクト、コア、GUIクライアントは、それぞれ異なるオープンソースライセンスを採用している場合があります。たとえばV2FlyのV2RayコアとXrayコアはMPL 2.0を採用していますが、GUIクライアント本体や同梱コンポーネントについては、それぞれのライセンスを確認してください。オープンソースライセンスは、コードの利用、変更、再配布に関する条件を定めるもので、サブスクリプションの提供元が定める利用規約やサーバーの稼働状況とは別です。認証情報、アクセス権、サーバー設定は利用者自身で管理する必要があります。
クライアントの更新、コアの更新、サブスクリプションの更新は、それぞれ別の操作です。クライアントの更新は画面や管理方法を変える場合があり、コアの更新は設定の読み込みやプロトコルの動作に影響することがあります。サブスクリプションの更新は、主にサーバー情報を更新します。動作が変わった場合は、まずどの種類の更新を行ったか記録し、更新前に保存した設定と比較してください。クライアント、コア、DNS、ルールを同時に変更してからテストすると、接続経路が変わった原因を特定しにくくなります。