Project Vとコアファミリー
Project Vは、ネットワークプロキシ関連のコンポーネントから成るオープンソースエコシステムで、V2Rayはその中で広く使われているコア実装です。V2FlyはV2Rayのコミュニティ開発を引き継ぎ、Xrayは関連するコードを基盤に独自のコアとして発展しています。共通する設定概念もありますが、プロトコル拡張、項目の対応状況、既定の動作には、それぞれの開発に伴う違いがあります。すべてを同じコアとして扱うと、設定の読み込みやドキュメントの確認時に、適用範囲を見落とすおそれがあります。
コアはプロトコル処理、トランスポートの確立、ルール照合、名前解決などを担当します。GUIクライアントはそれらの機能を、ノード一覧、サブスクリプショングループ、設定画面としてまとめます。画面に項目があっても、選択したすべてのコアが同じ方法で解釈するとは限りません。互換性の問題を調べるときは、共有リンクの先頭だけで設定全体を判断せず、使用中のクライアントとコアを記録してから、対応する項目の説明を確認してください。
3つのクライアントの役割
v2rayNはデスクトップ向けのオープンソースGUIクライアントで、ノードの読み込み、サブスクリプションの更新、ルーティング管理、システムプロキシの操作に対応しています。一般的な設定を画面から管理できる一方、カスタム設定も利用できます。コアの切り替えやノードタイプの変更後は、生成されたトランスポートとセキュリティ層のパラメーターを再確認してください。ノード情報が保存されていても、接続先サーバーがその機能に対応しているとは限りません。
v2rayNGはAndroid向けのオープンソースクライアントで、Xrayコアを使用します。v2flyNGはV2Flyコアを採用した別の互換ルートの選択肢です。画面上の操作が似ていても、すべての拡張項目を相互に使えるとは限りません。既存の設定要件を確認したうえで、サブスクリプション形式、アプリごとの通信振り分け、バックグラウンドでの使い勝手を比較してください。デスクトップとスマートフォンで同じサブスクリプションを使う場合も、ローカル待ち受けやシステムへの通信の受け渡しは端末ごとに設定する必要があります。
オープンソースライセンスと機能の確認
V2FlyコアはMITライセンス、XrayコアはMPL 2.0ライセンスを採用しています。クライアントとその依存コンポーネントにも、それぞれのライセンスが適用されます。オープンソースであることは、ライセンスの範囲内でコードを閲覧、使用、変更できるという意味であり、すべてのコンポーネントが同じペースでリリースされるという意味ではありません。ライセンス情報はソフトウェアの使用条件や配布条件を理解するためのもので、個々の機能、動作環境、設定内容の確認に代わるものではありません。
クライアントは接続に使うツールであり、利用可能なリモートサービスを自動で用意するものではありません。サーバーアドレス、認証情報、関連パラメーターは利用者自身で用意する必要があります。トップページに掲載したサンプルアドレスは項目の説明用で、ルーティングの例も照合方法を示すものです。学習用に例を使う場合は、構造の説明と既存サービスの値に置き換える必要がある項目を見分け、サンプル設定を完全なノードとして使わないようにしてください。
アップデートと設定の管理
クライアントの画面、コア、ルーティング用データファイルは、それぞれ別に更新されることがあります。クライアントの更新後に一部の項目が再生成されたり、ルールデータの更新後に同じ分類名に含まれるドメインやアドレスが変わったりする場合があります。設定の入手元とカスタム内容を分けて記録し、重要なルールには内容が分かるメモを残してください。動作が変わった場合は、まず生成された設定とログを比較してから、設定を戻すか判断しましょう。
サブスクリプションはリモートのパラメーターをまとめて更新するのに適しています。一方、バックアップでは端末側の設定も保存する必要があります。両者は代用できません。サブスクリプションに、システムプロキシの設定、アプリごとの通信振り分け、手動で追加したルーティングルールが含まれるとは限りません。端末間で移行する際は、再利用できるノード情報と、端末固有の待ち受け、権限、自動起動設定を分けて整理してください。このサイトでは設定リファレンスを項目別に、チュートリアルを操作順にまとめています。問題に合わせて参照先を選べます。