v2rayN・v2rayNG・v2flyNGの選び方|対応プラットフォームとコアを比較

対応OS、標準コア、サブスクリプションの取り込み、ルーティング、操作性の5項目で3つのクライアントを比較。PC・Androidそれぞれの選び方を解説します。

この記事の概要

PCならv2rayN、Androidならサーバー設定に応じてv2rayNGまたはv2flyNGを選びましょう。共有リンクやサブスクリプションURLを入手済みで、クライアントの新規導入や乗り換えを検討している方向けに、まず対応プラットフォームとコアを確認し、プロトコル、トランスポート、セキュリティ設定、ルーティングを照合する手順を解説します。名前や画面の似ている・いないだけで判断せず、最後に同じ手順で接続を検証しましょう。

1. 対応プラットフォームとコア:3つのクライアントの違い

v2rayN、v2rayNG、v2flyNGはいずれもクライアントであり、3種類のプロキシプロトコルではありません。クライアントはノードの表示、サブスクリプションの取り込み、設定の管理、コアの起動を担います。実際の接続やプロトコル処理、DNS、ルーティングを行うのはコアです。そのため、「リンクを取り込めること」と「リンク内のすべてのパラメーターを使って接続できること」は別です。

v2rayNはPC向けです。Windows、macOS、Linuxに合わせて配布パッケージを選びます。PC版にはクロスプラットフォームのUIがあり、WPF版では従来のWindows向け画面を利用できます。v2rayNGとv2flyNGはAndroid向けで、それぞれXray、V2Flyをコアとして使用します。v2rayNで実際に使われるコアは、配布パッケージ、設定の種類、選択した設定によって異なるため、すべてのインストーラーに共通する標準コアがあるとは限りません。

比較項目v2rayNv2rayNGv2flyNG
対応プラットフォームWindows、macOS、Linux(配布パッケージを選択)AndroidAndroid
コアバージョンと設定に応じてXray / V2Flyを利用可能XrayV2Fly
設定の追加方法サブスクリプショングループ、クリップボードから取り込み、手動設定サブスクリプショングループ、クリップボードから取り込み、QRコード読み取りサブスクリプション設定、クリップボードから取り込み、QRコード読み取り
通信の取り込みローカルプロキシポート、システムプロキシ。TUNはバージョンと権限に応じて設定通常、Android VPNサービスを通じて通信を取り込む通常、Android VPNサービスを通じて通信を取り込む
ルーティングの使い方キーボードでの編集、ノードの一括管理、ログの照合に向いているルーティング設定とアプリごとのプロキシ設定を併用ルーティング設定とアプリごとのプロキシ設定を併用

選ぶ順番:プラットフォーム → 設定の互換性 → 操作性

まず対応プラットフォームが異なるパッケージを候補から外し、次にサーバー側が必要とするコア機能を確認します。これらの条件を満たしたうえで、リスト操作、サブスクリプション管理、画面構成を比べましょう。

2. プロトコルの互換性:VLESSとREALITYは分けて確認

VMessとVLESSはプロキシプロトコルの名称です。TCPやWebSocketはトランスポート方式、TLSやREALITYは接続のセキュリティに関わる設定です。REALITYはVMessと並ぶ独立したプロキシプロトコルではありません。また、クライアントにVLESSの選択肢があるからといって、あらゆるVLESSの組み合わせに対応するとは限りません。

たとえばVLESS + REALITYの設定では、アドレス、ポート、ユーザーIDに加えて、サーバー名、公開鍵、ショートID、指定がある場合はフロー制御の値も一致させる必要があります。この種の設定を確認する際は、まずv2rayNGのXrayコアを検討しましょう。v2flyNGはV2Flyを使用するため、Xray専用のREALITY設定をそのまま適用することはできません。VMessノードもプロトコル名だけで判断せず、トランスポート、TLS、パスを確認してください。

3. 利用シーンで選ぶ:PCでの管理とAndroidでの日常利用

インストールするクライアントを決めるだけなら、以下の3つの用途を基準に選べます。ここでの「おすすめ」は、Androidでの日常利用かつサーバー設定がXrayに対応する場合に限ります。プラットフォームを問わない総合ランキングではありません。PCではPC向けクライアントを選んでください。

v2rayNG:Android向けのXray系クライアント

おすすめ

Android向けで、Xrayが対応する設定に適しています。取り込み後はトランスポート、セキュリティ設定、ルーティング、アプリごとの設定も確認しましょう。「取り込み成功」だけで接続できたと判断せず、実際に通信をテストしてください。

おすすめの用途:Androidでの日常的な接続、Xray設定の利用、VLESS + REALITYが必要な場合。

v2rayN:PCでの設定管理に便利

ノード一覧、サブスクリプショングループ、ログ画面をPCで扱いやすいのが特長です。利用前にOSとCPUアーキテクチャに合うパッケージを選び、コアを切り替える場合は既存の設定を新しいコアが認識できるか確認しましょう。

おすすめの用途:Windows、macOS、LinuxのPCで、ノードをまとめて管理したい場合や接続の問題を調べたい場合。

v2flyNG:Android向けのV2Fly系クライアント

V2Flyの設定環境にそろえたい場合に適しています。選ぶ基準は、利用中のサーバーと設定の互換性です。名前にV2Flyが含まれていることは、速度や安定性を保証するものではありません。

おすすめの用途:動作確認済みのV2Fly設定を使っており、Androidでも同じコア実装を使い続けたい場合。

4. サブスクリプションの取り込み:URLを共有しても設定はすべて同期されない

共有リンクには通常、1つのノードの接続パラメーターが含まれます。サブスクリプションURLは複数の設定を取得するためのもので、更新時にノードが追加・削除・変更されることがあります。どちらのクライアントでも使うには、配信内容が両方の解析機能に対応している必要があります。同じノードを使っていても、DNS、ルーティング、アプリごとのルール、システムプロキシの状態まで同期されるわけではありません。

  1. PCでサブスクリプションを追加:v2rayNで「サブスクリプショングループ」→「サブスクリプショングループ設定」を開き、新しいグループを作成してURLを入力します。保存後、「サブスクリプショングループ」メニューから更新してください。画面のバージョンによってメニュー名が多少異なる場合があります。
  2. Androidでサブスクリプションを追加:v2rayNGのサイドメニューから「サブスクリプショングループ設定」を開き、URLを追加して保存します。メイン画面に戻り、メニューから「サブスクリプションを更新」を実行してください。URLを追加しただけで更新していない場合、ノード一覧は空のままになることがあります。
  3. 共有リンクを個別に取り込む:リンク全体をコピーし、「クリップボードから取り込み」などの項目を使うか、QRコードを読み取ります。v2flyNGでもノードの取り込みとサブスクリプション管理は別の項目です。WebページのURLを共有リンクとして扱わないでください。
  4. 初回更新後に設定を確認:ノードの編集画面を開き、サーバーから提供されたプロトコル、ポート、トランスポート、セキュリティ設定と照合します。重要な項目が欠けている場合は、接続前に形式の互換性を解決してください。

PCとAndroidで使う場合:対応するサブスクリプションを共有し、端末ごとの設定は個別に管理

PC:v2rayN
  • 手動で追加したノードと混ざらないよう、サブスクリプション専用のグループを作成する。
  • 現在の設定で使うコアとローカルの待ち受けポートを確認する。
  • システムプロキシ、ルーティング、DNSは個別に設定する。
Android:v2rayNG
  • 同じURLを使う前に、ノード形式を正しく解析できることを確認する。
  • 実際にプロキシを使うアプリを選択する。
  • モバイル回線とWi-Fiで、それぞれDNSと接続を個別に確認する。

サブスクリプションで同期できるのはノードの取得元です。更新タイミング、解析結果、端末ごとの設定はそれぞれ確認し、両端が常に完全に一致すると考えないでください。

サブスクリプションURLにアクセス用の認証情報が含まれる場合があります。問題を調べる際は、ステータスコードやエラー、必要最小限の項目だけを記録し、URL全体を公開画像に載せないでください。購読ノードを手動で編集した場合は、次回の更新で変更が上書きされる可能性があるため、更新前にコピーを保存してください。

5. ルーティングと通信の取り込み:接続ボタン以外に確認すること

PCで「コア実行中」と表示されても、ローカルサービスが起動しただけで、すべてのアプリの通信がプロキシ経由になるとは限りません。システムプロキシの設定が適用されるのは、主にその設定に従うアプリです。コマンドラインツールでは、プロキシを個別に指定する必要がある場合があります。TUNはより広い範囲の通信を取り込めますが、権限、ルーティング、DNSの設定も関わります。どの環境でもワンクリックですべての通信を制御できるわけではありません。

Androidでは通常、VPNサービスを通じて通信を取り込み、起動時にシステムの許可が必要です。同じシステム通信経路を使う別のアプリが動作に影響することもあります。アプリごとのプロキシ設定でVPN経由にするアプリを選び、その後、コアのルーティング設定で接続を直接接続にするかプロキシ経由にするか決めます。この2つは別の設定なので、一方を変えてももう一方は変わりません。

たとえば、ローカルのSOCKS待ち受けポートが実際に127.0.0.1:10808に設定されている場合に限り、次のコマンドが使えます。ここにある10808はテスト用の例であり、3つのクライアント共通の固定ポートではありません。socks5hは接続先のドメイン名をプロキシ側で名前解決するため、ローカルの名前解決に問題があるかを切り分けるのに役立ちます。ただし、一般的なブラウザーも必ず同じ経路を使うとは限りません。

curl --proxy socks5h://127.0.0.1:10808 --head --max-time 15 https://example.com/

乗り換え時は、まずノードを固定してからルーティングを移行

まずパラメーターを確認済みのノード1つで接続テストを行い、その後DNS、ドメインルール、アプリごとの設定を1つずつ追加します。一度に変更する設定を1種類に絞れば、ログから動作が変わった原因を特定しやすくなります。

6. 操作性とよくあるトラブル:再現できる確認手順を残す

v2rayNのPC向けテーブル画面は、複数ノードの選択やログの照合に便利です。Androidクライアントは、ノード一覧、編集画面、接続ボタンを中心に操作します。使い勝手の違いは主に画面サイズやメニューの配置によるもので、ボタンが少ないから機能も少ないとは限りません。アップグレード前にクライアントのバージョン、コアのバージョン、ノードの取得元、重要な設定を記録しておくと、画面変更をプロトコル非対応と誤認するのを防げます。

サブスクリプションは更新できるのに、ノードに接続できないのはなぜ?

サブスクリプションの更新で確認できるのは、URLにアクセスできたことだけです。ノードの編集画面を開き、サーバーのポート、トランスポート方式、TLSまたはREALITYのパラメーターを順に確認してください。次に起動ログで、未対応の項目、ハンドシェイク失敗、認証エラーがないか確認します。更新を繰り返すだけでは解決しません。

v2rayNは実行中なのに、ブラウザーがプロキシ経由にならないのはなぜ?

まずシステムプロキシが設定されているか確認し、ブラウザーに別のプロキシ設定がないかも確認します。設定画面でローカルの待ち受けポートを調べ、そのポートを指定して対象アプリだけでテストしてください。ログにポート競合が表示された場合は、競合するプロセスを終了するかポートを変更し、アプリ側の設定も合わせて変更します。

Androidで一部のアプリだけ接続できません。クライアントを変えるべきですか?

まずアプリごとのプロキシ対象一覧と、現在のモードが「選択したアプリをプロキシ経由にする」のか「選択したアプリを除外する」のかを確認します。次に、接続できないアプリが使うドメインのルーティングとDNSを確認してください。同じネットワークで一度に変更する設定を1つに絞って再テストし、ノード、ルール、クライアントを同時に変更するのは避けましょう。

v2rayNGからv2flyNGに乗り換えるときは、リンクをコピーするだけで大丈夫?

まずリンク内の設定がXray専用の機能に依存していないか確認してください。取り込めても動作するとは限りません。プロトコル、トランスポート、セキュリティ設定を照合したうえで、サブスクリプションと端末内のルールを移行します。REALITY設定を使う場合は、対応するXray機能を備えたクライアントとコアを選んでください。

7. インストール前のチェックリスト

最終的には、プラットフォーム、互換性、管理方法の3点で選べます。PCではv2rayN、AndroidでXray設定を使う場合はv2rayNGをまず検討し、V2Fly環境があり設定にも互換性がある場合はv2flyNGを選択肢に入れましょう。サーバー側の条件を無視して、どれか1つが常に優れているとは言えません。再現できる設定とテスト記録に基づいて選ぶことが大切です。

  1. OSとCPUアーキテクチャに合ったインストーラーか確認し、ファイル名に似た単語があるだけで選ばない。
  2. クライアントと実際に使うコアのバージョンを記録し、ノードに必要なプロトコル、トランスポート、セキュリティ設定を確認する。
  3. 元のサブスクリプションと手動設定を保存する。移行後はノード1つで動作を確認してから、複雑なルーティングを戻す。
  4. Webページ、対象アプリ、DNSを個別にテストし、エラーが発生した時刻と対応するログを残す。
  5. 用語を詳しく確認する場合はプロトコル解説を参照してください。初めて設定する場合は入門ガイドに沿って進められます。
クライアントのダウンロードプラットフォームに合わせてv2rayN / v2rayNGを選択