クライアントとコア
Project V オープンソースエコシステム
V2RayはProject Vエコシステムのネットワークプロキシツールで、プロトコル処理、通信、ルーティングを担います。普段よく使うv2rayN、v2rayNG、v2flyNGは、コアを操作するための画面を備えたクライアントです。サーバーのパラメーター、サブスクリプションの更新、起動操作をまとめて管理できるため、すべてを手作業で編集する必要がありません。
この役割分担を知っておくと、クライアントは開くのにコアの起動に失敗する現象を理解できます。GUIは設定を管理し、コアは設定を読み込んで接続を確立します。それぞれの稼働状態は別に確認する必要があります。エラーが発生したら、画面、設定の生成、コアの出力のどこで発生したかをまず特定し、そのうえでノードのパラメーターを変更するか判断してください。
V2FlyとXray:共通の背景と異なる対応状況
V2FlyはV2Rayのコミュニティによる開発を引き継ぎ、Xrayは関連するコードを基盤に別のコアとして発展しました。共通する概念や使い方もありますが、プロトコルの機能、通信方式、設定の詳細は常に一致するわけではありません。「V2Rayのコアの違い」を調べる際は、エコシステム全体を自由に置き換えられる1つのプログラムと捉えず、個々の設定項目や機能を確認しましょう。
ノード名は単なるメモであり、接続に必要な条件をすべて表すものではありません。VLESSの設定では、通信方式、TLSやREALITYなどのセキュリティ層、関連パラメーターがサーバー側と一致するかも確認が必要です。クライアントを選ぶ前に、既存の設定がどのコアの機能に依存しているか確認してください。現在の接続が安定しているなら、別のブランチ名が新しいという理由だけで急いで移行する必要はありません。
3つのクライアント:プラットフォームと設定要件から選ぶ
v2rayNはデスクトップ向けで、サーバーリスト、サブスクリプショングループ、ルーティング管理、複数のコアの設定画面を備えています。GUIで接続をまとめて管理したい場合に適しています。クロスプラットフォームの画面により、デスクトップ間で操作方法を統一しやすい一方、システムプロキシ、権限、ネットワークアダプターの扱いはOSごとに異なります。どのプラットフォームでも動作が完全に同じだとは限りません。
v2rayNGはAndroid向けで、Xrayコアで接続を処理し、システムのVPNインターフェースを通じてアプリの通信を受け取ります。サブスクリプションの読み込み、使用するノードの選択、アプリごとの振り分け、バックグラウンド実行の制限が主な確認ポイントです。v2flyNGもAndroid向けですが、V2Flyコアを採用しています。対応するコアの機能範囲に合うノードを使うための選択肢であり、あらゆるノードを別のプロトコルに変換するツールではありません。
この3つのクライアントはいずれもオープンソースプロジェクトとして開発されています。オープンソースであれば、コードや変更内容について議論し、確認できます。一方、無料で使えることとサーバーのリソースは別の話です。クライアント自体がサブスクリプションサービスを提供したり、サーバー側の回線品質を決めたりするわけではありません。速度、通信量、ノードの地域に問題がある場合は、クライアント設定と利用中のサービス設定を分けて確認してください。
オープンソースライセンス:コードの利用条件を確認
オープンソースライセンスは、コードの使用、改変、再配布に関する条件を定めています。V2FlyのV2RayコアとXrayコアはMPL 2.0を採用し、v2rayN、v2rayNG、v2flyNGの各クライアントはGPL系ライセンスを採用しています。クライアントとコアは別々のプロジェクトです。ソフトウェアを再配布したりコードを変更したりする場合は、対象となる各プロジェクトのライセンスを確認し、クライアントの名称だけを根拠に判断しないでください。
一般の利用者にとっては、提供元と役割の違いを理解することが重要です。クライアントはコミュニティが保守し、コアも独自の開発方針で更新されます。当サイトでは、日本語でダウンロード方法と設定をまとめています。ドキュメントの例は設定の意味を説明するもので、特定のノード、回線、設定があらゆる環境で同じ結果になることを保証するものではありません。
更新手順:現状を記録してから変更を検証
クライアントの更新では、画面、設定の生成方法、同梱コンポーネントが変わることがあります。コアの更新では、プロトコル処理や設定項目への対応が変わる場合があります。両者には関係がありますが、完全に同期する一つのバージョン体系ではありません。トップページでは選び方と使い方を解説し、具体的なインストーラーと最新リリース情報はダウンロードページにまとめています。同じページでプラットフォームとパッケージ形式を確認できます。
更新前に、使用中のコア、選択中のノード、ルーティング設定、ローカルの待ち受けポートを記録し、必要な設定を保存してください。更新後は、以前使えていたノードで基本接続を確認し、サブスクリプションの更新、通信の振り分け、DNSを順にチェックします。違いが生じた場合は、ログで最初に出たエラー行を確認し、設定項目の変更、権限の変化、アプリが新しいプロキシを使っていないことのどれが原因か判断しましょう。
1回のテストでクライアント、コア、サーバーを同時に変えたり、TUNを有効にしたりしないでください。変更を増やすほど原因の特定が難しくなります。正常に動作する既知の設定を基準として残し、一度に1項目だけ変更すれば、問題を再現しやすくなり、正常な状態にも戻しやすくなります。
設定でよくある4つの確認ポイント
サブスクリプションを更新できない。まずアドレスが途中で切れていないか確認し、リクエストログに表示されるステータスと応答内容を調べます。ローカルにノードがある場合は、読み込みの問題と既存の接続が使えるかどうかを分けてテストできます。詳しくはサブスクリプション更新のトラブル対処をご覧ください。
ブラウザーは使えるのに他のアプリは接続できない。まずアプリがどのプロキシ接続先を参照しているか確認してください。システムプロキシはすべての通信を取り込むスイッチではありません。より広い範囲の通信を扱う場合は、TUNモードの説明に沿って権限とネットワークスタックを確認してください。
ドメインでは接続できないが、アドレスなら接続できる。まず名前解決の経路、応答内容、ルーティングのドメイン戦略を確認してください。アドレスで接続できても、すべてのDNS設定が正しいとは限りません。DNS設定の解説を参考に、名前解決の失敗と接続の失敗を切り分けましょう。
同じプロトコル名なのに読み込めない。通信方式、セキュリティ層、パラメーターの形式も確認してください。情報がリンクに含まれる場合もあれば、サブスクリプションから生成される場合もあります。名称が同じでも設定が完全に一致するとは限りません。まずVLESSの用語解説を読み、次にコアの対応状況を確認してください。