PROJECT V
共通の技術基盤とコミュニティの歩み
Project Vでは、プロキシ接続、通信、ルーティングに関する技術が組み合わせて使える形で提供されています。その中でもV2Rayは広く利用されている主要プロジェクトです。コミュニティの発展に伴い、V2FlyはV2Rayコアの保守を引き継ぎ、Xrayは共通のコード基盤から独立した開発ブランチとして発展しました。両者には共通する概念が一部残る一方、それぞれの機能や設定上のルールも生まれています。こうした関係を理解する際、プロジェクト名を同じプログラムの別テーマのように捉えないようにしましょう。
GUIクライアントはコアとは別に、設定編集、共有リンクのインポート、サブスクリプショングループの管理、実行制御などを提供します。ユーザーが見る設定画面は通常クライアントのもので、実際に接続を確立しルーティングを実行するのは基盤となるコアです。そのため、同じサブスクリプションが複数のクライアントで似たように表示されても、生成されるコアの設定が完全に同じとは限りません。インポート機能が特定の項目を認識できるかどうかも、互換性の一部です。
XRAY / V2FLY
機能の違いと設定の互換性
XrayとV2Flyはいずれも複数のプロキシ設定を扱えますが、対応範囲はそれぞれのリリースによって異なります。コアを選ぶ際は、名前から速度を推測するのではなく、サーバーが指定するプロトコル、通信方式、セキュリティ層、必要な拡張機能を先に確認してください。REALITYなどの機能を使う場合は、利用する実装とパラメーターの要件を確認しましょう。別のコア向けの設定を丸ごとコピーしても、すべての項目が同じように解釈されるとは限りません。
プロトコル名は性能の順位を示すものではありません。同じ種類のプロトコルでも、ネットワーク経路、通信方式の組み合わせ、端末の負荷、サーバーの条件によって動作は変わります。モバイル端末のバッテリー消費は、接続の維持、バックグラウンド制限、通信の取り込み方法にも左右されます。まず互換性を確保し、同じ端末と実際の利用環境で比較するのが堅実です。体系的に選びたい場合はプロトコルガイドを読み、設定要件に応じて候補を絞り込んでください。
OPEN SOURCE
3つのクライアントとオープンソース
v2rayN、v2rayNG、v2flyNGはいずれも、クライアントのコードをオープンソースとして公開しています。デスクトップ向けのv2rayNは、設定、サブスクリプション、ルーティングの管理を重視しています。Android向けのv2rayNGは主にXrayコアに対応し、同じくAndroid向けのv2flyNGはV2Flyコアを選びたい場合に利用できます。3つは同一の画面を単に改名したものではありません。設定画面、インポート処理、プラットフォームごとの権限も、そのまま相互に当てはめることはできません。
オープンソースライセンスは、コードの利用、改変、再配布に関する条件を定めるもので、あらゆるネットワーク環境での動作を保証するものではありません。コアでは、Xray-coreがMPL-2.0、V2Flyが保守するv2ray-coreがMITライセンスを採用しています。クライアントや依存コンポーネントのライセンスも個別に確認してください。オープンソースに関する情報を読む際は、ダウンロードパッケージ全体を一つのライセンスとして扱うのではなく、クライアント、コア、同梱される依存コンポーネントを区別することが大切です。
MAINTENANCE
更新対象と移行の手順
クライアント、コア、サブスクリプション、ルールデータの更新は、それぞれ異なる問題に対応します。クライアントの更新では画面や設定生成方法が変わることがあり、コアの更新では接続機能や設定項目の解釈が変わる場合があります。サブスクリプションの更新はリモートの設定を取得し、geositeやgeoipなどのデータ更新はルールの適用範囲に影響します。サブスクリプションを更新しただけで、すべてのソフトウェアコンポーネントがアップグレードされるわけではありません。反対に、クライアントを更新してもリモートの接続設定が最新になるとは限りません。
既存の設定で接続できている場合は、更新前に使用中の接続、サブスクリプショングループ、ルーティング、DNSの設定を記録し、設定変更に関する説明を確認してください。更新後はまず基本の接続を確認し、次にルーティングと特定のアプリでの動作を検証します。コアの変更、ルールの編集、新しい通信取り込み方式の有効化を同時に行うのは避けましょう。見慣れない用語は用語クイックガイドで定義を確認できます。インポートや接続でエラーが出た場合は、FAQから発生段階に応じた情報を探し、すべての問題をプロトコルのせいにしないようにしましょう。