まず対応プラットフォーム、次にコアと設定

V2Rayクライアント比較

v2rayN・v2rayNG・v2flyNGの選び方

まず使う端末に対応したクライアントを選び、次にサーバー設定で必要なコアを確認しましょう。サブスクリプションのインポート、ルーティング、通信の転送はそれぞれ別の機能です。機能名だけで選ばないようにしましょう。

デスクトップの第一候補

v2rayN

Windows、macOS、Linuxで利用できます。サブスクリプション、ルーティング、実行ログを一元管理でき、デスクトップで設定を確認しながら使うのに適しています。

デスクトップ版を選ぶ →
Androidの第一候補

v2rayNG

Xrayコアを採用しています。サブスクリプションをインポートしてVPN接続を許可した後、必要に応じてアプリごとのプロキシを設定します。v2flyNGはコアの要件が明確な場合の代替候補です。

Android版を選ぶ →

対応プラットフォーム・コア・機能の比較

メンテナンス状況は定性的な目安であり、更新頻度や機能の提供を保証するものではありません。画面上の項目名や利用できる機能はリリースによって異なる場合があります。下表より、配布パッケージの説明と実際のアプリ画面を優先してください。

画面が狭い場合は、表を横にスクロールして3つのクライアントの違いをご確認ください。

v2rayN・v2rayNG・v2flyNGの対応プラットフォームと機能の比較
比較項目 v2rayN v2rayNG v2flyNG
対応プラットフォーム Windows / macOS / Linux Android Android
コア Xrayがよく使われます。ほかのコアに対応しているかは各リリースをご確認ください Xray v2fly
メンテナンス状況 活発にメンテナンス中 活発にメンテナンス中 継続的にメンテナンス中。v2fly系の代替候補
使い始めやすさ 基本的なインポートは簡単。システムプロキシとTUNの違いに注意 基本的な接続は簡単。VPNの許可とバックグラウンド動作の制限に注意 基本的な手順は同様。コアの互換性を別途確認
サブスクリプション管理 サブスクリプション設定で配信元、メモ、更新を管理 サブスクリプション設定で配信元を管理。サーバーのフィルタリングも設定可能 サブスクリプションを管理可能。フィルタリングや更新の項目は実際の画面で確認
ルーティング設定画面 ルーティング設定に対応。ルールの編集や設定の切り替えが可能 ルーティング設定に対応。ドメイン、IP、アプリごとの設定と組み合わせて利用 ルーティング関連の設定に対応。ルールの項目はv2flyの対応範囲に準拠
TUNと通信の転送 TUN関連の設定が可能。システム権限と必要なコンポーネントが必要 AndroidのVPNインターフェースで通信を転送。デスクトップのTUN設定とは別の機能 AndroidのVPNインターフェースで通信を転送。ネットワークスタックの選択肢は各リリースで異なります
おすすめのユーザー デスクトップ利用、ルール編集、複数サブスクリプションの管理 Androidを日常的に使う方、アプリごとのプロキシ設定、Xray設定の利用者 v2fly設定をすでに利用しており、プロトコルと設定項目の互換性を確認できるAndroidユーザー

v2rayN:デスクトップでのサブスクリプション・ルーティング管理

Windows / macOS / Linux

デスクトップで使うなら、まずv2rayNを検討しましょう。設定一覧、サブスクリプションのグループ、ルーティング設定、ログをGUIでまとめて管理でき、変更内容を確認しながら操作できます。初回は「サブスクリプショングループ設定」にURLを追加して更新し、使う設定を選択します。接続できているかは、トレイアイコンや接続状態だけでなく、ログと実際のアプリでの通信を確認してください。

システムプロキシとTUNは別々に選ぶ

システムプロキシの影響を受けるのは、システムのプロキシ設定に従うアプリです。TUNはネットワーク層で通信を転送するため、対象範囲や必要な権限が異なります。主にブラウザーで使うなら、まずシステムプロキシを試しましょう。システムプロキシを利用しないアプリがある場合は、TUNを検討してください。有効にする前に、ローカルネットワークへのアクセス、DNSの処理、ほかのネットワークツールとの競合を確認しましょう。Windows、macOS、Linuxでは権限の許可手順も異なります。

Windowsのダウンロードページには、Desktop版と従来のWPF版があります。Desktopは新世代のクロスプラットフォームUI、WPFは従来のUIを採用した版です。プロキシプロトコルの違いや、設定性能によるランク分けではありません。WPFの操作に慣れている場合はそのまま使い続けられます。複数のデスクトップOSで近い操作感を求める場合は、Desktop版を検討してください。macOSではチップのアーキテクチャに合わせて選び、Linuxではディストリビューションのパッケージ形式とCPUアーキテクチャを確認しましょう。

上級者にとってのメリットは設定を細かく管理できることであり、インポートするだけで最適なルーティングになるわけではありません。サブスクリプションから取得するサーバー設定と、ローカルのルーティング設定は分けて管理しましょう。コアを変更する場合は、トランスポート、セキュリティ層、独自の設定項目がサポートされているかも確認してください。画面に設定を入力できても、コアで動作するとは限りません。

v2rayNのダウンロードページを見る →

v2rayNG:Androidの基本的な第一候補

Xrayコア

サブスクリプションのインポートからAndroidクライアントを使い始めたい方には、v2rayNGが適しています。サブスクリプションURLは「サブスクリプショングループ設定」に追加して保存し、その後に更新します。共有リンクを1件だけ追加する場合は、対応するインポート項目を使います。どちらも設定として登録されますが、更新方法は異なります。配信元ごとにグループを分けておくと、URLの期限切れや更新失敗の原因を特定しやすくなり、一覧を1件ずつ確認する手間を減らせます。

VPNの許可とアプリごとのプロキシ設定

初めてVPNモードを使うときは、AndroidのVPN接続リクエストを許可してください。ステータスバーにVPNアイコンが表示されるのは、通信を転送するインターフェースが確立したことを示すもので、接続先のサーバーが利用可能であることを意味しません。ローカルのプロキシポートだけを使う場合は「プロキシのみモード」も選べますが、アプリ側でプロキシを明示的に設定する必要があります。すべてのアプリの通信が自動的に転送されるわけではありません。

「アプリごとのプロキシ」では、プロキシ処理の対象にするアプリを指定します。これはルーティング設定とは別の段階です。まずアプリを処理対象に含め、その後、ドメインやIPなどのルールに従って通信の出口が決まります。特定のアプリでアクセスできない場合、すぐにDNSを変更するのではなく、まずそのアプリが対象に含まれているか、次にルーティング設定を確認しましょう。OSの更新後やアプリの再インストール後も、対象アプリの選択が意図したとおりか確認してください。

Xrayコアは、対応するプロトコルやセキュリティ層の設定が必要な場合に適しています。ただし、プロトコル名が同じでも、すべての設定項目を共通して使えるとは限りません。通信のスニッフィング、FakeDNS、Muxを有効にする前に、動作確認済みの基本設定を保存し、変更は一度に1項目ずつ行いましょう。問題が起きたときに変更箇所を特定しやすくなり、複数の設定を同時に変えて戻せなくなる事態を防げます。

v2rayNGのインストールパッケージを選ぶ →

v2flyNG:v2flyコアを使う場合の代替候補

Android · v2fly

v2flyNGを選ぶ主な理由は、v2fly設定をすでに使っている場合や、特定のコアが必要な場合です。v2rayNGと名前が似ていることが理由ではありません。どちらもAndroid向けのGUIクライアントですが、対応するプロトコル、セキュリティ層、設定項目はコアによって異なる場合があります。Xray環境から共有されたリンクを使う場合は、各設定項目に対応する実装があるか事前に確認しましょう。特定のコアの機能をProject V全体で共通するものと考えないでください。

基本設定を確認してから、複雑なルールを戻す

移行時は、配信元が明確で互換性を確認できた設定を1つ追加し、基本的なルーティングで接続を確認してから、サブスクリプションのグループや独自ルールを少しずつ戻しましょう。インポートした設定が不完全な場合は、まず形式とコアの対応範囲を確認してください。起動ログに未知の設定項目が表示されたら、何を意味する設定なのか元の設定を確認しましょう。再インストールを繰り返しても解決にはなりません。サブスクリプションを読み込めたことから分かるのは、形式を解析できたということだけです。含まれるすべての設定が現在のコアで使えるとは限りません。

v2flyを使った経験があり、設定を分けて管理できる方には、目的に応じた選択肢になります。コアの要件が特にないAndroid初心者には、まずv2rayNGがおすすめです。端末が古いという理由だけでv2flyNGに切り替えるのも避けましょう。互換性はOSの要件、CPUアーキテクチャ、バックグラウンド動作の制限、実際に使う機能などによって決まるため、クライアント名だけでリソース消費を判断することはできません。

v2flyNGの代替版を見る →

用途に合わせた選び方

移行前に確認する設定

クライアントを変更するときは、「サーバー設定」と「端末側の通信設定」を分けて考えましょう。前者にはアドレス、ポート、トランスポート方式、セキュリティ層、認証情報が含まれます。後者にはシステムプロキシ、VPNモード、DNS、ルーティング、対象アプリ、待ち受けポートが含まれます。通常、サブスクリプションで引き継がれるのは記載された設定だけで、別の端末の利用環境全体が自動的にコピーされるわけではありません。

  1. 元に戻せる設定を残す。元のグループ名やメモ、ルーティングモード、DNSの設定を記録し、設定を安全に保存してください。サブスクリプションURLや共有リンクには認証情報が含まれることがあるため、完全な内容を公開スクリーンショットや質問文に載せないでください。
  2. プロトコルとセキュリティ層の互換性を確認する。移行先のクライアントのコアが必要な設定項目に対応しているか確認してください。インポートや起動に失敗した場合は、リンクの解析に失敗したのか、コアが設定を受け付けなかったのかを切り分けましょう。どちらもサブスクリプションの無効化を意味するわけではありません。
  3. 通信の二重転送を避ける。同じ端末でクライアントを切り替える場合は、まず元のクライアントを停止してください。デスクトップでは古いシステムプロキシ設定が残っていないか確認し、Androidでは現在のVPN接続をどのアプリが確立しているかを確認してから、新しいクライアントを起動しましょう。
  4. 通信できる範囲を1つずつ確認する。プロキシが必要なアプリ、ローカルネットワークのリソース、直接接続する予定のサイトをそれぞれテストしてください。基本接続が正常に動作してから、アプリごとのプロキシ、複雑なルーティング、DNSの変更を戻しましょう。