AndroidでVLESS + REALITYのノードを使うなら、Xrayを内蔵するv2rayNGが第一候補です。V2Fly向けの設定がある場合は、v2flyNGも選択肢になります。デスクトップでv2rayNを使う際は、クライアント名だけで判断せず、実際に起動するコアを確認しましょう。この記事では、名称の整理、ノードの見分け方、インポート後の確認、トラブルの切り分けを順に解説します。クライアントの乗り換えや、インポート後に接続できない場合、コアを更新すべきか迷っている場合に役立ちます。
クライアントとコアの違いを確認
v2rayNG、v2flyNG、v2rayNは、画面操作やシステムとの接続機能を提供するクライアントです。サブスクリプションのグループやノード一覧、システムプロキシの切り替えなどは通常クライアントが管理します。一方、プロトコルのハンドシェイク、外向き接続、ルーティング、DNS処理は主に呼び出されたコアが担当します。クライアントの更新とコアの更新は関連しますが、同じものではありません。
この名称の背景を理解するうえで、Project Vは重要です。V2FlyコミュニティはV2Rayコアの開発を引き継いでおり、コアプログラムや設定には現在もV2Ray、v2rayなどの名称が使われています。Xray-coreは2020年に関連コードを基盤として分岐し、その後、独自の機能とリリース方針を築きました。両者には共通の歴史がありますが、現在すべての設定をそのまま相互利用できるわけではありません。
- v2rayNG:Android向けクライアントで、Xrayコアを内蔵しています。インポートや接続の開始・停止はアプリが行い、実際の接続処理はコアが担当します。
- v2flyNG:Android向けクライアントで、V2Flyコアを使用します。このコア向けに作成された設定の確認や実行に適しています。
- v2rayN:デスクトップ向けクライアントです。使用されるコアは、現在のバージョン、ノード設定、起動ログで確認してください。名称に「v2ray」とあるだけで、実際に動作するコアは判断できません。
サブスクリプションもコアではありません。サブスクリプションURLから取得するのはノード情報や設定データで、クライアントが実行可能な設定に変換します。ノード名が表示された場合、インポート処理が完了したことは分かりますが、すべての転送パラメーターが保持されたことや、使用するコアがそれらに対応していることまでは確認できません。
プロトコルの違いはパラメーターの組み合わせで確認
選ぶ前にノードの編集画面を開き、プロトコル、転送方式、通信のセキュリティ設定、flowを確認しましょう。VMess、VLESS、Trojanはプロトコル名、WebSocketやgRPCは転送方式です。TLSやREALITYは接続のセキュリティ設定に関わり、xtls-rprx-visionは特定のフロー制御設定です。それぞれ階層が異なるため、「VLESS対応」という表示だけで設定全体の互換性を判断することはできません。
| ノードの特徴 | 選択の目安 | 確認する項目 |
|---|---|---|
| VLESS + REALITY | その設定に対応するXrayのバージョンを使用 | 公開鍵、shortId、serverName、フィンガープリント、サーバーが要求するflow |
| VLESS + TLS + Vision | Xrayの設定要件に沿って確認 | flowがxtls-rprx-visionか、転送方式の組み合わせが一致しているか |
| VMess + WebSocket + TLS | どちらのコアにも関連する実装あり | アドレス、ポート、UUID、パス、Host、SNI |
| 一般的なVLESSまたはTrojan | 使用するコアのバージョンと、クライアントのインポート対応状況を確認 | 転送方式、セキュリティ設定、設定項目への対応状況 |
VLESSだけでXrayとV2Flyを区別することはできません。V2FlyにもVLESSの実装があります。互換性の問題につながりやすいのは、REALITY、Vision、個々の転送オプションです。一方、既存のVMessノードが安定して使えているなら、Xrayという名称を見ただけでサーバーを再構築する必要はありません。
結論:まずREALITYとflowを確認してからクライアントを選ぶ
ノードがREALITYまたはxtls-rprx-visionを明示的に要求する場合は、Xray系のコアで動作を確認しましょう。プロトコル名以外の項目が分からない場合は、コアを何度も切り替えて試すのではなく、設定の提供元にパラメーターを確認してください。
Androidでの選び方とインポート手順
Androidでは、まず実際のノード設定に合わせて選び、その後、使い勝手を比較しましょう。以下はVLESS + REALITYをインポートする一般的な用途を想定した案内で、あらゆるネットワーク環境での速度順位を示すものではありません。同じノードでも、回線、電波状況、サーバー負荷、ルーティングルールによって通信速度は変わります。コアの名称だけから速度を判断することはできません。
v2rayNG · Xrayコア
おすすめノードがREALITYまたはVisionを含む場合におすすめです。インポート後は編集画面を開いて重要な項目を確認し、特に古いバージョンがサブスクリプション内の新しいパラメーターを認識できるか確認してください。
適した用途:VLESS + REALITYのノード、Xrayのパラメーターに基づく日常的な接続。
v2flyNG · V2Flyコア
V2Fly向けの設定がすでにある場合は、対応するコアで動作を確認できます。REALITYノードのインポートに失敗した際の代替として使うのではなく、まず元の設定要件を確認してください。
適した用途:既存のV2Fly設定、V2Flyの動作を確認する互換性の調査。
- インポートする内容を確認。サブスクリプションURLと単一ノードの共有リンクを区別してください。サブスクリプションURLをサーバーアドレス欄に入力したり、スクリーンショットやログを使った問い合わせに公開したりしないでください。
- 単一ノードで先に動作確認。v2rayNGのメイン画面右上にある「+」をタップし、「クリップボードからインポート」を選択します。インポート後にノードを編集し、アドレス、ポート、UUID、転送のセキュリティ設定を確認してください。
- サブスクリプションは個別に管理。「サブスクリプショングループ設定」を開き、グループとURLを追加します。メイン画面に戻り、メニューからサブスクリプションを更新してください。メニューの名称はバージョンによって多少異なる場合があるため、現在の画面に従ってください。
- 接続を開始してからテスト。ノードを選択して接続を開始し、システムVPNの許可を確認します。まず実際にアクセスできるかテストしてから、アプリごとのプロキシを設定しましょう。複数の条件を同時に変えないようにしてください。
v2flyNGからv2rayNGへ移行する場合、共用できるのは互換性のあるサブスクリプションやノード情報であり、アプリの状態全体ではありません。アプリごとの対象リスト、DNS設定、バイパスルールは改めて確認してください。テスト中はVPN接続を1つだけ有効にしてください。後から起動した接続が先の接続を置き換える場合があり、システムの動作をノードの不具合と誤認しやすくなります。
デスクトップでは実際に動作するコアを確認
v2rayNのクライアント、同梱コア、後から更新したコアでは、それぞれバージョンが異なる場合があります。「設定」→「パラメーター設定」を開き、ローカルの待ち受け設定や関連項目を確認したうえで、ノードの編集画面と起動ログに表示されるコア名、バージョン、設定エラーを確認してください。コアの選択方法はバージョンによって異なります。特定バージョンのメニュー位置を、すべてのバージョン共通の手順として扱わないでください。
リモートポートとローカルプロキシポートは別の設定です。ノード内の443はサーバーの待ち受けポートを指します。アプリに設定する127.0.0.1:10808は、PC上のプロキシ入口を指します。ローカル側でこのアドレスとポートが実際に待ち受けており、適切なプロキシプロトコルに対応している場合にのみ利用できます。ハンドシェイクの失敗を解決するために、ローカルポートをリモートポートと同じ値に変更しないでください。
おすすめの構成:両端で互換性のあるノードを使い、接続方法は個別に設定
デスクトップ:v2rayN
- サブスクリプションをインポートし、ノードが要求するコアを確認します。
- まずローカルプロキシまたはシステムプロキシでアクセスを確認します。
- より多くのアプリの通信を取り込む必要があれば、TUNモードを設定します。
Android:v2rayNG
- 複数デバイスでの接続が許可された同じサブスクリプションを使用します。
- システムVPNの許可を通じて通信を接続します。
- 接続を確認してから、アプリごとのプロキシ対象リストを調整します。
同じサブスクリプションを使っても、DNS、ルーティング、プロキシの切り替え設定まで共通になるわけではありません。フィルター条件や更新時刻の違いにより、両端で異なるノード一覧が表示されることもあります。
システムプロキシとTUNは、通信をクライアントに渡す方法です。コアに不足しているプロトコル対応を追加するものではありません。ノードのパラメーター自体に互換性がなければ、TUNを有効にしても接続できません。反対に、ノードは正常なのに特定のアプリがシステムプロキシを使わない場合は、すぐにXrayやV2Flyへ切り替えるのではなく、アプリ側の接続方法を確認してください。
更新状況とトラブル対処の手順
XrayとV2Flyは別々にリリースされているため、バージョン番号の大小を直接比較できません。Androidクライアントでは通常、アプリの更新に新しいコアが含まれます。デスクトップでは、コアのファイルを個別に管理する場合もあります。更新が必要かどうかは、使用中のプロトコル、転送方式の修正、設定変更がリリースノートに含まれているかで判断しましょう。更新頻度だけから安定性を推測することはできません。
- 現在の状態を記録。クライアントのバージョン、起動ログに記載されたコアのバージョン、ノードのプロトコル、エラー発生時刻を控えてください。アップデート前に復元できる設定を保存し、サブスクリプション、ルーティング、DNSを一度に変更しないようにします。
- まず設定が起動できるか確認。不明な項目、未対応の転送方式、非対応のflowが表示された場合は、コアのバージョンと設定の入手元を確認してください。サブスクリプションを更新しても、コアの機能不足が解決するとは限りません。
- 次にリモート側へ接続できるか確認。接続がタイムアウトする場合は、アドレス、ポート、ネットワーク、サーバーの状態を確認してください。遅延テストに成功しても、プロトコルのハンドシェイクが完了したとは限らず、Webページが必ず表示できるとも限りません。
- ハンドシェイクのパラメーターを確認。TLS証明書エラーが出る場合は、システム時刻を合わせてSNIを確認してください。REALITY接続では公開鍵、shortId、serverNameを確認します。証明書検証を無効にして問題を回避しないでください。
- 最後に接続方法とルーティングを確認。コアの接続が確立しているのにアプリで通信できない場合は、システムプロキシ、TUN、アプリごとの対象リスト、DNS、直結ルールを確認してください。変更は一度に1項目だけにして、その都度テストします。
性能を比較する場合も条件を統一してください。同じデバイス、ネットワーク、サーバー、ルーティング方針で時間を変えて複数回テストします。Webページの表示を一度だけ測ったり、異なるノードの遅延を比べたりしても、コアの性能は判断できません。この記事では、テスト環境を問わない速度ランキングは掲載しておらず、どちらか一方のコアをあらゆる接続トラブルの解決策として推奨することもありません。
コア選びでよくある質問
v2rayNGでサブスクリプションをインポートできたのに、一部のノードしか使えないのはなぜですか?
同じサブスクリプションに、異なるプロトコルや転送方式のノードが含まれている場合があります。接続できるノードとできないノードで、通信のセキュリティ設定、flow、パス、SNIを比較し、クライアントが各項目を保持しているか確認してください。ノード名が一覧に表示されても、設定の解析に成功しただけで、ハンドシェイクの完了を意味するわけではありません。
VMessノードを使っています。V2FlyからXrayに切り替える必要がありますか?
新しい機能が必要なく、接続も安定しているなら、現在の設定をそのまま使えます。互換性の問題がある場合に、バージョン情報とログを確認してください。コアを切り替えても回線の混雑は自動で改善せず、誤ったWebSocketパスや期限切れのサーバー証明書も修正されません。
同じサブスクリプションがPCでは使えるのに、Androidでは接続できません。最初に何を確認すべきですか?
まず両端で同じノードを選んでいるか確認し、更新時刻、コアのバージョン、重要な設定項目を比較してください。パラメーターが一致している場合は、AndroidのVPN許可とアプリごとの設定を確認します。モバイル回線だけで失敗する場合は、ネットワークへの到達性を調べてください。原因を特定する前にサーバー設定を変更しないでください。
結論:ノードの要件に合わせてコアを選び、システムへの接続方法から問題を切り分ける
REALITYやVisionを使う設定は、対応バージョンのXrayでまず動作を確認してください。既存のV2Fly設定は、元の要件に沿って実行します。ノードに接続できた後でサブスクリプションの整理、DNS、ルーティングを確認すれば、プロトコルの問題と、通信がプロキシに届いていない問題を区別しやすくなります。