デスクトップではまずv2rayNを選び、Androidでは通常Xrayコアを使うv2rayNGを優先します。v2flyコアの挙動に依存する構成でのみv2flyNGを検討しましょう。初回インストール、サブスクの移行、クライアント間の互換性確認に役立つ内容です。
機能数ではなく、まず対応プラットフォームで絞り込む
3つのクライアントの最初の違いはボタンの数ではなく、動作するプラットフォームです。v2rayNはWindows、macOS、Linuxのデスクトップ環境向けで、システムプロキシの制御、複数サブスクの管理、詳細なルーティング編集に対応します。v2rayNGとv2flyNGはAndroid向けで、モバイル回線の切り替え、バックグラウンド接続、アプリごとの振り分けを中心に設計されています。デスクトップとAndroidは三者択一ではなく、パソコンにv2rayNを入れ、スマートフォンではv2rayNGまたはv2flyNGを選ぶ組み合わせが一般的です。
この記事では、2026年5月28日時点の画面を基準に比較しています。対象バージョンはv2rayN 7.15.4、v2rayNG 1.10.33、v2flyNG 1.10.33です。今後のバージョンでメニュー名や内蔵コアが変わる可能性はありますが、プラットフォーム、コアの系統、設定の整理方法が小規模な更新で根本から変わることはありません。実際の画面に多少の違いがある場合は、ボタンの位置をそのまま再現するのではなく、同名の設定項目を探してください。
| クライアント | 主なプラットフォーム | 主なコアの系統 | 主な用途 |
|---|---|---|---|
| v2rayN | Windows、macOS、Linux | Xray、v2flyなど管理可能なコア | デスクトップのシステムプロキシ、TUN、複雑なルーティング、複数サブスク |
| v2rayNG | Android | Xray | VLESS、Reality、モバイル回線、アプリごとの振り分け |
| v2flyNG | Android | v2fly | VMessなど既存設定とv2flyの挙動をそろえたい場合 |
コアの系統がプロトコルと設定の互換範囲を決める
クライアントの画面は設定のインポート、編集、起動を担うだけで、実際に接続、通信、DNS、ルーティングを処理するのはコアです。v2rayNGはXrayコアを採用しており、VLESS、Reality、XTLS VisionなどXray系の機能を含むノードに適しています。v2flyNGはv2flyコアを採用し、v2flyの設定仕様を維持したい環境、既存のVMess構成、サーバー側でv2flyの挙動が指定されている環境に向いています。
v2rayNの位置づけは異なります。デスクトップ向けの管理ツールで、設定で許可された範囲内で複数のコアを管理できます。共有リンクをインポートするとノード種別に応じて設定が生成されますが、「インポート成功」はコアが必ず対応していることを意味しません。たとえばサブスクにVLESS Realityノードがある場合、現在選択しているのがその設定に対応するXrayコアか確認が必要です。関連フィールドを認識しないコアに同じノードを渡すと、起動ログに未知の設定項目が表示されたり、コアのプロセスが起動直後に終了したりします。
v2rayN
おすすめデスクトップでの管理機能が充実しており、システムプロキシ、TUN、サブスクグループ、細かなルーティングを扱えるため、パソコンのメインクライアントに適しています。
適している環境:Windows、macOS、Linuxの日常利用
v2rayNG
Xrayコアを使用し、VLESS、Reality、Xrayのルーティング設定に直接対応します。
適している環境:Androidの新しいノード、Xray系プロトコル
v2flyNG
v2flyコアを使用し、操作感はv2rayNGに近く、v2flyの設定実行方式を維持できます。
適している環境:Androidの既存VMess設定、v2fly環境
結論:まずノードの要件を合わせ、その後に操作感を比べる
サブスクにXray、VLESS Reality、Visionと記載されている場合は、Androidではv2rayNGを選びます。サーバー設定とv2fly系の構成を長期的に組み合わせている場合はv2flyNGを検討してください。似た画面構成だけを理由に、コアの違いを見落とさないようにしましょう。
サブスクの内容から必要なコアを判断する方法
- 共有リンクが
vless://で始まり、security=realityまたはflow=xtls-rprx-visionを含む場合は、Xrayコアを優先します。 - 共有リンクが
vmess://で始まり、通信方式がTCP、WebSocket、gRPCの場合、通常は3つのクライアントすべてでインポートできます。ただし、TLS、パス、サービス名は確認してください。 - サブスクがネイティブJSONを提供している場合は、
outbounds、streamSettings、ルーティング項目が対象コアの対応範囲に含まれるか確認します。ファイル拡張子だけで判断してはいけません。 - ノード提供元がコアのバージョンを明記している場合は、そのバージョン系列に合わせてクライアントを選びます。クライアントによる設定の自動変換で専用フィールドが失われるのを防げます。
サブスク管理の違いが長期的な保守コストを左右する
ノードが少ないうちは、3つのクライアントすべてでクリップボードから共有リンクを1件ずつインポートできます。数十件に増え、定期更新が必要になると、サブスクグループ、更新方法、重複ノードの扱いが大きな違いになります。v2rayNはデスクトップの作業領域が広く、仕事用、家庭用、テスト用のサブスクを別グループに分け、それぞれに更新間隔とアクティブ設定を指定できます。
v2rayN 7.15.4では、「サブスクグループ」→「サブスクグループ設定」からアドレスを追加し、各グループに別名を付けられます。設定後は「サブスクグループ」→「すべてのサブスクを更新(プロキシを使用しない)」を実行します。現在のネットワークからサブスクアドレスへ直接アクセスできない場合は、利用可能な設定を先に起動してから、プロキシ経由で更新します。更新後はノード数だけでなく、アドレス、ポート、通信方式、TLS項目に異常な変化がないか抜き取り確認してください。
- 初回インポート:まず専用のサブスクグループを作成し、テスト用リンクと長期利用のサブスクを同じグループに混在させないでください。
- 更新完了後:インポート前後のノード数を記録します。たとえばサンプルサブスクが100件の想定なのに73件しかない場合は、ログに形式解析の失敗がないか確認してください。
- 設定の抜き取り確認:VMessを1件、VLESSを1件、Realityを有効にしたノードを1件選び、サーバーアドレス、ポート、SNI、通信方式を確認します。
- 接続テスト:まず実際の遅延を測定し、その後ノードを選んでシステムプロキシを起動します。遅延が「テスト失敗」でも、すぐに削除する必要はありません。サーバーが特定の探測方式に応答しないだけの場合があります。
- 更新間隔:更新頻度はサブスク提供元の変更ペースに合わせます。毎日変わるサブスクは日次更新でよく、安定した設定を数分おきに繰り返し取得する必要はありません。
v2rayNGとv2flyNGのサブスク入口は、どちらもサイドメニューの「サブスク設定」付近にあります。アドレスを追加してメイン画面に戻り、右上のメニューから「サブスクを更新」を実行します。Androidではバックグラウンド通信が制限される場合があるため、自動更新の結果はクライアントに表示される更新時刻とノード数で確認してください。更新がタイムアウトする場合は、既知の利用可能なノードに接続してから、サブスク設定でプロキシ経由の更新を有効にします。
システムプロキシ、TUN、アプリごとの振り分けを比較する
v2rayNのデスクトップ版では、通常はまずシステムプロキシを使います。ローカルのHTTPまたはSOCKSリスニングアドレスをシステムのプロキシ設定に反映し、システムプロキシに従うブラウザーやアプリの通信をクライアントへ渡します。よく使われるローカルSOCKSポートは10808で、HTTPポートはバージョンや設定によって隣接するポートになる場合があります。実際の値は「設定」→「パラメータ設定」→「基本設定」で確認し、経験だけで他のソフトに特定のポートを固定入力しないでください。
一部のデスクトップアプリはシステムプロキシを読み取らず、UDP通信の取り込みが必要な場合もあります。そのときにTUNを検討します。TUNは仮想ネットワークアダプターでより広い通信範囲を処理しますが、企業ネットワークツール、仮想マシンのネットワークアダプター、ゲーム用通信最適化ソフト、ローカルファイアウォールのルールと競合しやすくなります。「TUNに対応している」ことと「常にTUNを有効にすべき」ことは同じではありません。日常のブラウジングをシステムプロキシで処理できるなら、取り込む範囲を小さく保つほうが問題を切り分けやすくなります。
| 機能 | v2rayN | v2rayNG | v2flyNG |
|---|---|---|---|
| システムプロキシ | 対応。デスクトップの一般的なアプリに適しています | デスクトップのシステムプロキシ方式では動作しません | デスクトップのシステムプロキシ方式では動作しません |
| TUNまたは仮想ネットワークによる取り込み | 対応。プロキシを読み取らないアプリに適しています | Android VPNサービス経由で取り込みます | Android VPNサービス経由で取り込みます |
| アプリごとの振り分け | 通常はルーティングルールとプロセス照合機能に依存します | プロキシを通すアプリ、または回避するアプリを選択できます | プロキシを通すアプリ、または回避するアプリを選択できます |
| ドメインとIPのルーティング | 複数のルールやルールセットの編集に適しています | モバイル向けのルーティング設定に対応します | v2fly系のルーティング設定に対応します |
アプリごとの振り分けを実際に選ぶ方法
- パソコンでブラウザー、開発ツール、コマンドラインプログラムを同時に管理する場合、v2rayNのシステムプロキシ、環境変数、TUNを範囲ごとに段階的に有効化できます。
- Androidで一部のアプリだけをプロキシ経由にしたい場合は、v2rayNGまたはv2flyNGの「設定」→「アプリごとのプロキシ」が分かりやすく、チェックしたアプリだけをプロキシ対象にできます。
- ドメインのカテゴリで振り分ける場合は、GeoSiteデータとルールの順序を確認します。接続先IPで振り分ける場合は、GeoIPデータが古くなっていないかも確認してください。
- カスタムルールは、優先的に一致させたい位置に置きます。最後のルールをグローバルプロキシにした場合、前にある直接接続ルールが先に正しく一致しなければ機能しません。
結論:取り込み範囲が広いほど、切り分ける要素が増える
まずシステムプロキシまたはモバイルのデフォルト接続でノードを確認し、その後TUN、アプリごとの振り分け、カスタムDNSを段階的に有効にします。一度に変更する設定を1つにすれば、ノード障害、ルーティングの誤判定、ローカルネットワークの競合を見分けられます。
更新頻度と設定移行で確認すべき点
クライアントの更新で変わるのは画面だけではありません。コアのバージョン、ルーティングデータの形式、サブスク解析器、システム対応も同時に変わる可能性があります。新しいプロトコルを頻繁に使う場合は、互換性のあるコアが速やかに統合されているか確認しましょう。安定したVMess設定を長く使う場合は、更新後に設定を無理なく移行できるかを重視します。選ぶ際に最大のバージョン番号を機械的に追う必要はありませんが、現在のサブスク項目を認識できない古いバージョンを使い続けるのも避けてください。
v2rayNは設定項目が多いため、アップグレード前にサブスクグループ、現在のコア、リスニングポート、システムプロキシ方式、カスタムルーティングを記録します。Androidでv2rayNGとv2flyNGを切り替える際は、すべての内部設定を完全に引き継げると考えてはいけません。最も確実なのは、元のサブスクアドレスと必要な単一ノードの共有リンクを保管し、新しいクライアントで再インポートしたうえで、アプリごとのプロキシ、ルーティングモード、DNS設定を順に戻す方法です。
パソコンとスマートフォンで同じクライアントを使う必要はありますか?
ありません。パソコンではv2rayN、Androidではv2rayNGを使えます。両方が同じサブスク内のプロトコルと通信パラメータを認識できれば、それぞれで設定を管理できます。
v2rayNGへのインポートは成功したのに、接続できないのはなぜですか?
右上のメニューからログを開き、まずアドレス、ポート、UUID、SNI、Reality公開鍵、短いIDを確認します。インポート成功が示すのはリンク形式を解析できたことだけで、すべての項目が正しいとは限りません。
サブスクの更新に失敗し、タイムアウトが表示される場合は?
既知の利用可能なノードに接続してから「サブスク設定」を開き、プロキシ経由の更新を有効にして再試行します。同時に、サブスクアドレスに余分な空白がなく、システム時刻が自動同期になっていることも確認してください。
v2rayNGとv2flyNGは同時にインストールできますか?
比較用に両方を残すことはできますが、同時にAndroid VPN接続を確立できるクライアントは1つだけです。テスト時は現在の接続を切断してから別のクライアントを起動し、接続の切り替えをノード障害と誤認しないようにしてください。
アップグレード後にウェブページを開けません。まず元に戻すべきですか?
まず「設定」でローカルポート、DNS、ルーティングモード、現在のコアに変更がないか確認し、既知の利用可能なノードでテストします。新しいバージョンと既存設定の間に安定した互換性問題があると確認できた場合に限り、バックアップした設定を復元してください。
移行時に保存しておく最小限の情報
- サブスクアドレスとサブスクグループ名。移行後に異なる提供元を区別できなくなるのを防ぎます。
- 現在のノードで使っているプロトコル、サーバーポート、通信方式、TLSまたはRealityのパラメータ。
- ローカルSOCKSとHTTPのリスニングポート。特にブラウザーや開発ツールへプロキシアドレスを手入力している場合は必須です。
- ルーティングモード、アプリごとのプロキシ対象リスト、カスタムDNS、LAN接続の権限。
- 現在のクライアントバージョンとコアのバージョン。差異が生じたときの正確な再現に役立ちます。
最終判断:デバイスとノードの種類で決める
主なデバイスがWindows、macOS、Linuxならv2rayNを選びます。デスクトップのシステムプロキシ、TUN、サブスクグループ、コア管理、複雑なルーティングをカバーし、多くのデスクトップ用途を1つの画面にまとめられます。初回はサブスクをインポートし、ノードを1つ選んで遅延を測定してからシステムプロキシを起動します。システムプロキシを読み取らないアプリがある場合だけ、TUNを設定してください。
Android端末で、サブスクにVLESS、Reality、Visionが含まれる、またはXrayが明示的に必要ならv2rayNGを選びます。Xray系プロトコルとの相性がよく、アプリごとの振り分けが必要なモバイル環境にも適しています。初回設定は「サブスク設定」→「サブスクを更新」→ノードを選択→接続開始の順に行い、必要に応じて「設定」→「アプリごとのプロキシ」を有効にします。
Androidで長期運用しているVMess設定を使い、サーバー側と既存ルールがv2flyコアを中心に管理されている場合は、v2flyNGを選ぶと同じコア系列の実行挙動を維持しやすくなります。移行前にはサブスクの項目を確認してください。クライアント名が似ていても、Xray専用設定がすべてそのまま動くとは限りません。
- デスクトップでの日常利用:v2rayNを選び、まずシステムプロキシから始めます。
- Androidの新しいプロトコルのノード:v2rayNGを選び、XrayとRealityのパラメータを重点的に確認します。
- Androidの既存v2fly環境:v2flyNGを選び、サーバーとクライアントでコアの設定仕様をそろえます。
- 複数デバイスでの利用:パソコンにはv2rayNをインストールし、Androidではノードのコアに応じてv2rayNGまたはv2flyNGを選びます。クライアント名を統一する必要はありません。