エコシステムの成り立ち:Project Vから各コアへ
Project Vは、ネットワーク通信ツールを中心とするオープンソースプロジェクト群で、V2Rayはその主要な実装の一つです。V2FlyコミュニティはV2Ray関連の実装を継続して保守し、Xrayは関連コードを基盤に独立したコアとして発展しました。両者は共通する概念や設定の伝統を持ちますが、その後の機能、プロトコル拡張、実装の細部はそれぞれ進化しています。名前だけが異なると単純に捉えることはできません。
日常の検索で「V2Ray クライアント」と呼ばれるものは、このエコシステムのGUIツールを指すことが多く、すべてが同じコアで動作するわけではありません。サーバー側の設定で特定のプロトコル拡張が必要な場合は、アプリ名にV2Rayが含まれるかではなく、実際に使うコアが対応しているか確認してください。設定項目が似ていても、そのまま相互に使えるとは限りません。
ガイドを読む際は、GUIメニューとコアの設定ファイルも区別しましょう。メニューのスイッチ一つが、内部では複数の設定項目を生成することがあります。設定ファイルを直接編集しても、次回GUIから保存したときに内容が再生成される場合があります。日常の管理にはGUIを使い、カスタム設定を加える場合は、クライアントが設定を生成・統合する方法を先に確認してください。
3つのクライアント:GUIとコアの役割
v2rayNはデスクトップ向けで、サーバー管理、サブスクリプション更新、ルーティング選択などを行い、対応するコアを呼び出して接続を処理します。v2rayNGはAndroid向けでXrayコアを使用し、v2flyNGはV2FlyベースのAndroidクライアントを提供します。いずれもオープンソースソフトウェアですが、実際の使い方はそれぞれのGUIと搭載コアに合わせて判断してください。
GUIは主に設定管理を担います。登録元の保存、サーバーの選択、実行パラメーターの生成、情報の表示などが役割です。コアはプロトコルのハンドシェイク、通信、名前解決、ルーティングを処理します。GUIでサブスクリプションを読み込めても、コアがすべての組み合わせに対応するとは限りません。同様に、コアの起動に失敗しても、サブスクリプションURLが誤っているとは限らず、パラメーターや実行条件が要件を満たしていない可能性があります。
デスクトップとモバイルでは通信の入口も異なります。デスクトップではシステムプロキシを使うことが多く、モバイルでは通常、システムのVPN権限が必要です。設定を移行するときは、まず同じサーバー設定だけを移して接続を確認し、その後グループやルールなどを設定しましょう。プラットフォームごとの通信制御方式を、そのまま置き換えられる設定として扱わないようにしてください。
オープンソースライセンス:構成要素ごとに確認
オープンソースとは、ソースコードが各ライセンスに基づいて公開され、その条件の範囲内で利用、調査、再配布できることを意味します。V2FlyのV2RayコアはMITライセンス、XrayコアはMPL 2.0ライセンスを採用しています。GUIクライアントや依存ソフトウェアにも、それぞれ個別のライセンスがあります。ソフトウェアのライセンスを確認する際は、クライアント、コア、同梱コンポーネントを区別し、一つのライセンスをソフトウェア全体に当てはめないようにしましょう。
一般ユーザーにとって、オープンソースであることはプロジェクトの出自や技術的な仕組みを理解する手掛かりになりますが、個別の設定確認に代わるものではありません。サブスクリプションの登録元がサーバー情報を決め、サービスの運営者が利用条件を定め、クライアントがローカルでの接続と管理を担います。それぞれが連携しても役割は異なり、クライアントをインストールしただけで有効なサブスクリプションやサーバーが用意されるわけではありません。
問題を共有するときは、プロトコルの種類、OS環境、エラー情報を示せば、通常は十分です。サブスクリプションURL全体、識別情報、非公開の接続パラメーターを公開しないでください。ドキュメントに掲載されている設定例は構成を説明するためのもので、実際に接続できるサービスではなく、登録元から提供された情報の代わりにもなりません。
更新の進め方:互換性を確認してから設定を変更
クライアントのGUI、コアのプログラム、サブスクリプションの内容、ルーティングデータは、それぞれ別々に変わることがあります。クライアントを更新してもサブスクリプションが変わるとは限らず、サブスクリプションの更新もコアのアップグレードを意味しません。接続状況が変わったら、まず直近でどの層を変更したか記録し、対象を絞って確認しましょう。画面の見た目やファイルの日付だけでは、実行中のコアが設定要件を満たすか判断できません。
更新前に現在動作している設定を保存し、インストール形式、権限、データ保存先の説明を確認してください。更新後は元のサーバーとモードでテストし、新機能は一つずつ有効にします。コアの起動に失敗した場合は、まず起動情報と設定の互換性を確認しましょう。特定のサブスクリプションだけに問題があるなら、登録元から返された内容を先に確認し、クライアント全体をすぐに再インストールする必要はありません。
応用設定を行う場合は、変更したルーティング、DNSの方式、TUNの状態を簡単に記録しておきましょう。元に戻す際に変更と逆の順序で解除すれば、システムプロキシや仮想インターフェースの設定が残るのを防げます。さらに調査する場合は、同じサブスクリプションを何度も追加するのではなく、「アプリの入口、名前解決、ルール照合、サーバー接続」の順にガイドを確認してください。