まずデバイスに合うクライアントを選び、次にノードが必要とするコアとの互換性を確認しましょう。Windows、macOS、Linuxならv2rayNから。AndroidでXrayノードを使う場合はv2rayNG、既存のv2fly設定を使う場合はv2flyNGを検討します。サブスクリプションで同期されない設定、システムプロキシとTUNの使い分け、乗り換え前に控えておく項目も解説します。
1. 対応OSとコア:ノードが動作するか確認
v2rayN、v2rayNG、v2flyNGはいずれも設定・接続を管理するツールですが、名前が似ていても相互に置き換えて使えるわけではありません。クライアントはサブスクリプションを保存し、設定を生成して接続を制御します。コアはプロトコルの処理、ルーティングの判定、データの転送を担います。互換性を確認するときは、クライアントと実際に動作しているコアのバージョンを両方記録してください。
v2rayN:デスクトップ向け
おすすめWindows、macOS、Linuxで利用できます。ノード、サブスクリプション、ルーティングをまとめて管理できます。利用できるコアやTUN機能は、配布パッケージ、バージョン、システム環境によって異なります。
おすすめの用途:デスクトップのブラウザーや開発ツール、複数のサブスクリプション管理。
v2rayNG:Android向け、Xrayコア
AndroidのVPNサービスを通じてアプリの通信を取り込みます。VLESS、REALITY、XTLS Visionを使うノードでは、同梱されているXrayのバージョンとインポート項目を事前に確認してください。
おすすめの用途:Androidでの日常的な接続、Xrayノード、アプリごとのプロキシ設定。
v2flyNG:Android向け、v2flyコア
v2fly互換の設定を使う場合に適しています。VMessなどのノードをすでに利用している場合は、転送方式、TLS、設定形式を個別に確認してください。プロトコル名だけでは互換性を判断できません。
おすすめの用途:v2fly設定をすでに利用している場合、従来のコアの動作を維持したいAndroid端末。
REALITYとXTLS VisionはXray関連の機能です。どちらも名前にV2Rayが含まれるからといって、v2flyの設定をそのまま使えるとは限りません。一方、通常のVMessノードでも、必ずコアを変更しなければならないわけではありません。サーバー側の要件を確認してから、クライアントを選びましょう。
2. 5項目で機能を比較:通信の入口と出口を区別
実際の設定作業に沿って比較します。「機能が多い」という理由だけで選ばないようにしましょう。表中のサブスクリプション管理はノードの取得と解析、ルーティングはコアに入った通信の直結・プロキシ・遮断の選択を指します。TUNとAndroidのVPNサービスは、通信を取り込むレイヤーの機能です。
| 比較項目 | v2rayN | v2rayNG | v2flyNG |
|---|---|---|---|
| 対応OS | Windows、macOS、Linux。OSとアーキテクチャに合ったものを選択 | Android。端末のアーキテクチャに合ったものを選択 | Android。端末のアーキテクチャに合ったものを選択 |
| コア | ノードに対応するコアを選択。Xrayノードには互換性のあるXrayを使用 | Xray。対応するプロトコル機能は同梱コアのバージョンによって異なる | v2fly。v2flyの設定形式とプロトコル機能との互換性を確認 |
| サブスクリプション管理 | グループ分け、更新、ノード選択に対応。更新オプションは現在の画面で確認 | サブスクリプショングループの管理とノード更新に対応。インポート後の項目を確認 | 対応形式のサブスクリプションを管理。ほかの2つと同じように解析されるとは限らない |
| ルーティング | ルール、ドメインごとのポリシー、出口設定を組み合わせる。システムプロキシは別途設定 | コアのルーティングとAndroidのアプリごとのプロキシ設定を組み合わせる | コアのルーティングとAndroidで利用できるアプリ選択設定を組み合わせる |
| TUNと通信の取り込み | 対応状況はバージョン、権限、システムのルーティングに左右される。現在のパッケージでTUNの設定を確認 | 通常はVPNサービス経由で通信を取り込む。デスクトップのシステムプロキシとは異なる | 通常はVPNサービス経由で通信を取り込む。ルーティングとDNSも確認が必要 |
選び方:ノードの要件から候補を絞る
VLESS + REALITY + Visionのノードを使う場合、デスクトップではv2rayNのXray設定、Androidではv2rayNGでまず動作を確認しましょう。サブスクリプション全体を一度に移行せず、まず1つのノードで接続テストを行ってからまとめてインポートしてください。
3. サブスクリプションの共有:ノードが同じでも設定は同期されない
同じサブスクリプションURLをデスクトップとAndroidの各クライアントに登録できます。ただし、サービス提供元が複数端末での利用を許可しており、両方のクライアントで返却形式を解析できることが条件です。URLにアクセス情報が含まれる場合があるため、安全な場所に保管してください。エラー画面を共有する際は、URL全体、ユーザー識別情報、接続キーを隠しましょう。
おすすめの構成:同じ配信元のノードをデスクトップとAndroidで個別に管理
デスクトップ:v2rayN
- 「サブスクリプショングループ」→「サブスクリプショングループ設定」からURLを追加します。メニュー名はバージョンによって異なる場合があります。
- 該当するグループのサブスクリプションを更新し、ノード数とプロトコルを確認します。
- ルール、システムプロキシの方式、ローカルの待ち受けポートは個別に保存します。
Android:v2rayNGまたはv2flyNG
- 「サブスクリプショングループ設定」に同じ配信元のURLを追加し、サブスクリプションを更新します。
- まず両方で解析できるノードを1つ選び、アドレス、ポート、転送パラメーターを確認します。
- アプリごとのプロキシ設定、DNS、バックグラウンド実行の権限は個別に設定します。
サブスクリプションはそれぞれの端末で更新します。更新のタイミング、解析機能、サーバーから返される内容によってノード一覧が異なる場合があります。ローカルのルールや権限は、ノードのサブスクリプションでは自動同期されません。
デスクトップに12個、Androidに9個のノードが表示されても、すぐにネットワーク障害と判断しないでください。まず、表示されない3個が別の形式や非対応の項目を使っていないか確認し、更新ログに解析エラーがないか調べます。サブスクリプションサービスがリクエスト元によって異なる内容を返していないかも確認しましょう。何度更新しても、形式の違いは解決できません。
- 更新に失敗する場合:URLの失効、接続タイムアウト、解析エラーを切り分けます。更新リクエストにプロキシが必要な場合に限り、画面で選べるプロキシ経由の更新方法を使ってください。
- 更新後に手動変更が消えた場合:サブスクリプション項目が再生成された可能性があります。残したい設定は手動ノードとして別に保存し、サブスクリプションのノードと分けて管理してください。
- 接続台数に制限がある場合:サーバー側の同時接続数の上限を確認してください。サブスクリプションURLをコピーしても、利用可能な接続数は増えません。
4. システムプロキシ、TUN、AndroidのVPNサービスの使い分け
デスクトップのブラウザーがシステムプロキシに従う場合は、通常、v2rayNのシステムプロキシ設定で十分です。プロキシを手動指定するアプリには、クライアントが実際に待ち受けているプロトコル、アドレス、ポートを設定してください。システムプロキシを使わないアプリでは、必要に応じてTUNを検討します。TUNを有効にしてもルーティングとDNSの設定が必要です。すべての接続問題が自動で解決するわけではありません。
- まずローカルの接続先を確認。v2rayNの「設定」→「パラメーター設定」で待ち受け項目を確認します。HTTPの接続先を
127.0.0.1:10809に設定した場合、アプリ側も同じアドレスを指定する必要があります。これは設定例であり、すべてのバージョンの初期値ではありません。 - 変更する項目は一度に1つだけ。まずTUNをオフにし、HTTPプロキシに対応したアプリでノードとシステムプロキシを検証します。接続先が正常に動作したら、ほかのアプリに仮想ネットワークインターフェースが必要か検討してください。
- TUNが必要な場合に権限を許可。現在のバージョンの案内に従って権限を設定し、仮想ネットワークインターフェース、デフォルトルート、DNSを確認します。有効時と無効時の両方で、直結サイトとプロキシ経由のサイトにアクセスしてテストしてください。
- Androidでは先にVPNの利用を許可。v2rayNGまたはv2flyNGで接続を開始するときにシステムの許可を確認し、その後でアプリごとのプロキシを設定します。システムにVPNのアイコンが表示されても、接続先ノードが使えるとは限りません。
アプリごとのプロキシ設定にある「選択したアプリのみ」と「選択したアプリを除外する」は、対象が逆になります。テストではブラウザーを1つだけ選択し、接続を再確立してから対象ページを開き、設定の方向が正しいことを確認してから対象を広げてください。Androidでは通常、一般的なVPNサービスを2つ同時に実行できません。クライアントを切り替えるときは、先にもう一方を停止し、接続の競合をノードの障害と誤認しないようにしましょう。
5. クライアントの乗り換え前に同じ条件で検証
同じノードを2つのクライアントで使っても、遅延の結果を単純に比較できるとは限りません。TCP接続テスト、プロキシ経由のWebアクセス、実際のダウンロード速度は、それぞれ異なる段階を測定します。ノード、ネットワーク、接続先、測定時刻が異なれば結果も変わるため、特定のクライアントが常に速いとは判断できません。
- 現在の設定を控える:サーバーアドレス、サーバーポート、ユーザー識別子、転送方式、TLS、SNI、パス、REALITYに必要な項目を記録します。サーバーポートとローカルのプロキシポートを混同しないでください。
- テスト条件をそろえる:同じノード、ネットワーク、接続先ページを使います。クライアントは1つずつ有効にし、ルーティングポリシーもできるだけそろえてください。
- 3項目を個別に確認:ノードに接続できるか、接続先のドメインを名前解決できるか、リクエストが正しい出口にルーティングされるかを確認します。ログのタイムアウト1件だけでは十分な検証になりません。
- 再現可能な結果を記録:同じページを3回続けて開くなど、成功回数とエラーの種類を記録します。これは問題の切り分け方法であり、3つのクライアントの性能測定データではありません。
- 最後にルーティング設定を戻す:基本の接続を確認した後、アプリごとのプロキシ、複雑なルーティング、カスタムDNSを1項目ずつ追加し、その都度テストしてください。
移行時に設定ファイル全体をそのまま上書きしないでください。コアによって設定構造、DNSの動作、ルーティングオプションが異なる場合があります。クライアントが生成する内部設定は、異なる端末間で共有する形式にも適していません。まず互換性のあるノードリンクをインポートし、移行先のクライアントでローカル設定を作り直しましょう。
6. クライアント選びに関するよくある質問
デスクトップでv2rayNを使っています。Androidでも同じ名前のクライアントを探すべきですか?
端末に合わせて選べば問題ありません。AndroidでXrayノードを使う場合はv2rayNGから、既存のv2fly設定を使う場合はv2flyNGを検討してください。サブスクリプションを移行先に登録した後、ルーティング、DNS、対象アプリの範囲を設定し直します。デスクトップのインストールフォルダーをコピーする必要はありません。
v2flyNGでREALITYを含むサブスクリプションをそのまま使えますか?
サブスクリプションをインポートできたかどうかだけでは判断できません。対象のノードがREALITYやVisionを必要とするか確認してください。それらが必要な場合は、対応する機能を備えたXrayクライアントとコアを選びます。サブスクリプション内のほかのノードは、それぞれ個別に互換性を確認してください。
Androidでは接続できるのに、パソコンのブラウザーでは開けません。クライアントを変えるべきですか?
まずv2rayNで、選択中のノードとコアが正常に起動しているか確認し、次にシステムプロキシとブラウザー独自のプロキシ設定を確認してください。ブラウザーで127.0.0.1:10809を手動指定する場合は、そのポートが実際に待ち受けている必要があります。その後、ルーティングとDNSを確認してください。
v2rayNGに切り替えたら、一部のアプリだけがネットにつながるのはなぜですか?
アプリごとのプロキシ設定で対象範囲を逆に選んでいないか、アプリが仕事用プロファイルなど別の環境にないか確認してください。一時的にアプリの選択を解除して再接続し、結果を比較します。基本の接続が戻ったら、プロキシが必要なアプリを1つずつ追加してください。
3つのクライアントをすべてインストールする必要がありますか?
端末とノードの要件に合うものをインストールしてください。デスクトップにはv2rayN、Androidではコアの要件に合ったクライアントから始めましょう。比較のために必要な場合だけ別のクライアントを追加します。テスト中は通信を制御するクライアントを1つに絞り、ルーティングやVPNサービスの競合を避けてください。