v2rayN・v2rayNG・v2flyNGを比較|V2Rayクライアントの選び方と機能・対応OS

v2rayN・v2rayNG・v2flyNGの対応OSやコア、サブスクリプション、ルーティング機能を比較。PC・Android向けの選び方を解説します。

この記事の概要

PCではv2rayN、Androidではノードに必要なコアに応じてv2rayNGまたはv2flyNGを選びましょう。初めてインストールする方や、PCとスマートフォンでサブスクリプションを共有したい方、クライアントの乗り換えを検討している方に向けて、対応OS、プロトコル互換性、通信の取り込み方、設定の移行方法を解説します。サブスクリプションを読み込めても、ノードに接続できるとは限りません。

1. まずOSに合わせて選び、機能を比較する

名前は似ていますが、同じアプリの別デザインではありません。v2rayNはデスクトップOS向け、v2rayNGとv2flyNGはAndroid向けです。まず画面の見た目ではなく、使う端末とインストールパッケージのアーキテクチャを確認しましょう。PCではWindows、macOS、Linuxに対応するビルドを選び、x64かARM64かも確認します。Androidでは端末のプロセッサとパッケージの説明に合わせて選んでください。

v2rayN:PC向け

おすすめ

PCではサブスクリプションの管理やノードの切り替え、ログの確認がしやすく、システムプロキシやルーティング、ローカル待ち受けの設定も個別に調整できます。PCで使う場合におすすめですが、Androidアプリの代わりになるわけではありません。

おすすめの用途:Windows、macOS、Linux搭載PCでの日常的な接続と設定管理。

v2rayNG:Android・Xrayコア

Androidアプリでノードを管理し、システムのVPNインターフェースを使って指定したアプリの通信を取り込みます。Xrayの機能を利用します。REALITYが必要なノードでは、v2rayNGと搭載バージョンが対応しているかを確認しましょう。

おすすめの用途:Android端末、Xrayノード、アプリごとにプロキシの対象を設定したい場合。

v2flyNG:Android・V2Flyコア

V2Flyコアを使うAndroid環境向けです。V2Flyの設定をすでに使っている場合や、ノードがV2Flyコアを指定している場合に適しています。名前が似ていても、v2rayNGの設定がすべてそのまま使えるとは限りません。

おすすめの用途:Android端末、V2Flyの設定や運用方法をすでに利用している場合。

インストールパッケージのアーキテクチャとノードのプロトコルは別の要素です。ARM64はアプリが端末で動作するかを左右し、VMessやVLESSなどの設定はコアがサーバーに接続する方法を決めます。インストールできない場合はOSとアーキテクチャを確認し、起動後にノードでエラーが出る場合はプロトコルとネットワークを確認してください。

2. コアとプロトコル:名前が似ていても設定は互換とは限らない

クライアントは画面やサブスクリプションを管理し、コアを呼び出します。コアは接続や通信、ルーティングを処理します。v2rayNで使われるコアは、パッケージやノードの種類、設定によって異なります。特定のコアだけを使うと決めつけないでください。v2rayNGはXray、v2flyNGはV2Flyをベースとしており、この違いはノードが使えるかどうかに直結します。

比較項目v2rayNv2rayNGv2flyNG
対応OSWindows、macOS、Linux(ビルドによる)AndroidAndroid
コアの扱いノードと設定に応じたコアを使用XrayV2Fly
VMessノード使用するコアと通信設定を確認通信方式とTLS設定を確認通信方式とTLS設定を確認
VLESS + REALITY対応するXray設定が必要搭載されているXrayのバージョンと設定を確認XrayのREALITY設定をそのまま適用できない
主な通信の取り込み方法システムプロキシ。一部の環境ではTUNAndroidのVPNインターフェースAndroidのVPNインターフェース

VMessとVLESSはプロトコル名、WebSocketは通信方式、TLSはセキュリティ層の設定です。REALITYは、どのTLSノードにも使える汎用の高速化スイッチではありません。サーバーが要求するプロトコル、通信方式、セキュリティ層とクライアントのコアが適合している必要があります。VLESSに対応していても、すべてのVLESS構成が使えるとは限りません。

選び方:ノードの設定を確認してからクライアントを選ぶ

ノードにVLESS + REALITYと明記されている場合、Androidではまずv2rayNGを確認しましょう。PCではv2rayNが対応するXrayを使用しているか確認してください。コアの機能が合わない問題を解決しようとして、v2flyNGのポートを何度も変更するのは避けましょう。

3. サブスクリプションの読み込みと複数端末での利用:ノード一覧だけでは設定は完了しない

サブスクリプションには通常、複数のノード情報が含まれ、クライアントがそれをローカル設定に変換します。取得できて一覧にノードが表示されても、確認できるのは取得と解析が進んだことまでで、接続成功を意味するわけではありません。クライアントの識別情報に応じてサブスクリプションの内容が変わることもあり、同じURLでもPCとスマートフォンで表示されるノード数が異なる場合があります。

  1. 専用のグループを作成します。v2rayNの一般的な画面では、「サブスクリプショングループ」→「サブスクリプショングループの設定」を開き、名前とサブスクリプションURLを登録します。メニュー名は配布版によって異なる場合があります。
  2. サブスクリプションを更新します。URLを保存した後、サブスクリプションの更新を実行してください。Androidでは通常、メニューの「サブスクリプショングループの設定」で保存してから、メイン画面に戻って「サブスクリプションを更新」を実行します。実際の操作場所は利用中のバージョンで確認してください。
  3. ノードを1つ選んで接続を確認します。選択中のノードを確認して接続を開始し、プロキシ経由でのアクセスが必要なサイトを開いてみましょう。ノード一覧の遅延テストだけでは、ブラウザーの通信がプロキシを経由しているとは判断できません。
  4. 端末ごとにローカル設定を調整します。システムプロキシ、Androidのアプリ別設定、ローカルポート、DNSの各項目は端末ごとに確認してください。サブスクリプションによってこれらの設定まで自動で同期されるわけではありません。

複数端末で使う:サブスクリプションは共有し、通信の取り込み設定は個別に管理

PC:v2rayN
  • サブスクリプションを追加して手動で更新し、ノードが正しく読み込まれることを確認します。
  • ノードの要件に合うコアとルーティングモードを選びます。
  • システムプロキシが現在のローカル待ち受けポートを参照しているか確認します。
Android:コアに合わせてクライアントを選択
  • サブスクリプション提供元の複数端末利用と同時接続数の制限を確認します。
  • 同じサブスクリプションを読み込み、端末ごとに更新してノードを選択します。
  • VPN接続を許可し、アプリごとの対象範囲を確認します。

サブスクリプションを共有すれば登録の手間を減らせますが、ノード一覧や更新時刻、ローカルのルーティング設定まで自動で揃うわけではありません。

サブスクリプションURLにはアクセス用の認証情報が含まれることが多いため、公開の掲示板に投稿したり、URL全体が写った画面をトラブル相談に添付したりしないでください。端末を移行する際は、新しい端末でサブスクリプションを追加し直すのが基本です。手動登録したノードや複雑なルールを引き継ぐ必要がある場合のみ設定のエクスポートを検討し、鍵などの機密情報が含まれていないか確認しましょう。

4. システムプロキシ、TUN、Androidのアプリ別設定の違い

クライアント選びで混同しやすいのが、「接続できた」ことと「対象アプリの通信がプロキシを通った」ことです。v2rayNでシステムプロキシを有効にしても、システムプロキシ設定に従うアプリだけが利用します。一部のコマンドラインツールや独自にネットワークを管理するアプリでは、個別の設定が必要です。TUNは仮想ネットワークインターフェースを使って通信を取り込みますが、ルーティング、DNS、権限、実装方法の影響を受けます。有効にすればすべての問題が解決するわけではありません。

アプリ別プロキシは、どのアプリの通信をプロキシに取り込むかを決めます。ルーティングは、取り込んだ通信を直結にするかプロキシ経由にするかを決めるため、互いに代用できません。たとえばブラウザーが取り込み対象でも、特定のドメインが直結ルールに一致することがあります。反対に、通信を取り込まれていないアプリは、ドメインルールを追加しても自動的にプロキシを使うようにはなりません。

5. 操作のしやすさとクライアント乗り換えの注意点

v2rayNのPC向け一覧画面では、複数のノードやグループ、ログをまとめて確認できます。一方、設定項目が多いため、初めて使う際にすべてを調整する必要はありません。Androidでは操作がまとまっていますが、システムVPNの権限やバッテリー管理、アプリごとの対象範囲を個別に理解する必要があります。設定項目が少なくても、トラブルの確認事項が少ないとは限らず、通信が速くなるとも限りません。

利用シーン最初に行うこと乗り換え時の注意点
初回接続サブスクリプションを読み込み、更新してノードを選び、通信の取り込みを開始するノード名だけをコピーせず、設定項目を改めて確認する
日常的な切り替え現在のノードとルーティングモードを確認する旧クライアントを停止してから、新しいクライアントを起動する
サブスクリプションの管理更新結果とグループ内のノード数を確認するローカルで手動変更した設定が、更新時に上書きされる場合がある
ルールの移行ドメイン、IP、アウトバウンドの動作、優先順位を記録するルールファイルや画面上の設定を、そのまま読み込めるとは限らない

VMessノードを問題なく使えていて、現在のクライアントが管理・機能面の要件を満たしているなら、名前が似ているという理由だけで乗り換える必要はありません。ノードが現在のコアで対応できない構成に変わった場合や、通信の取り込み方を変える必要がある場合に、移行を検討するとよいでしょう。乗り換える前に、現在のルーティング、DNS、アプリの対象範囲を記録し、元に戻せる状態にしておきます。

速度を比較するなら、ノードと測定条件を揃える

同じ端末、ネットワーク、サーバー、アクセス先を使い、クライアントは毎回1つだけ起動して、同じアウトバウンドが使われているか確認します。一方がプロキシ経由でもう一方が直結している場合、その測定結果でクライアントの性能を比較することはできません。

6. クライアント選びのよくある質問と最終確認

PCとAndroidスマートフォンで同じサブスクリプションを使えますか?

それぞれの端末に読み込んで試せますが、まずサービスの端末数や同時接続数の制限を確認してください。両方の端末で更新を実行し、それぞれのコアがノードに対応しているか確認します。サブスクリプションは共有できても、ローカル設定は同期されません。

v2rayNGで使えるノードがv2flyNGではエラーになる場合は?

まずノードの編集画面でプロトコル、通信方式、セキュリティ層を確認します。REALITYなどXray関連の設定が含まれている場合、V2Flyにそのまま移さないでください。ノードに対応したクライアントを使うか、V2Fly互換であることが明確なノード設定をサービス提供元に問い合わせましょう。

サブスクリプションの更新に成功しても、ブラウザーでサイトを開けない場合は?

ノードを選択して接続を開始してください。PCではシステムプロキシのアドレスとポートを確認します。AndroidではVPN接続が確立しているか、ブラウザーが通信の取り込み対象かを確認します。その後、ログでDNSエラーやタイムアウト、ハンドシェイクエラーを調べましょう。すべての接続失敗をサブスクリプションの問題と決めつけないでください。

Androidアプリがバックグラウンドに移ると切断される場合、どのクライアントに乗り換えるべきですか?

まずOSのバッテリー管理を確認し、必要に応じてアプリのバックグラウンド実行を許可して、通知欄の接続状態を確認します。サービスが動作中なのに通信できない場合は、ネットワークを切り替えて再確認し、ログも確認してください。バックグラウンドプロセスが停止しているのか、サーバーへの接続に失敗しているのかを切り分けてから、乗り換えを検討しましょう。

選ぶ際は、端末のOS、ノードに必要なコア、通信を取り込むアプリの3点を確認します。PCではv2rayNから試し、AndroidでXrayが必要ならv2rayNG、V2Flyの設定を使っているならv2flyNGを確認してください。インストール後は、まず必要最小限の設定で接続し、その後ルーティングやカスタム設定を順番に追加しましょう。以前のルールを一度にすべて移すより、問題の原因を特定しやすくなります。

v2rayN をダウンロードPC・Android向けクライアント