VMess
VMess protocolVMessはProject Vエコシステムのプロキシプロトコルで、ユーザー認証とデータ暗号化の仕組みを備えています。通常、ユーザーID、サーバーアドレス、ポート、トランスポートの設定が必要で、クライアントとサーバーの設定を一致させます。認証処理が時刻に依存する場合もあるため、システム時刻が大きくずれていると接続に影響します。アドレスに接続できるかだけでなく、時刻も確認しましょう。
用語と設定のガイド
設定レイヤーごとに用語を確認できます。まずプロトコル、トランスポート、セキュリティレイヤーを整理し、コア、サブスクリプション、通信の経路を理解しましょう。
01 / Protocols
プロトコルはプロキシリクエストの形式を定め、トランスポート方式はそのデータの運び方を決めます。
VMessはProject Vエコシステムのプロキシプロトコルで、ユーザー認証とデータ暗号化の仕組みを備えています。通常、ユーザーID、サーバーアドレス、ポート、トランスポートの設定が必要で、クライアントとサーバーの設定を一致させます。認証処理が時刻に依存する場合もあるため、システム時刻が大きくずれていると接続に影響します。アドレスに接続できるかだけでなく、時刻も確認しましょう。
VLESSは軽量なプロキシプロトコルで、単体ではデータを暗号化しません。実際の環境では通常、TLSまたはREALITYと組み合わせます。プロトコルの項目を正しく選んでも接続設定が完了するわけではなく、セキュリティレイヤー、トランスポート方式、フロー制御もサーバー側と一致させる必要があります。VLESSという名前だけで速度や接続可否を判断することはできません。
Trojanは通常、TLS接続上で動作し、パスワードでユーザー認証を行います。設定をインポートした後も、サーバー名、ポート、証明書の検証設定を確認してください。パスワードが正しくても接続できるとは限りません。VLESSとは異なるプロキシプロトコルのため、プロトコルの選択だけを変更して設定一式を流用することはできません。
トランスポート方式はプロキシデータの運び方を定めます。TCP、WebSocket、gRPCなどが一般的です。VMessやVLESSなどのプロキシプロトコルとは別の設定レイヤーで、方式に応じてパス、ホスト名、サービス名が変わる場合もあります。インポート後に手動で方式を変更する場合は、関連項目とコアの対応状況も確認してください。
02 / Engines
設定を管理するのはGUIですが、実際に接続できるかどうかは実行中のコアとそのバージョンで決まります。
コアはインバウンド、アウトバウンド、ルーティング、DNSなどを実際に処理するプログラムです。クライアントは通常、画面上の設定をコア用の設定に変換して起動します。画面に項目が表示されていても、どのコアでも使えるとは限りません。問題を調べる際は、クライアント名、コアの種類、関連ログを記録し、画面の状態だけで判断しないようにしましょう。
Xray-coreはV2Rayと同じ系譜を持つプロキシコアで、VLESS、REALITY、XTLS Visionなどに対応しています。機能や設定項目はバージョンによって変わるため、古いコアでは新しい設定を処理できないことがあります。別のコアへ設定を移す場合は、特にセキュリティレイヤー、フロー制御、トランスポートの対応状況を確認し、完全に互換性があると決めつけないでください。
V2FlyはV2Rayプロジェクトを引き継ぐコミュニティのメンテナンス体制です。一般にV2Fly-coreは、この体制で保守されるコアを指します。Xray-coreと共通の技術的背景はありますが、その後の機能や設定形式には違いがあります。サブスクリプションにREALITYなどの機能が含まれている場合は、名前の類似性ではなく、対応するコアを選んでください。
GUIクライアントでは、サブスクリプションのインポート、ノード選び、ルーティングのプリセット、プロキシモードなどを操作できます。v2rayN、v2rayNG、v2flyNGはいずれもこのカテゴリです。クライアント名はプロキシプロトコル名ではなく、異なるクライアント間でコアの設定をそのまま使い回せるとは限りません。メニューの場所がバージョンによって異なる場合は、機能名で探し、ログで実行結果を確認してください。
03 / Security layers
セキュリティプロトコル、ハンドシェイク時のサーバー名、フロー制御の設定項目を区別し、異なるレイヤーの設定を混同しないようにしましょう。
TLSは接続を暗号化し、完全性を保護して相手を認証します。証明書の検証も重要な要素です。TLSを有効にした後は、正しいサーバー名を設定し、システム時刻も合わせてください。証明書エラーが出たら、サーバー名、時刻、サーバー側の証明書設定を確認しましょう。検証を無効にする方法を常用するのは避けてください。
REALITYはXrayエコシステムのセキュリティレイヤーで、単独のプロキシプロトコルではありません。VLESSと組み合わせて使われることがよくあります。クライアント側では対応コアを使い、公開鍵、サーバー名、ショートIDなどを正しく設定する必要があります。通常のTLSとは設定要件が異なるため、セキュリティレイヤーの名前だけを変更して他の項目をそのままにすることはできません。
SNIはTLSハンドシェイクでサーバー名を示す拡張機能です。クライアントの画面では「サーバー名」と表示されることがあります。接続先にはIPアドレスを指定し、ここにはドメイン名を設定する場合もあり、それぞれ役割が異なります。サーバー側の設定に合わせて名前を入力してください。別のドメイン名に変更すると、証明書の検証やセキュリティレイヤーのハンドシェイクに失敗することがあります。
XTLS VisionはXrayのフロー制御方式で、VLESS設定のflow項目でよく使われます。別のトランスポート方式ではありません。利用できるかどうかは、プロトコル、セキュリティレイヤー、トランスポートの組み合わせとサーバーの対応状況によります。メニューに項目があるからといって安易に選ばず、サブスクリプションに指定がない場合は、まずサーバー側の設定一式を確認してください。
04 / Subscriptions
サブスクリプションは設定を配布し、ノードは接続先を示します。テスト結果は特定の条件で測定した値です。
サブスクリプションは、1つのURLから複数の接続設定を取得・更新する仕組みです。このURL自体はリモートサーバーのアドレスではありません。更新に成功したということは、クライアントが内容を取得して解析できたという意味であり、すべての設定で接続できるとは限りません。URLにアクセス認証情報が含まれる場合があるため、公開しないでください。形式に互換性がない場合、何度更新しても解決しません。
ノードとは通常、クライアントに保存された接続先の設定一式です。アドレス、ポート、プロトコル、認証情報、トランスポート設定などが含まれます。表示名だけではサーバーの所在地、通信経路、性能はわかりません。同じサーバーに複数の異なる設定が用意されている場合もあります。選ぶ際は名前だけでなく、接続テストと実際の利用状況を確認してください。
レイテンシはテスト要求への応答にかかる時間ですが、測定方法はICMPの往復時間、TCP接続、プロキシ経由のリクエストなどさまざまです。異なる方法の結果を直接比較することはできず、レイテンシが低くても通信速度が速いとは限りません。普段の使用感を比べる際は、同じ方法を使い、時間帯を揃えて接続の安定性も確認しましょう。
クライアントで「実接続レイテンシ」と表示される値は、通常、プロキシ経由でテスト先にリクエストしたときの所要時間です。実際のリクエストに近い測定ですが、テスト先、プロトコルのハンドシェイク、DNS、接続の再利用などに左右されます。測定方法の詳細はクライアントによって異なります。テストに失敗しても、単にテスト先へ到達できない可能性があるため、ログや別のテスト先も確認してください。
05 / Routing
通信がコアに入った後、条件とルールの順序に応じてアウトバウンドが決まります。
ルーティングルールは、ドメイン、IP、ポート、プロトコルなどの条件に応じて接続のアウトバウンドを選びます。一般的な設定では上から順に照合し、最初に一致したルールが適用されます。そのため、範囲の広いルールを先に置くと、後の細かなルールに到達しないことがあります。ドメインの解決方法がIP条件の照合に影響する場合もあるため、ルールを変更したら実際の接続ログで確認してください。
ルーティングで使うGeoIPは、通常、地域やカテゴリ別に整理されたIPアドレスの集合を指します。たとえばルールのgeoip:cnが該当します。対象範囲は読み込んだデータファイルによって決まり、リアルタイムの位置情報サービスではありません。宛先IPに依存するルールでは、ドメインがいつ解決され、その結果が現在のルール照合に使われるかも確認しましょう。
GeoSiteは、サイトやカテゴリごとに整理されたドメインの集合です。たとえばgeosite:cnがあります。タグの意味や収録範囲はデータファイルで定義されます。IPアドレスの所在地を判定するものではなく、特定サービスに関連するすべてのドメインが含まれる保証もありません。ルールでタグが見つからない場合は、まずデータの提供元とタグの有無を確認してください。
通信の振り分けとは、条件に応じて接続を直接接続、プロキシ、ブロックなどのアウトバウンドに振り分ける処理です。ルーティングのプリセットが代表的な設定方法です。システムプロキシはアプリからクライアントへ通信を渡すかどうかを決め、振り分けは受け取った通信をどう処理するかを決めます。両者は別の設定です。グローバルルーティングを選んでも、クライアントを経由しないアプリの通信まで自動で制御されるわけではありません。
06 / Local networking
通信の入口、仮想ネットワークインターフェース、名前解決の経路はそれぞれ異なる段階に影響するため、個別に確認が必要です。
システムプロキシは、OSからアプリに提供されるプロキシ設定で、通常はクライアントのローカル待ち受けアドレスとポートを指定します。この設定に従うアプリだけがその入口を使い、一部のアプリでは個別にプロキシを設定する必要があります。クライアント終了後も無効なローカルプロキシが残ると、アプリがネットワークに接続できなくなることがあります。その場合は残った設定を確認して削除してください。
TUNモードは仮想ネットワークインターフェースでIP通信を受け取り、システムプロキシに従わない一部のアプリの通信も取り込めます。クライアント側の対応が必要で、OSの権限、ルーティング、DNSの設定も関係します。プロトコルの設定項目とは異なります。複数のネットワークツールが同時にルーティングを制御すると競合することがあるため、有効にした後はローカルネットワークへの接続と名前解決を確認してください。
FakeDNSは合成IPを返し、そのIPと元のドメイン名の対応関係を保持して、後続の通信処理で宛先ドメインを復元できるようにします。一般的なパブリックDNSサーバーではなく、名前解決を速くするための設定でもありません。DNSクエリと後続の通信が連携した経路を通らないと、合成IPが認識できないネットワークプログラムに渡される可能性があります。
DNSリークとは、DNSクエリが想定した経路を通らず、アプリが独自の名前解決サービスを使うなどして別のリゾルバーに送信される現象です。プロキシ接続に成功しても、DNSが想定どおりの経路を通っているとは限りません。また、リモートのリゾルバーが使われているだけで異常とは限りません。調査する前に想定する経路を明確にし、アプリの設定、システムの名前解決、クライアントのDNSログを確認してください。