v2rayNGでVLESS Realityを設定する方法|Androidの入力項目を解説

Android版v2rayNGでVLESS Realityを使いたい初心者向けに、サーバー、UUID、SNI、フィンガープリント、Public Key、Short IDの入力場所と選び方を画面の流れに沿って解説します。接続確認やログの見方、つながらない時の対処法も紹介します。

v2rayNGでVLESS Realityを利用する場合、単に「VLESS」を選ぶだけでは接続できません。サーバーアドレスやポートに加えて、UUID、SNI、公開鍵、Short ID、フィンガープリント、必要に応じてxtls-rprx-visionの設定まで、サーバー側と一致させる必要があります。本記事では、Android版v2rayNGでノードを手動追加する流れを中心に、各入力項目の意味、Xrayコアの選択、接続できない場合の確認順序を説明します。

この記事の要点

v2rayNGでVLESS Realityを設定する人向けに、サーバー提供者から受け取るべき値を整理し、ノード追加からVPN接続、ログ確認までを順番に解説します。特に、REALITYの公開鍵とShort IDをTLSの証明書情報と混同しないための確認方法が分かります。

8項目
主なReality設定
443
よく使われるポート
Xray
推奨コア
1分
設定後の確認目安

VLESS Realityの基本構成を先に理解する

VLESSはユーザー識別子を使って認証する軽量なプロトコルです。VLESS単体が通信全体を暗号化するのではなく、TLSやREALITYなどの外側のセキュリティ層と組み合わせて利用します。したがって、設定画面に表示されるencryption=noneは、通信全体が平文になるという意味ではありません。VLESSプロトコル内部で追加の暗号化を行わない、という意味です。実際の保護は、ここで指定するREALITYの設定とサーバー側のXray構成に依存します。

REALITYは、通常の公開TLS証明書をクライアントへ配布する方式とは異なり、接続時の認証に公開鍵、Short ID、SNIなどを利用します。Android側では、サーバーのIPアドレスまたはドメイン、待受ポート、UUID、接続先として見せるSNI、公開鍵、Short ID、TLSフィンガープリントを正確に入力します。1文字でも違うと、ノードの保存や選択はできても、実際の接続は失敗します。

判断のポイント:項目を省略しない

VLESS Realityは「VLESSのノードにTLSを追加するだけ」の設定ではありません。公開鍵、Short ID、SNI、フィンガープリントは相互に置き換えられないため、配布されたリンクをそのままインポートするのが最も安全です。

サーバー側から受け取るべき値

手動設定を始める前に、サービス提供者またはサーバー管理者から次の情報を受け取ってください。UUIDは通常、ハイフンを含む36文字の形式です。公開鍵は長い英数字、Short IDは短い16進数文字列として提供されることがあります。SNIは実際の接続先IPやVPSのホスト名ではなく、サーバー側のREALITY設定にあるserverNamesの値を指定します。

  • サーバーアドレス:IPアドレスまたは接続用ドメイン。
  • ポート:多くの構成では443ですが、必ず配布情報を優先します。
  • UUID:VLESSユーザーを識別する値。
  • フロー:指定がある場合だけxtls-rprx-visionなどを入力。
  • ネットワーク:一般的なReality TCP構成ではtcp
  • SNI:REALITYのサーバー名検証に使う名前。
  • 公開鍵:サーバーのReality公開鍵。
  • Short ID:サーバー側で許可された短い識別子。
  • フィンガープリント:通常はchromeなど、サーバー案内に従う値。

v2rayNGの入力項目と対応する値

v2rayNGの画面名は、アプリのバージョンや翻訳によって少し異なる場合があります。ここでは「設定を追加」または「手動設定」からVLESSを選び、VLESSの基本項目とTLS・REALITY項目を順番に入力する前提で説明します。まずプロトコルをVLESSにし、次にサーバーアドレス、ポート、UUIDを入力します。その後、詳細設定で暗号化方式、ネットワーク、セキュリティを指定します。

VLESS基本設定

アドレス
サーバーIPまたはドメイン
ポート
例:443
UUID
配布されたユーザーID
暗号化
none
Flow
指定時のみVision

UUIDとポートは、リンクの内容を手動で書き換えず、そのまま転記します。

Reality設定

セキュリティ
reality
SNI
サーバー指定の名前
公開鍵
Reality public key
Short ID
サーバー指定の値
指紋
例:chrome

SNIはサーバーアドレスと同じとは限りません。案内に記載された値を優先します。

encryptionは、VLESSでは通常noneを指定します。ここを適当にautoや別の暗号方式へ変更すると、サーバーのVLESS設定と一致しなくなる可能性があります。flowはすべてのノードに必要な項目ではありません。サーバー側がVisionを使用し、リンクにも値が含まれている場合だけ入力してください。

ネットワークは、Reality TCPとして配布されたノードなら通常tcpを使います。WebSocketやgRPCの値を独自に選んではいけません。RealityとWebSocketを組み合わせた構成も技術的には存在しますが、その場合はパスやサービス名など別の項目が必要になります。サーバーからTCPと指定されているのに、伝送方式をWebSocketへ変更しても接続は成立しません。

セキュリティ欄のrealityを選択すると、SNI、公開鍵、Short ID、フィンガープリントなどの入力欄が表示されます。SNIは接続時のサーバー名として送られる値で、公開鍵はサーバーのREALITY公開鍵です。Short IDはサーバー側の許可リストと照合されるため、空欄にしたり、別ノードの値を使ったりしないでください。

v2rayNGでノードを追加して接続する手順

手動入力は可能ですが、VLESS Realityの情報を含む完全な共有リンクがあるなら、リンクまたはサブスクリプションをインポートする方法を優先してください。インポート後に各項目を開いて確認すれば、URLエンコードされた公開鍵やShort IDの転記ミスを減らせます。QRコードを使う場合も、読み込み後に保存前の画面で全項目を確認しましょう。

  1. コアを確認

    v2rayNGのメニューから「設定」または「基本設定」を開き、「コアタイプ」を確認します。VLESS RealityとVisionを使う場合は、対応するXrayコアを選択し、古いV2Rayコアのままにしないでください。

  2. ノードを追加

    メイン画面の追加ボタン「+」をタップし、「手動設定」からVLESSを選びます。共有リンクがある場合は、リンクのインポートまたはクリップボードからの追加を使います。

  3. 基本値を入力

    アドレス、ポート、UUIDを入力し、暗号化をnoneにします。Flowは配布情報にある場合だけ入力し、指定がなければ空欄のままにします。

  4. Realityを設定

    ネットワークをサーバー指定どおりにし、セキュリティでrealityを選びます。SNI、公開鍵、Short ID、フィンガープリントを配布情報と照合して入力します。

  5. 保存して接続

    保存後、作成したノードを選択してメイン画面の接続ボタンをタップします。AndroidのVPN接続許可が表示されたら内容を確認し、許可後にブラウザーで通信を確認します。

接続前には、入力欄の前後に空白が入っていないか確認します。特に公開鍵やUUIDをメッセージアプリからコピーすると、行末の改行や不可視文字が付くことがあります。公開鍵の先頭・末尾を勝手に引用符で囲まず、Short IDを大文字へ変換しないことも重要です。16進数はサーバーが指定した表記のまま入力してください。

接続後に確認するポイント

ノードを選択して接続状態になっただけでは、外部通信が正常とは限りません。v2rayNGのログ画面でコアが起動していることを確認し、ブラウザーで複数のページを開きます。最初の接続だけが成功して後続通信が止まる場合は、ルーティング、DNS、アプリ別プロキシの範囲も確認してください。AndroidのVPNアイコンが表示されているか、通信量が増えているかも判断材料になります。

  • ログにコア起動エラーがないか確認する。
  • 接続先ポートへのタイムアウトが発生していないか見る。
  • ブラウザーで名前解決とページ読み込みを試す。
  • アプリ別プロキシを使っている場合、ブラウザーが対象に含まれるか確認する。
  • Wi-Fiとモバイル通信を切り替え、同じノードが再接続できるか確認する。

接続できない場合の切り分け

接続失敗の原因を一度に複数変更すると、どの値が問題だったのか分からなくなります。まずXrayコアが起動しているか、次にアドレスとポートへ到達できるか、その後にUUID、Reality項目、Flowの順番で確認してください。ノードを保存できない場合は入力形式や必須項目の問題、保存できるがタイムアウトする場合はアドレス・ポート・サーバー状態の問題であることが多いです。

症状優先して確認する項目対処
ノード保存後すぐ切断コアタイプ、Flow、セキュリティXrayコアを選び、サーバー指定の値だけを残す
接続がタイムアウトアドレス、ポート、ネットワークポート番号とTCP指定を再確認し、別回線でも試す
TLSやRealityで失敗SNI、公開鍵、Short ID別ノードの値が混ざっていないか照合する
接続表示だが通信不可VPN許可、ルーティング、DNSAndroidのVPN状態と対象アプリのプロキシ範囲を確認する

ログにhandshake failedREALITYinvalid public keyに近い内容が出る場合は、SNI、公開鍵、Short ID、フィンガープリントの組み合わせを確認します。公開鍵が正しくてもSNIがサーバー側のserverNamesにない場合、認証は成立しません。逆に、SNIだけを正しくしても公開鍵が違えば接続できません。

connection refusedが表示される場合は、対象ポートでサーバーの待受サービスが動作していない、ファイアウォールで遮断されている、またはポート番号が古い可能性があります。timeoutなら、ネットワークからサーバーまでの到達性、IPアドレスの誤り、回線側の制限などを疑います。サーバー側を管理していない場合は、ログの時刻とエラー文を添えて提供者へ問い合わせるのが早道です。

最終確認:リンクと手動入力を混在させない

共有リンクをインポートした後に、速度改善を目的としてSNIやFlowだけを変更するのは避けてください。Realityの各値はサーバー側の一組の設定として発行されているため、まず配布直後の状態で接続し、必要な変更だけを一項目ずつ検証します。

v2rayN をダウンロード