v2rayN・v2rayNG・v2flyNGの選び方|Windows・Android向けクライアント比較

対応OS、コア、画面構成、サブスクリプションやルーティング機能を比較。PCにはv2rayN、Androidではコアの好みに合わせて選ぶ方法を解説します。

この記事の概要

PCではまずv2rayN、Androidではノードの要件に応じてv2rayNGまたはv2flyNGを選びましょう。クライアント・コア・プロトコルの違いを整理し、サブスクリプションのインポート、システムプロキシ、アプリ別プロキシ、ルーティング設定を比較。PCとAndroidそれぞれの設定手順と接続確認方法も紹介します。サブスクリプションはあるものの、どのクライアントを入れるべきか迷っている場合は、まず端末のOSを確認し、ノードのプロトコル・トランスポート・セキュリティ設定をチェックしてください。

まずOSで絞り、次にコアを確認

名前は似ていますが、同じインストーラーの表記違いではありません。v2rayNはデスクトップ向け、v2rayNGとv2flyNGはAndroid向けのクライアントです。クライアントはノード一覧やサブスクリプション管理、設定画面を提供し、コアが実際の接続や設定の解析、ルーティングルールの適用を担います。クライアントをインストールしただけでは接続先サーバーは用意されないため、有効なサブスクリプションかノードの設定情報が必要です。

v2rayN:デスクトップならまず検討

おすすめ

Windows、macOS、Linuxに対応しています。デスクトップ画面でノード一覧やサブスクリプショングループを管理しやすく、ログの確認にも便利です。Windowsでは必要に応じて通常版とWPF版を選べます。利用できるコアや機能は、インストーラーと現行バージョンの画面で確認してください。

おすすめの用途:PCでの常用、サブスクリプションの管理、ルーティングルールの調整。

v2rayNG:AndroidでXray設定を使う場合

Xray系のコアを採用しています。設定がXrayを前提としている場合、とくにVLESSやREALITYのパラメーターを使う場合は、まずv2rayNGの現行バージョンが対応しているか確認し、サーバー側の設定に合わせてインポートしてください。

おすすめの用途:メインのAndroid端末、Xrayノードの利用、アプリ別プロキシの設定。

v2flyNG:Androidでv2fly設定を使う場合

v2fly系のコアを採用しています。v2flyの機能や設定形式を前提に運用している場合に適しています。ノードとの互換性はプロトコル、トランスポート、セキュリティ層、コアのバージョンを確認して判断しましょう。リンクをインポートできるかどうかだけでは判断できません。

おすすめの用途:v2fly設定を使っているAndroid端末、対応するコアの動作を維持したい場合。

選び方のポイント:ノード要件でさらに絞る

まず対応していないOS向けのクライアントを除外し、プロバイダーが指定するクライアントとコアの最低要件を確認しましょう。設定にREALITYが含まれている場合、Androidではまずv2rayNGの対応状況を確認してください。プロトコル名だけを変更してv2flyNGにインポートするのは避けましょう。

プロトコル・トランスポート・画面の違いと選び方

V2RayとXrayは関連しつつも独立して開発されているコアプロジェクトです。v2flyはV2Rayのコミュニティによるメンテナンス系統です。VMessやVLESSはプロトコル名、WebSocketはトランスポート方式、TLSとREALITYは接続のセキュリティ設定に関わるものです。これらは同じ階層の選択肢ではありません。どちらのクライアントにもVMessと表示されていても、トランスポート方式、TLS、パス、サーバー側の要件まで確認してください。

比較項目v2rayNv2rayNGv2flyNG
主な対応OSWindows、macOS、LinuxAndroidAndroid
コアの確認方法選択したコアとインストーラーを確認Xray系v2fly系
画面の主な機能ノード一覧、グループ、ログ、デスクトップのプロキシ設定モバイル向け設定一覧、接続スイッチ、アプリ別設定モバイル向け設定一覧、接続スイッチ、対応コアの設定
サブスクリプションの使い方グループを管理し、更新後に接続するノードを選択サブスクリプショングループを管理し、更新後にインポート結果を確認形式とコアの対応状況を確認してからノードを更新
通信を取り込む方法システムプロキシ、またはバージョンに応じてTUNを設定通常はAndroid VPNインターフェース経由で端末の通信を取り込む通常はAndroid VPNインターフェース経由で端末の通信を取り込む

デスクトップ版は表形式の画面で複数のノードを比較しやすい一方、表示列が多くても接続が速くなるわけではありません。Android版は接続スイッチがまとまっていても、すべてのアプリが同じ方法で通信するとは限りません。接続できるかどうかは設定の一致で決まり、どの通信がプロキシを通るかは、通信の取り込み方法、アプリ別の選択、ルーティングルールによって決まります。

サブスクリプションのインポート:更新できても設定の完全互換とは限らない

サブスクリプションURLは設定を配布するための入口であり、クライアントのアカウントでも特定ソフト専用の通信経路でもありません。同じサブスクリプションに、複数のプロトコルや異なる形式の設定が含まれる場合があります。インポート後にノード数が正常に表示されても、設定の一部を認識できたことを示すにすぎず、実際の接続テストの代わりにはなりません。

  1. まずグループを作成します。v2rayNで「サブスクリプショングループ」→「サブスクリプショングループ設定」を開き、名前とサブスクリプションURLを追加します。画面のバージョンによってメニュー名が多少異なる場合があるため、現在のメニューを確認してください。
  2. 次にサブスクリプションを更新します。「サブスクリプショングループ」メニューから更新を実行し、メッセージと追加されたノード数を確認します。Androidではメニューの「サブスクリプショングループ設定」からURLを追加し、サブスクリプションを更新してください。
  3. ノードの詳細設定を1つ確認します。プロバイダーの説明と照らし合わせ、プロトコル、ポート、トランスポート、セキュリティ設定を確認します。非対応の項目や、インポート後に空欄になっている項目にも注意してください。
  4. 最後に実際の通信をテストします。ノードを選択して接続し、通常アクセスできるWebサイトを開きながらログも確認します。レイテンシのテスト結果だけで、すべての通信に設定が反映されたと判断しないでください。

PCではインポートできるのにAndroidでは一部のノードしか表示されない場合は、ソフトを何度も再インストールするのではなく、表示されないノードのプロトコルとパラメーターを確認してください。両方の端末で更新に失敗する場合は、URLの有効期限、現在のネットワークからサブスクリプションURLにアクセスできるか、更新リクエストに利用可能なプロキシが必要かを確認しましょう。

システムプロキシ、Androidの通信取り込み、ルーティングの違い

v2rayNで接続するノードを選んだ後は、アプリの通信をどのようにクライアントへ送るか決める必要があります。システムプロキシは通常、OSのプロキシ設定に従うアプリが対象です。その設定を参照しないアプリは、個別にプロキシを設定するか、権限とルーティングへの影響を理解したうえでTUNを使います。TUNは仮想ネットワークアダプターと関連する権限に依存するため、どの環境でも速くなるスイッチと考えないでください。

10808
ローカルプロキシのポート例。リスニング設定と合わせる
443
リモートTLSサーバーのポート例。ノード設定に従う

以下はポートの役割を説明するための設定例であり、すべてのバージョンの初期値ではありません。ローカルのHTTPまたは混合リスナーが実際に127.0.0.1:10808に設定されている場合に限り、ブラウザーの手動プロキシにもこのアドレスを入力します。ノード側のリモートポートが443でも、ブラウザーのローカルプロキシポート欄には入力しないでください。v2rayNの「設定」→「パラメーター設定」でローカルリスナーの項目を確認できます。項目の分類はバージョンによって異なります。

そのため、「グローバル」という言葉は、表示されているメニューに応じて意味を確認してください。アプリから通信を取り込む範囲を指す場合もあれば、ルーティングの出力先ポリシーを指す場合もあります。2つのクライアントを比較するときは、通信の取り込み範囲とルーティングルールを近い条件に揃えてから、実際の動作を比べましょう。

PCとAndroidを併用する設定例

よくある組み合わせは、PCでv2rayNを使い、Androidではコアの要件に応じてどちらかを選ぶ方法です。それぞれの端末からサーバーに接続できるため、先にPCのローカルネットワーク共有を有効にする必要はありません。同じサブスクリプションを使えますが、ローカルポート、アプリ別の対象一覧、ルーティングルールは端末ごとの設定です。サブスクリプションが同じでも自動的には同期されません。

設定例:サブスクリプションの配信元を共有し、通信の入口は端末ごとに管理

デスクトップ:v2rayN
  • Windows、macOS、Linuxと端末のアーキテクチャに合ったインストーラーを選びます。
  • サブスクリプショングループを作成し、更新後に接続するノードを選びます。
  • まずシステムプロキシでブラウザーの通信を確認し、必要に応じてTUNを検討します。
  • 動作する設定を記録し、ルーティングを変更するときは一度に1種類のルールだけを調整します。
Android:v2rayNGまたはv2flyNG
  • Xrayまたはv2flyの設定要件に合わせてクライアントを選びます。
  • 同じサブスクリプションURLを追加し、端末ごとに更新してノードを確認します。
  • システム接続の許可を確認し、アプリ別プロキシのモードをチェックします。
  • Wi-Fiとモバイルネットワークを切り替え、それぞれで接続を確認します。

サブスクリプションの内容が同じでも、更新のタイミング、形式のフィルタリング、ローカル設定は端末ごとに異なります。両方の端末で個別に動作確認してください。

性能を比較するときも条件を揃えましょう。同じサーバー、同じプロトコルとトランスポート、近い時間帯でテストし、もう一方のクライアントの接続は切断します。スマートフォンのWi-Fi電波、省電力設定、サーバー負荷、ネットワーク経路も結果に影響します。一度の速度測定の差を、クライアント名だけの違いに結びつけないでください。

クライアント選びでよくある4つの質問

Androidにv2rayNGをインストール済みですが、v2flyNGも必要ですか?

現在のサブスクリプションを正常にインポートして接続できるなら、名前が似ているという理由だけで両方を入れる必要は通常ありません。別のコアに依存する機能や動作が設定で明示されている場合に、切り替えを検討してください。別のクライアントを試すときは、システムVPNの取り合いを避けるため、使用中の接続を先に切断しましょう。

同じノードがPCでは使えてスマートフォンでは使えません。まず何を確認すればよいですか?

まず両方の端末でサブスクリプションが更新されているか確認し、ノードの詳細画面でプロトコル、トランスポート、TLSまたはREALITYのパラメーターを比較します。次にスマートフォンのシステム時刻、接続の許可、アプリ別の対象一覧を確認してください。Wi-Fiとモバイルネットワークで結果が異なる場合はネットワーク環境を調べ、すぐにサーバーポートを変更するのは避けましょう。

v2rayNでノードの遅延が表示されるのに、ブラウザーでページを開けないのはなぜですか?

遅延テストの結果は、ブラウザーがプロキシを使っていることを示すものではありません。まずv2rayNのシステムプロキシの状態を確認し、必要であれば「システムプロキシを自動設定」を選びます。続いてブラウザー独自のプロキシ設定がないか確認し、ローカルリスニングポート、ルーティング、DNSのログを順に調べてください。

クライアントを乗り換えるとき、以前のルーティング設定をすべてコピーすべきですか?

設定を丸ごと上書きするのは避けてください。サブスクリプションからノードを復元して基本的な接続を確認した後、移行先のクライアントが対応する形式でルールを作り直します。デスクトップアプリのパスとAndroidアプリのパッケージ名は、異なる条件で一致を判定するため、アプリ一覧をそのまま移すことはできません。

最終確認:接続アイコンだけでなく通信をテスト

クライアントを選んだら、プロキシを通すべき通信と直接接続すべき通信をそれぞれテストし、該当するログや接続履歴を確認してください。両方の通信が想定した出力先になっていることを確認してから、複雑なルールを追加します。ノードの問題とローカルのルーティング設定の問題を切り分けやすくなります。

クライアントのインストーラー