PCならまずv2rayNを検討しましょう。Androidでは、必要な設定に応じてXrayベースのv2rayNGかV2Flyベースのv2flyNGを選びます。この記事では、GUIクライアント・コア・ノード設定の違いを整理し、サブスクリプションを共有できる範囲、システムプロキシとルーティングルールの関係、PCとAndroidへの導入・移行時の確認手順を解説します。
対応プラットフォーム:PCとAndroidで分けて選ぶ
名前は似ていますが、同じインストーラーの別名ではありません。v2rayNはWindows、macOS、Linuxに対応するデスクトップ向けGUIクライアントです。インストール時にはCPUアーキテクチャと配布パッケージの形式も確認してください。v2rayNGとv2flyNGはAndroid向けで、主な違いは使用するコアと、それぞれが対応する設定の範囲です。PC用のインストーラーはAndroidでは使えず、Android用アプリもデスクトップクライアントの代わりにはなりません。
| 比較項目 | v2rayN | v2rayNG | v2flyNG |
|---|---|---|---|
| 対応プラットフォーム | Windows、macOS、Linuxのデスクトップ | Android | Android |
| コアとの関係 | 複数のコアに対応。実際に使うコアは設定と構成によって異なります | Xray-coreベース | V2Fly-coreベース |
| 設定管理 | サブスクリプションのグループ分け、ノード一覧、ルーティング設定 | サブスクリプションとノードの管理、モバイル端末の接続設定 | サブスクリプションとノードの管理、モバイル端末の接続設定 |
| 主な接続方法 | システムプロキシ、アプリごとのプロキシ。TUNはプラットフォームと設定によります | Android VPNインターフェース経由で端末の通信を取り込む | Android VPNインターフェース経由で端末の通信を取り込む |
| 選ぶ際の優先条件 | デスクトップのOS、アーキテクチャ、必要なコア | Xrayの機能を必要とする設定を使うAndroid端末 | V2Fly向けの設定を使うAndroid端末 |
ここでいう「VPNインターフェース」は、Androidが提供する通信の取り込み方法を指します。ノード自体が特定のVPNプロトコルを使うという意味ではありません。通信がクライアントに取り込まれた後は、コアがノード設定とルーティングルールに従って処理します。また、「インストールできる」ことと「設定が使える」ことは別です。OSのバージョン、CPUアーキテクチャ、コアの対応範囲をそれぞれ確認してください。
標準コア:Androidは採用コア、PCは実際の呼び出しを確認
GUIクライアントはサブスクリプションの取り込み、ノードの編集、サービスの起動・停止、ログの表示を担当します。コアはプロトコル処理、通信接続、ルーティングの実行を担います。v2rayNGはXray-core、v2flyNGはV2Fly-coreを使用します。v2rayNは単一の「標準コア」で説明できません。設定の種類やクライアントの設定によって実際に呼び出されるコアが異なるため、使用中の端末のコア設定と起動ログを確認してください。
v2rayN:デスクトップでの設定管理
PCで複数のサブスクリプションを管理し、ルーティングを調整したり、コアのログを確認したりする用途に向いています。コアを切り替える場合は、プロトコルの項目と選択したコアの両方を確認してください。名前だけを変更しても切り替わりません。
向いている用途:Windows、macOS、Linuxのデスクトップでのサブスクリプション管理とルーティング設定。
v2rayNG:AndroidでXray設定を利用
おすすめXray、VLESS、REALITYを明示的に必要とする設定を使うAndroid端末では、まずこのクライアントで各項目に対応しているか確認しましょう。このおすすめは該当するニーズに限ったもので、すべてのノードを移行すべきという意味ではありません。
向いている用途:Androidでの日常利用。特にXray固有の機能を使うノード。
v2flyNG:AndroidでV2Fly設定を利用
動作確認済みのV2Fly設定がある場合や、同じコアを使う設定との互換性を保ちたい場合に適しています。VMessに対応しているからといって、あらゆる拡張機能の組み合わせが使えるとは限りません。
向いている用途:V2Fly設定との互換性や既存環境を重視するAndroid端末。
選ぶ順番:必要な設定を確認してからコアを選ぶ
設定の提供元にプロトコル、通信方式、TLSまたはREALITYのパラメーターを確認し、必要な項目をすべて設定できるクライアントを選びましょう。インポートに失敗してから、コアを何度も切り替えて試すのは避けてください。
VMessとVLESSはプロトコル名、WebSocketは通信方式、TLSとREALITYは接続のセキュリティ設定に関わる項目です。それぞれ異なる層の設定です。どちらのコアも一般的な設定の一部を扱えますが、対応する機能がすべて同じというわけではありません。特にREALITY設定をV2Fly-coreでそのまま使うことはできません。また、一般的なVMessノードも、クライアント名が違うだけで速度が上がるわけではありません。
サブスクリプション管理:URLは共有できても設定は自動同期されない
サブスクリプションはノード一覧を取得するためのURLであり、アカウント設定全体のバックアップではありません。3つのクライアントはいずれもサブスクリプションを管理できますが、取得した内容がクライアントの対応する形式である必要があります。更新に成功したのは、そのリクエストと解析が完了したことを示すだけです。ノードの認証、サーバーの状態、現在のネットワークから接続できるかどうかは、接続テストとログで別途確認してください。
- まずサブスクリプションの形式を確認します。利用するクライアントに対応したURLを提供元に確認してください。ウェブ管理画面のURLをサブスクリプション欄に入力したり、任意の設定ファイルを汎用ノードサブスクリプションとして扱ったりしないでください。
- 次に専用のグループを作成します。v2rayNで「サブスクリプショングループ」→「サブスクリプショングループ設定」を開き、名前とURLを追加します。保存後、そのグループのサブスクリプションを更新してください。メニュー名はバージョンによって異なる場合があります。
- Android側にも個別に取り込みます。v2rayNGまたはv2flyNGのサブスクリプション管理画面で項目を追加して更新し、ノードを選択して接続を開始します。クリップボードから共有リンクを1件取り込む操作と、サブスクリプションを追加する操作は別です。
- 最後に更新後の選択内容を確認します。使用するノードが一覧に残っていること、アドレス、ポート、通信パラメーターに不足がないことを確認してください。更新後もノードの並び順や手動変更が必ず維持されるとは限りません。
同じサブスクリプションURLをPCとAndroidでそれぞれ更新できますが、複数端末で同時に利用できるかはサービスの利用条件によります。更新のタイミングが異なれば、一覧が一時的に異なることもあります。デスクトップのルーティングルール、Androidのアプリ別設定、システムプロキシのオン・オフ、ローカルの待受ポートは、通常ノードのサブスクリプションと一緒にはコピーされません。移行時は「ノードの取得元」と「端末ごとの動作設定」を分けて記録してください。
通信の取り込みとルーティング:ポート、システムプロキシ、振り分けの役割
デスクトップのシステムプロキシは、その設定を参照するアプリにローカルプロキシポートへリクエストを送るよう指示します。端末全体の通信を強制的に取り込むスイッチではありません。システムプロキシを参照しないプログラムは、直接通信する場合があります。ルーティングルールは通信がコアに入った後、プロキシ経由、直接接続、または遮断のどれにするかを決めます。AndroidでもVPNインターフェースで通信を取り込んだ後、ルーティングによって出口を決めます。
以下のポートは対応関係を示す例であり、すべてのバージョンの標準値ではありません。クライアントで該当するインバウンドが実際に有効な場合に限り、アプリに 127.0.0.1:10808 または 127.0.0.1:10809 を設定します。現在の設定で混合インバウンドポートを使っている場合は、そのポートを指定すればよく、別途2つの待受ポートを作成する必要はありません。v2rayNの「設定」→「パラメーター設定」でローカルの待受に関する項目を確認し、現在の画面とログを基準にしてください。
- デスクトップのブラウザー:まず、システムプロキシがクライアントの待受アドレスを指しているか確認し、その後にルーティングを確認します。ノード横の遅延表示だけで判断しないでください。
- Androidのアプリ別設定:対象アプリが通信の取り込み対象に含まれているかを確認し、プロキシモードとルールを確認します。対象から除外されたアプリは、想定した同じ処理経路を通りません。
- グローバルプロキシ:通常は、取り込まれた通信を選択したモードでプロキシ経由にする設定です。システムプロキシを迂回するすべてのデスクトップアプリを強制的に取り込めるわけではありません。
- 中国本土宛ての通信をプロキシから除外:現在のルールとデータファイルの照合結果に依存し、ウェブページの言語から接続先を判断するものではありません。DNSの結果やルールの順序によって最終的な出口が変わる場合があります。
ローカルの待受ポートとリモートサーバーのポートは別物です。ノードのサーバーポートはサーバー側の設定で決まり、ローカルポートに合わせて変更してはいけません。別の端末からアクセスする場合、その端末上の 127.0.0.1 は別の端末自身を指すため、デスクトップクライアントへの接続には使えません。LAN内で共有する必要がある場合は、待受範囲、認証、ファイアウォールの制限も別途検討してください。
PCとAndroidの併用:取得元を共有し、端末ごとに検証
PCとAndroidを併用する場合、すべての設定を完全に同じにする必要はありません。利用が認められた同じサブスクリプションを使い、各端末ではOSの動作に合った接続設定を行うのが確実です。PCではシステムプロキシとアプリの互換性、AndroidではVPNの許可、アプリ別の対象範囲、バックグラウンド動作の制限を確認します。
導入例:サブスクリプションの取得元は共通、設定は端末ごと
デスクトップ:v2rayN
- Windows、macOS、LinuxとCPUアーキテクチャに合ったパッケージを選ぶ。
- サブスクリプションを取り込んだ後、選択中のノードと実際に呼び出されるコアを確認する。
- 待受ポートを確認してから、システムプロキシを有効にするか、アプリにプロキシを設定する。
- ルーティングモードと必要なカスタムルールを記録する。
Android:コアに合わせて選ぶ
- Xray設定ならv2rayNG、V2Fly設定ならv2flyNGで対応状況を確認する。
- サブスクリプションを個別に追加し、AndroidのVPN接続を許可する。
- アプリ別設定とバックグラウンド動作の権限を一つずつ確認する。
- Wi-Fiとモバイルデータ通信のそれぞれで接続を確認する。
サブスクリプションの共有でノードの重複登録は減らせますが、各端末での権限、ルーティング、接続確認は別途必要です。
クライアントを乗り換える場合は、先にサブスクリプションの取得元とカスタムルールを保存し、旧クライアントの接続サービスを停止してください。AndroidではVPNインターフェースを必要とするサービスを2つ同時に起動しないようにします。後から起動したサービスが通信を取り込み、先のサービスが切断される場合があります。新しいクライアントを検証するときは、まず動作確認済みのノードを1つ使い、その後にアプリ別設定と複雑なルーティングを戻すと、問題の発生箇所を切り分けやすくなります。
よくある選び方の疑問:インポート・接続・移行
PCで同じサブスクリプションが使えるのに、Androidでは取り込めないのはなぜ?
まず「ダウンロード失敗」と「解析失敗」を区別してください。ダウンロード失敗なら、現在のネットワーク、URLの有効期限、クライアントの更新方法を確認します。解析失敗なら、提供元がそのクライアントに対応した形式を返しているか確認してください。機密情報を含まない同じ種類のテスト設定を取り込み、プロトコル項目が対応しているかを確認する方法もあります。サブスクリプション全体を公開の掲示板に投稿しないでください。
v2rayNGからv2flyNGに替えたら、ノード設定はそのまま使える?
ノード名だけでは判断できません。プロトコル、通信方式、セキュリティパラメーターを確認してください。Xray固有の機能を使う設定がV2Flyでも使えるとは限りません。共有リンクを1件取り込めても、項目が欠落していないか確認してから接続を開始し、ログを確認してください。ルーティングとアプリ別の対象設定も別途必要です。
ノードは使用可能と表示されるのにウェブページが開かない。クライアントを替えるべき?
まずはクライアントを替えずに確認してください。デスクトップでは、システムプロキシが実際の待受ポートを指しているか、ポートが競合していないかを確認します。Androidでは、VPNアイコン、通信を取り込むアプリの範囲、動作状態を確認してください。次にDNS、ルーティングルールの適用状況、ノード接続ログを確認します。疎通テストに成功しても、すべてのアプリのリクエストが同じ経路を通っているとは限りません。
どのクライアントが最速?XrayとV2Flyだけを見ればいい?
コア名だけでは判断できません。比較する際は、端末、ネットワーク、ノード、接続先、ルーティングモード、テスト時間帯をそろえ、各設定で複数回測定して失敗も記録してください。サーバーの負荷、回線の混雑、通信設定によって結果は変わります。条件が統一されていないデータで、3つのクライアントの速度順位を決めるのは適切ではありません。
インストール前の確認:選択を実際の設定に反映する
クライアント選びは、機能の数から始める必要はありません。まず現在のOSに対応しないインストーラーを除外し、次にノードが必要とするコアの機能を確認します。最後にサブスクリプション、通信の取り込み、ルーティングを適切に設定できるかを確認してください。安定して使えている設定がある場合は、復元できる記録を残してから一つずつ移行しましょう。クライアント、コア、ノード、ルールを同時に変更するのは避けてください。
- 端末を確認:デスクトップではv2rayNを選びます。Androidでは必要なコアに応じてv2rayNGかv2flyNGを選びます。
- 設定を確認:ノード名だけでなく、プロトコル、通信方式、セキュリティパラメーター、サブスクリプション形式を記録します。
- 接続方法を確認:デスクトップではローカルの待受とシステムプロキシを確認します。AndroidではVPNの許可とアプリ別の対象範囲を確認します。
- 出口を確認:まずシンプルなルーティングでノードを1つ検証してから、必要な振り分けルールを有効にします。
- トラブル対応用の情報を準備:機密情報を隠したエラーログを保存します。原因を一つずつ切り分ける場合はトラブルシューティングを、用語を確認する場合は用語集を参照してください。