上級テクニック 読了目安 11分

V2Ray初心者向け:VMess・VLESS・Trojanの違いと選び方

V2Rayを使い始めたいけれど、VMess、VLESS、Trojan、Shadowsocksの違いが分からない方へ。各プロトコルの特徴を、対応クライアント、通信の安全性、設定のしやすさ、利用場面から比較します。v2rayNやv2rayNGでサブスクを登録するときの選び方も、専門用語をかみくだいて説明します。

V2Ray系の設定を始めると、VMess、VLESS、Trojan、Shadowsocksという名前が並び、どれを選べばよいのか迷いやすくなります。これらはすべて「通信をサーバーへ転送するためのプロトコル」ですが、認証方法、暗号化を担当する層、トランスポートとの組み合わせ、既存設定との互換性が異なります。プロトコル名だけで速度や安全性が決まるわけではなく、サーバー側の設定とクライアント側のパラメータが一致して初めて接続できます。

本記事では、v2rayN、v2rayNG、NekoBoxなどでサブスクリプションを読み込む前に知っておきたい基本を整理します。個別のノードを手作業で作る場合に確認すべき項目、VLESSとVMessの使い分け、TrojanやShadowsocksを選ぶ場面、接続できないときの切り分け方まで、初心者が判断しやすい順番で説明します。

本文速覧

VMessは既存環境との互換性、VLESSは軽量な認証と新しい構成、TrojanはTLS接続に近い構成、Shadowsocksはシンプルな暗号化プロキシとして理解すると選びやすくなります。最終的にはプロトコル名ではなく、配布されたアドレス、ポート、UUIDまたはパスワード、TLS、SNI、トランスポート、flowの組み合わせをそのまま確認してください。

4種類
今回比較する方式
443
よく使われるTLSポート
7項目
手動確認の基本項目
2026
現在の選択基準

プロトコルは通信全体のどの部分を担当するのか

V2RayやXrayの接続設定は、1つの技術だけで構成されているわけではありません。プロトコルは主に「クライアントとサーバーが、誰として接続するか」を定義します。その外側にTLSやREALITYなどのセキュリティ層があり、さらにTCP、WebSocket、gRPCなどのトランスポートが通信の運び方を決めます。たとえば、VLESSというプロトコルを使っていても、VLESS+TCP+TLS、VLESS+TCP+REALITY、VLESS+WebSocket+TLSでは設定項目も動作条件も異なります。

アプリが接続ローカル入口ルール判定プロトコル認証暗号化転送サーバー到達

v2rayNでは、一覧に表示されたノードを選択すると、そのノードのプロトコル設定がXrayなどのコアへ渡されます。ローカル側ではHTTPプロキシやSOCKSプロキシ、TUNなどの入口を使い、ルーティング規則が直通・プロキシ・ブロックを選択します。したがって、ブラウザーが開けない場合でも、プロトコルだけでなく、ローカルポート、システムプロキシ、DNS、ルーティングの状態を分けて確認する必要があります。

結論:名前より組み合わせを見る

「VLESSだから速い」「VMessだから安全」と単純には判断できません。実際の使用感は、サーバーの回線、混雑、経路、TLSやトランスポート、端末の設定によって大きく変わります。

VMess・VLESS・Trojan・Shadowsocksの違い

VMessはV2Ray系で長く使われてきたプロトコルで、ユーザー識別子としてUUIDを使います。暗号化や認証の処理をプロトコル側で行い、TCP、WebSocket、HTTP/2など複数のトランスポートと組み合わせて利用されてきました。古いサーバーや既存の配布設定との互換性を重視する場合に候補になります。一方、VMessでは端末の時刻ずれが認証に影響することがあり、TLS証明書の検証も含めてシステム時刻を正しく保つことが重要です。

VLESSは、UUIDを使ってユーザーを識別しますが、プロトコル自身が強い暗号化をすべて担当する設計ではありません。そのため、通常はTLSやREALITYなどのセキュリティ層と組み合わせます。余分な暗号化処理を減らした軽量な構成にしやすく、現在のXray環境でよく採用されます。VLESS+REALITY+TCPでは、UUID、サーバー名、公開鍵、short ID、フィンガープリント、必要に応じてflowなどを正確に一致させなければなりません。

Trojanは、TLSで保護された通常のHTTPS通信に近い外観を利用する構成で、認証にはパスワードを使います。一般的な設定ではサーバーアドレス、ポート、パスワード、SNI、TLS証明書の検証条件、トランスポートなどを確認します。TLSが前提になるため、サーバー名や証明書の扱いを誤ると接続できません。VLESSのようにUUIDを使う方式と、Trojanのようにパスワードを使う方式を混同しないでください。

Shadowsocksは、構成が比較的単純な暗号化プロキシです。サーバーアドレス、ポート、暗号方式、パスワードを中心に設定し、V2Ray系コアや各種クライアントで利用できます。古い環境との互換性や、単純なプロキシを必要とする場面には便利ですが、VLESSやTrojanと同じ項目を入力するものではありません。暗号方式がサーバー側と異なる、パスワードに余分な空白が入る、UDP対応の有無が違うといった原因で失敗することがあります。

方式主な識別情報セキュリティの考え方向いている場面
VMessUUIDなどプロトコルとTLS・伝送方式を組み合わせる既存ノード、互換性重視
VLESSUUIDTLSまたはREALITYなどを別途組み合わせる新しいXray構成、軽量な認証
TrojanパスワードTLSによる保護を前提にするHTTPSに近い構成、TLS運用
Shadowsocksパスワード指定した暗号方式で通信を保護する単純なプロキシ、幅広い互換性

用途別にどのプロトコルを選ぶか

新規に選ぶときは、まず配布元が指定している方式を優先します。サーバー側がVLESS+REALITYで構成されているのに、クライアントでVMessとして登録しても接続できません。プロトコルは好みで置き換えられるものではなく、サーバーのインバウンド設定と対になっています。複数のノードから自由に選べる場合だけ、互換性、管理のしやすさ、必要なトランスポートを比較してください。

2026年のXray環境でよく見られる方式です。TLSやREALITYとの組み合わせを正しく理解できるなら、軽量で新しい構成を選びやすくなります。

適合:新規構築、Xray主力

長く運用されている設定と互換性を保ちたい場合に向きます。既存のサブスクリプションに含まれているなら、無理に別方式へ変更する必要はありません。

適合:既存ノード、互換性重視

TLS証明書とSNIを含む構成を管理でき、パスワード認証の方式を使いたい場合に候補になります。

適合:TLS前提の構成

入力項目が少なく、対応クライアントが多いことが利点です。ただし暗号方式とUDP対応は必ず確認します。

適合:単純な代理接続

初心者が最初に試すなら、サブスクリプションをそのまま読み込み、一覧に表示されたノードを1つだけ選択する方法が安全です。複数の項目を手動で変更すると、どの値が原因だったのか分からなくなります。手動登録が必要な場合は、プロトコル、アドレス、ポート、認証情報、トランスポート、セキュリティ、サーバー名の順でサーバー側の資料と照合します。

v2rayN・v2rayNGで読み込むときの確認手順

サブスクリプションは、ノード情報を一括して取得する仕組みです。更新が成功しても、すべてのノードが接続可能とは限りません。更新後は対象グループを選び、追加されたノードのプロトコルと詳細設定を確認し、1つのノードだけをアクティブにして接続テストを行います。v2rayNGやNekoBoxでも基本的な考え方は同じですが、メニュー名やコア選択欄の位置はバージョンによって異なる場合があります。

  1. 購読を追加

    v2rayNの「購読グループ」から「+」を選び、配布元のURLを貼り付けます。URLには認証情報が含まれる場合があるため、第三者へ共有しません。

  2. 更新結果を確認

    「購読を更新」または「購読を更新(プロキシ経由)」を実行し、ノード数が増えたか、エラーが表示されていないかを確認します。

  3. 方式を確認

    一覧または編集画面でVMess、VLESS、Trojan、Shadowsocksのどれかを確認します。方式と認証情報の組み合わせを取り違えないでください。

  4. 一台を有効化

    接続したいノードを選び、「アクティブサーバーに設定」を実行します。選択しただけでは通信経路が切り替わらないことがあります。

  5. プロキシを確認

    ローカルHTTPまたはSOCKSポート、システムプロキシ、TUNの状態を確認し、ログにコア起動エラーがないことを確かめます。

おすすめの確認分担:自動取り込みと手動診断

サブスクリプション
  • ノード情報を一括取得
  • 更新後に方式とポートを確認
  • 期限や認証エラーを確認
手動設定
  • サーバー資料と項目を照合
  • 変更は一度に1項目だけ
  • ログを残して再テスト

最初は自動取り込みで動作を確認し、手動設定は原因の特定や特別な構成が必要な場合に限定すると、復旧しやすくなります。

手動入力で間違えやすいパラメータ

アドレスとポートは、ノードが存在するホスト名と待受ポートです。TLSのポートとして443が使われることは多いものの、443だから必ずTLS、またはTLSだから必ず443とは限りません。サーバー資料に書かれた値を使い、ブラウザーでそのポートを開けるかどうかだけで判断しないでください。プロキシ用ポートは通常のWebページを返さない場合があります。

VLESSとVMessではUUIDが重要です。文字の欠落、ハイフンの位置、前後の空白があると認証に失敗します。TrojanとShadowsocksではパスワードが中心になりますが、Shadowsocksでは暗号方式も一致させる必要があります。TrojanではSNIが証明書の対象名と関係するため、サーバーアドレスをIPへ置き換えるとTLS検証の条件が変わることがあります。

トランスポートを変更する場合は特に注意が必要です。TCP、WebSocket、gRPCは接続処理が異なり、WebSocketならパス、gRPCならサービス名など追加項目があります。VLESS+TCP+REALITYの設定にWebSocketのパスを追加しても問題は解決しません。flowも対応するプロトコルとサーバー設定が一致している場合だけ使用し、資料にない値を推測で入力しないでください。

protocol: VLESS
address: node.example.net
port: 443
id: UUID
transport: TCP
security: REALITY
serverName: example.com
flow: server-specified-value
変更は一項目ずつサーバー名、ポート、TLS、トランスポートを同時に変更すると、原因の切り分けが難しくなります。サブスクリプション由来の設定は更新時に上書きされる可能性もあるため、恒久的な変更は配布元の仕様を確認してから行ってください。

接続できないときの基本的な切り分け

まず、ノードが一覧に存在することと、コアが正常に起動していることを分けて確認します。購読更新が成功しただけでは、リモートサーバーへの接続が成功したことにはなりません。次に、ドメインを使うノードなら名前解決、対象ポートへの到達性、端末の時刻を確認します。複数のノードが同時に失敗する場合は、時刻、購読、ローカルプロキシ、ネットワークを優先し、1台だけ失敗する場合はそのノードの詳細パラメータを確認します。

VLESSとVMessはどちらが速いですか?

プロトコル名だけでは決まりません。サーバーの回線、混雑、TLS、トランスポート、経路を同じ条件で比較し、同じテスト先で複数回測定してください。

VMessのUUIDをVLESSにも使えますか?

形式としてUUIDを使う点は共通しますが、サーバー側がVLESS用に登録した識別子である必要があります。方式だけを変更して流用してはいけません。

Trojanのポート443に接続できません

ポート到達性だけでなく、パスワード、SNI、TLS証明書の条件、トランスポートを確認します。サーバー名とアドレスを勝手に入れ替えないでください。

購読更新後に接続できなくなりました

更新後にアクティブノードが別のグループへ変わっていないか確認し、最新ノードのポートとプロトコルを再確認します。URLの期限切れや更新エラーもログで確認してください。

最終的な選択基準は、「新しいXray構成ならVLESSを優先候補にする」「既存設定を維持するならVMessを使う」「TLSとパスワード認証を前提にするならTrojanを検討する」「単純な暗号化プロキシならShadowsocksを検討する」です。ただし、利用できる方式はサーバー側で決まります。迷ったときはプロトコル名だけを比較せず、配布された設定を変更せずに取り込み、ログと接続結果を基準に判断してください。

v2rayN をダウンロード