画面で管理し、コアが接続を処理
Project Vのエコシステム
V2RayはProject Vのエコシステムに属するネットワークプロキシツールです。設定は受信、ルーティング、送信の3つに分けて考えられます。受信がアプリからのリクエストを受け付け、ルーティングが条件に照らして振り分け、送信が接続を実行します。DNS、ポリシー、ログは、それぞれ名前解決、接続動作、実行記録を補います。この構造を把握することがconfig.jsonを読む基本です。
V2Fly
V2Rayのコミュニティ開発を引き継ぎ、コアと関連する設定機能を保守しています。
Xray
V2Rayのエコシステムから派生した別のコア系統で、独自のプロトコルとセキュリティ機構を発展させています。
設定の見た目が共通でも、構文まで完全に同じとは限りません。項目が認識されない場合は、ノードの不具合と決めつけず、まずコアの種類と対応範囲を確認してください。特にプロトコル拡張、トランスポートのオプション、セキュリティ層の組み合わせは、各コアの対応状況に基づいて判断する必要があります。
3つのGUIクライアントの違い
v2rayNはデスクトップ向けで、サブスクリプション、ノード、ルーティング、選択可能なコアをまとめて管理できます。v2rayNGはAndroid向けでXrayコアを採用し、v2flyNGはV2Fly系のAndroid向けクライアントです。いずれもオープンソースですが、クライアント名はプロトコル名ではありません。また、クライアントが更新されても、コアの機能がすべて同じように更新されるとは限りません。
GUIではよく使う操作を選択肢としてまとめていますが、実行時にはコア用の設定が生成されます。そのため、画面上の1つのスイッチが複数のJSON項目に影響する場合があります。逆に、低レベルの設定すべてにGUIからアクセスできるとは限りません。独自設定が必要な場合は、クライアントが実行ファイルをどのように保存、生成、上書きするかを確認してから編集しましょう。画面から再生成された内容で変更が失われるのを防げます。
オープンソースライセンスとコミュニティによる保守
オープンソースとは、各ライセンスに定められた条件のもとで、ソースコードの利用、調査、改変ができることを指します。すべてのコンポーネントが同じライセンスとは限りません。V2FlyとXrayのコアコードは主にMPL-2.0を採用していますが、クライアント、依存ライブラリ、同梱コンポーネントのライセンスはそれぞれ確認してください。改変や再配布を行う場合は、著作権表示やソースコードの提供など、各プロジェクトの条件に従う必要があります。「無料」というだけで利用条件を判断することはできません。
コミュニティでは、画面の改善、設定への対応、コアの更新がそれぞれ進められています。更新内容を読む際は、どの層に関する変更かを確認しましょう。画面の変更は操作場所だけに影響する場合がありますが、コアの変更はプロトコルのパラメーター、接続動作、ルールの対応状況に影響することがあります。このサイトではダウンロード先と設定ガイドを案内していますが、各ソフトウェアプロジェクトのライセンス説明に代わるものではなく、ノードサービスも提供していません。
更新前後に戻せる手段を確保
更新前にサブスクリプショングループ、独自ノード、独自ルールを保存しておきましょう。更新後は起動ログを確認し、普段使うノードやアプリで接続をテストしてください。特定の種類の接続だけに問題がある場合は、設定をすべて消去するのではなく、関連するルーティングやDNS設定を一時的に戻して1つずつ比較します。診断にログを使う場合は、詳細すぎる記録を長期間有効にしないようにしましょう。接続先のドメイン名など、アクセス情報が記録される場合があります。
設定を学ぶときも、同じ順序で進めると整理しやすくなります。まず基本の接続を動かし、次に送信タグとルールのマッチングを確認し、最後に名前解決とポリシーを調整します。各項目がどの段階に影響するか分かれば、変更が問題の解決につながったか判断できます。詳しい項目の型や例は設定ファイルのガイドをご覧ください。