Project VからGUIクライアントまで
Project Vは、プロキシ通信ツールを中心とするオープンソースのエコシステムで、V2Rayはその主要プロジェクトの1つです。日常会話で「V2Rayをインストールする」と言う場合、GUIクライアントの導入を指すことも、実際に接続を処理するコアの導入を指すこともあり、両者は同じものではありません。GUIはサーバーの設定を保存し、サブスクリプションを管理して実行用の設定を生成します。コアはその設定を読み込み、インバウンド、ルーティング、アウトバウンド接続を処理します。
そのため、クライアントのウィンドウが開いても、GUIプログラムが起動したことしか分かりません。コアの起動や、アプリがプロキシを利用していることまでは確認できません。設定の解析、ローカルの待ち受け、アプリの接続先の順に確認しましょう。これらの段階を分けて調べるほうが、クライアントを何度も再インストールするより原因を見つけやすく、既存のサブスクリプションやカスタムルールへの影響も抑えられます。
V2FlyとXrayの系譜
V2FlyコミュニティはV2Rayの開発を引き継ぎ、Xrayは関連コードを基盤に独自の機能を発展させてきました。設定の構成や一部のプロトコルには共通の背景がありますが、現在は機能を個別に確認すべき別々のコアプロジェクトです。あるコア向けの手順が使えるからといって、すべてのセキュリティ設定、通信方式、設定項目をもう一方へそのまま移せるとは限りません。
選ぶ際は、まずサーバー側の要件を確認し、次にクライアントが必要なパラメーターを設定できるかを確認しましょう。REALITYなど特定の機能を使う場合は、コアとクライアントの画面の両方が対応しているか、特に注意が必要です。コアの違いを一律の速度ランキングに置き換えることはできません。実際の接続品質は、サーバーの負荷、ネットワーク経路、通信方式の組み合わせ、端末のリソースにも左右されます。
3つのオープンソースクライアントの役割
v2rayNはデスクトップ向けのオープンソースGUIクライアントで、設定、サブスクリプション、ルーティング、システムプロキシをまとめて管理できます。v2rayNGはAndroid向けのオープンソースクライアントで、Xrayコアを使用し、システムのVPNインターフェースを通じてアプリの通信を取り込みます。v2flyNGもAndroid向けですが、V2Flyコアをベースとしており、既存の設定がそのコア固有の動作に依存する場合に適しています。
クライアントを選ぶ際は、画面の好みよりもプラットフォームとコアの互換性が重要です。同じ提供元の互換性ある設定をデスクトップとスマートフォンで使える場合もありますが、ローカルの待ち受け、アプリの接続方法、バックグラウンド動作のルールはそのまま流用できません。スマートフォンのVPN許可とデスクトップのシステムプロキシは別の設定です。設定を移行したら、サーバー項目が表示されることだけでなく、どのアプリが対象になるかも再確認してください。
オープンソースライセンスと利用上の注意
オープンソースとは、プロジェクトが該当するライセンスのもとでソースコードを公開し、利用、改変、再配布の条件を定めていることです。関連するすべてのプロジェクトが同じライセンスを採用しているわけではありません。V2FlyとXrayのコアは一般にMPL 2.0を採用していますが、クライアントや付属コンポーネントのライセンスはそれぞれ確認してください。個人利用と改変後の再配布では条件が異なります。「オープンソース」という表示だけで具体的な条項を判断しないようにしましょう。
クライアント自体に、そのまま利用できるリモート接続環境が含まれているわけではありません。サブスクリプションの提供元、サーバー設定、リモートサービスの利用規約は、それぞれ別に確認してください。V2Rayツールボックスはダウンロード先と設定情報をまとめたサイトで、サブスクリプションやアカウントは提供していません。障害について公開の場で相談する場合は、サブスクリプションURLの認証情報、ユーザー識別情報、サーバー認証項目を隠し、ログからも機密情報を取り除いてください。
更新対象は4種類
クライアント、コア、サブスクリプション、ルールデータの更新は、それぞれ異なる内容を扱います。クライアントの更新では画面や設定の生成方法が変わる場合があります。コアの更新は実際の接続機能に関わります。サブスクリプションの更新では提供元のサーバー項目が同期され、GeoIPとGeoSiteのデータ更新ではIPやドメインによるルーティングの分類結果が変わります。サブスクリプションだけを更新しても、コアに機能がない問題は解決しません。
更新前に、使用中の設定とカスタムルールを保存してください。更新後はコアが起動することを確認し、よく使う接続先へのルーティングをチェックします。特定のサイトの出口が突然変わった場合は、ルールデータの変更だけでなく、ルールの順序やDNSポリシーも確認しましょう。原因を特定しにくくなるため、調査中にコア、サブスクリプション、ルーティングテンプレートを同時に変更するのは避けてください。
プロトコルは接続条件を比べる
VMess、VLESS、Trojan、Shadowsocksは、認証方式、設定構造、一般的な構成の組み合わせがそれぞれ異なります。VLESSにはVMessと同じ暗号化機能がなく、通常は適切な通信セキュリティ方式と組み合わせて使います。TrojanはTLSと組み合わせることが多く、Shadowsocksではクライアントとサーバーで対応する暗号化方式を使う必要があります。プロトコル名だけを比べると、接続の成否を左右する重要な項目を見落としがちです。
モバイル端末では、バックグラウンドでの継続動作、接続維持、アプリのリクエスト頻度、電波状況が消費電力に影響します。デスクトップでは、プロトコルを変更する前に、アプリが正しくローカルの待ち受けポートへ接続しているか確認するほうが有効な場合があります。各プロトコルのガイドでは、こうした実際の条件をもとに選び方を説明し、すべての端末やサーバーに適した万能のプロトコルがあるとはしていません。