vmess://vless:// の共有リンクの使い方|サブスクリプションURLとの違いを解説

共有リンクは1つのノード、サブスクリプションURLは更新可能なノード一覧を提供します。v2rayN・v2rayNGへの取り込み方法と使い分けを解説します。

この記事の要点

vmess://、vless://、またはサブスクリプションURLを初めて受け取った方に向けた解説です。判断のポイントは1つだけ。プロトコル共有リンクは1つのノードを追加するためのもの、サブスクリプションURLは更新可能なノード群を管理するためのものです。種類を確認してから、v2rayNまたはv2rayNGの適切な画面から取り込めば、サブスクリプションURLをノード追加欄に貼り付けたり、単一ノードのリンクをサブスクリプション設定に入力したりするミスを防げます。

共有リンクとサブスクリプションURLは別のデータです

vmess://vless:// は、いずれも1つのノードを共有するリンクです。クライアントがプロキシ接続を確立するために必要なサーバーアドレス、ポート、ユーザー識別子、通信方式、TLS設定などがリンクに含まれています。クライアントへ取り込むと、通常はサーバー一覧に1件だけ追加されます。別のリンクを取り込んだときに、もう1つのノードが追加されます。

サブスクリプションURLは、アクセスして情報を取得するネットワークアドレスです。クライアントがURLへアクセスするとノード一覧を取得し、複数の VMess、VLESS などの設定に変換します。サブスクリプションの重要な点は、一度に多数を取り込めることだけではなく、後から更新できることです。提供元がサーバーアドレス、ポート、ノード名などを変更しても、クライアントでサブスクリプションを更新すれば反映できます。

見た目だけでは区別しにくい場合もあります。共有リンクは vmess:// や vless:// のようにプロトコル名から始まります。一方、サブスクリプションURLは通常 http:// または https:// で始まります。ブラウザーで開くと長いエンコード文字列が表示されるサブスクリプションもありますが、それだけで単一ノードのリンクとは判断できません。受け取った元のURLと提供元の説明を確認し、レスポンス画面の内容を勝手に分割して取り込まないでください。

比較項目 単一ノードの共有リンク サブスクリプションURL
一般的な先頭部分 vmess://、vless:// http://、https://
含まれる内容 ノード1件分の接続パラメータ 再取得できるノード一覧
取り込み結果 通常はノードを1件追加 サブスクリプショングループを作成し、複数のノードを生成
その後の変更 新しいリンクを再取得して取り込む必要がある サブスクリプションを更新するだけで一覧を同期できる
適した用途 一時的なテスト、単一ノードの移行、項目別のトラブルシューティング 日常利用、複数ノードの管理、定期的な更新

vmess:// と vless:// の内部構造

VMess の共有形式では、JSONテキストをエンコードして vmess:// の後ろに付ける方法が一般的です。デコードすると、バージョン情報、ノード名、サーバーアドレス、ポート、ユーザー UUID、追加 ID、暗号化方式、トランスポート、Host、パス、TLS、SNI などのフィールドが含まれます。エンコードは文字列全体をコピーしやすくするためのものであり、ノードの認証情報を暗号化して保護するものではありません。

VLESS のリンクは一般的な URI に近い構造です。ユーザー UUID は認証情報部分に入り、その後ろにサーバーアドレスとポートが続きます。通信方式とセキュリティのパラメータはクエリ文字列に置かれ、# の後ろのフラグメントはノード名の表示に使われます。代表的なパラメータは encryption、security、type、host、path、serviceName、sni、fp、pbk、sid です。必要なフィールドは、サーバー側で TCP、WebSocket、gRPC、TLS、Reality をどのように組み合わせているかによって異なります。

VMess の一般的な論理構造
プロトコル → エンコード済み JSON
JSON → アドレス + ポート + UUID + トランスポートパラメータ + TLSパラメータ + ノード名

VLESS の一般的な論理構造
プロトコル → UUID@アドレス:ポート
クエリパラメータ → 暗号化フラグ + セキュリティ層 + 通信方式 + SNI/Host/パス
フラグメント → クライアントに表示する名前
1個
共有リンク1件に対応する通常のノード数
36文字
ハイフン付き UUID の標準的なテキスト長
443
TLSノードでよく使われるサーバーポート
10808
v2rayN でよく使われるローカル SOCKS ポート

取り込み後は、関連するパラメータが一式そろっているか重点的に確認してください。たとえば WebSocket ノードでは path と Host のどちらか一方だけを残してはいけません。TLSノードの SNI をサーバーIPへ勝手に変更するのも避けてください。Reality ノードの公開鍵と短い ID もサーバー側と一致している必要があります。ノード名は一覧での識別にだけ影響し、名前を変更しても通常は接続に影響しません。一方、アドレス、ポート、UUID、セキュリティ層、トランスポートの各フィールドは接続に直接関わります。

v2rayN で単一ノードとサブスクリプションを取り込む

v2rayN 7.x は、クリップボードから複数の共有リンクを認識できます。まず vmess:// または vless:// のリンク全体をコピーします。末尾のパラメータを欠落させないでください。メイン画面に戻り、「サーバー」→「クリップボードから一括 URL をインポート」を選択します。取り込みに成功すると、新しいノードが現在の設定一覧に表示されます。ノードを選択して Enter キーを押すか、右クリックメニューからアクティブサーバーに設定し、画面下部の稼働状態を確認します。

  1. 元のリンクをコピー:プロトコルの先頭からノード名の末尾までをコピーします。チャットアプリが入れた改行や文末の句読点まで一緒にコピーしないでください。
  2. クリップボードから取り込む:「サーバー」→「クリップボードから一括 URL をインポート」を開き、一覧に1行追加されたか確認します。
  3. 重要なフィールドを確認:ノードをダブルクリックし、アドレス、ポート、ユーザー ID、トランスポートプロトコル、セキュリティ設定、SNI が空欄になっていないか、ずれていないかを確認します。
  4. アクティブノードに設定:ノードを選択してアクティブサーバーに設定し、コアを起動して必要なシステムプロキシモードを選びます。
  5. 実行ログを確認:接続に失敗した場合は、まずタイムアウト、証明書エラー、認証失敗、ポート競合を切り分けます。最初からすべてのパラメータを変更しないでください。

サブスクリプションURLは同じ入口から取り込めません。「サブスクリプショングループ」→「サブスクリプショングループ設定」を開き、グループ名を追加して完全なサブスクリプションURLを貼り付けます。保存後、「サブスクリプショングループ」→「すべてのサブスクリプションを更新」を実行してください。初回更新が完了すると、一覧にグループ別のノードが生成されます。既存のプロキシ経由でないとURLへアクセスできない場合は、利用可能なノードがある状態で、プロキシ経由で更新するコマンドを選択できます。

サブスクリプションを更新すると、そのグループでサブスクリプションから生成されたフィールドが上書きされる場合があります。そのため、サブスクリプションのノードを長期的に直接編集するのはおすすめしません。通信パラメータを試す必要がある場合は、先にノードをコピーして複製側を編集してください。次回更新しても、テスト設定と元のサブスクリプション設定を混同せずに済みます。

結論:まず入口を確認し、取り込み失敗かどうかを判断する

クリップボードから取り込んだ後にノードが1件だけ増えるのは正常です。サブスクリプション更新後に複数のノードが表示されるのも正常です。https:// のURLを「一括 URL のインポート」に渡してノードが生成されない場合は、同じURLを何度もコピーするのではなく、「サブスクリプショングループ設定」を使ってください。

v2rayNG で単一ノードとサブスクリプションを取り込む

v2rayNG 1.9.x で単一ノードを取り込む場合は、完全なリンクをコピーしてから、メイン画面右上のプラスボタンをタップし、「クリップボードから設定をインポート」を選択します。取り込みが完了すると、設定一覧にノードが追加されます。ノードをタップして現在の設定にしてから、メイン画面の起動ボタンをタップします。初回利用時は、システムに表示されるネットワーク接続の確認にも注意してください。確認しないと、クライアントはローカルプロキシ経路を確立できません。

  1. 単一リンクを取り込む:vmess:// または vless:// をコピーし、プラスボタンをタップして「クリップボードから設定をインポート」を選択します。
  2. サブスクリプショングループを作成:左上のメニューを開き、「サブスクリプショングループ設定」に進みます。プラスボタンをタップし、備考とサブスクリプションURLを入力します。
  3. ノード一覧を更新:メイン画面に戻り、メニューから「サブスクリプションを更新」を実行して、更新完了の通知が表示されるまで待ちます。
  4. 現在のノードを選択:一覧から目的の設定をタップし、選択状態を確認してから接続を開始します。
  5. 基本テストを行う:クライアントの遅延テストで確認できるのは到達性の初期判定だけです。最終的には実際のWebページまたはアプリのリクエストで接続を確認してください。

クリップボードに説明文、複数の改行、リンクが同時に含まれていると、正しく認識できない場合があります。より確実なのは、1回につき完全なリンクを1件だけコピーする方法です。VLESS リンクのクエリパラメータは & で区切られますが、一部のテキストエディターで処理すると、パラメータが欠落した文字列になることがあります。取り込み後に security、type、sni が空欄なら、元の情報源からコピーし直してください。

サブスクリプションの更新は成功したのに一覧が空の場合は、まずサブスクリプショングループが有効か確認します。次に、URLの前後に空白が入っていないか、端末のシステム時刻が正確かを確認してください。返された内容が期限切れ、またはサーバーのレスポンスが空の場合、クライアント側で何度更新してもノードは自動的に補われません。有効なサブスクリプション内容を取得する必要があります。

共有リンクとサブスクリプションの使い分け

固定ノードが1つだけの場合や、ポート、SNI、WebSocket パスを1項目ずつ調べる場合は、単一ノードの共有リンクが手軽です。設定群を一度に一覧へ追加しないため、比較テストにも向いています。元のノードを残してコピーし、1つのフィールドだけを変更してログ結果を比較できます。

ノード数が多く、今後も変更される場合は、サブスクリプションが長期管理に適しています。グループ単位で更新すれば、新しく追加されたノードをまとめて取得し、提供元が削除した古い記録を整理できます。サブスクリプション名で仕事用、テスト用、予備用の設定を分ければ、名前が似た数十件のノードから何度も探す手間も減ります。

VMess 共有リンク

通常、1件のリンクにエンコード済み JSON でノードパラメータが保存されています。既存の VMess 設定の移行や、WebSocket、TLS などのフィールドを個別に確認する用途に適しています。

適した用途:旧設定の移行、単一ノードのテスト、パラメータのトラブルシューティング

VLESS 共有リンク

標準 URI に近いパラメータ構造で、TLS、Reality、WebSocket、gRPC の組み合わせを直接表現できます。取り込み後もセキュリティ層のパラメータを確認してください。

適した用途:単一の VLESS ノード、Reality 設定の確認

サブスクリプションURL

おすすめ

更新可能な設定をまとめて管理できるため、1件ずつコピーして手作業で管理する負担を減らせます。ただし、保存先は単一ノードの取り込み画面ではなく、サブスクリプショングループにしてください。

適した用途:日常利用、複数ノードの管理、定期更新

結論:日常管理はサブスクリプション、問題の切り分けは単一ノードの複製で行う

サブスクリプションは一覧の同期を担当します。SNI、通信パス、セキュリティパラメータを変更する必要がある場合は、対象ノードを先にコピーし、複製側でテストしてください。サブスクリプションの更新機能を保ちながら、接続に影響したフィールドも明確にできます。

取り込めない場合と、取り込めても接続できない場合の確認手順

「取り込めない」問題と「取り込み済みだが接続できない」問題は別のものです。前者は通常、リンク形式、クリップボードの内容、取り込み入口に原因があります。後者はクライアントが設定を認識済みなので、ネットワーク、時刻、認証、通信パラメータを確認します。障害が起きている段階を先に特定すれば、形式の問題でネットワークテストを繰り返したり、接続問題で同じリンクを何度も取り込んだりせずに済みます。

vmess:// をコピーしても、v2rayN が反応しない?

「サーバー」→「クリップボードから一括 URL をインポート」を使っていることを確認し、クリップボードの内容を完全なリンク1件だけにします。取り込む前に、リンクの前後にある引用符、空白、文末の句読点を削除してください。

サブスクリプションURLを貼り付けるとエラーになるのはなぜ?

https:// のサブスクリプションURLは、「サブスクリプショングループ」→「サブスクリプショングループ設定」に入力し、保存後に更新を実行します。これは単一ノードのURLではないため、vmess:// や vless:// の取り込み入口では処理できません。

VLESS を取り込めても、ノードが保存されるだけでタイムアウトし続ける?

アドレス、ポート、UUID、security、type、SNI の順に確認します。Reality を使う場合は、公開鍵と短い ID も確認してください。一度に変更するフィールドは1つだけにし、変更のたびにコアのログを確認します。

サブスクリプション更新後、自分で変更したノード名が元に戻るのはなぜ?

サブスクリプションから生成された記録は、リモート側の内容に従って更新されます。カスタム名や検証用パラメータを残したい場合は、ノードを先にコピーして複製側を編集してください。サブスクリプションの記録を長期的な手動設定として使わないでください。

遅延テストに数値が出るのに、実際のリクエストが失敗するのはなぜ?

遅延テストでは、ハンドシェイクやルーティングの全工程を確認できません。システム時刻、TLSログ、DNS名前解決、システムプロキシの状態を確認し、実際のWebページへのリクエストで検証してください。1つのミリ秒値だけでノードの可用性を判断しないでください。

取り込み後に確認する3項目

1つ目は設定が完全かどうかです。VMess では、少なくともアドレス、ポート、UUID、暗号化フィールド、通信タイプ、TLSを確認します。VLESS ではアドレス、ポート、UUIDに加えて、security、flow、通信タイプ、および対応する SNI、Host、path、serviceName、Reality パラメータも確認してください。フィールドが欠けていても保存はできる場合がありますが、コアの起動時やハンドシェイク時に初めてエラーになることがあります。

2つ目はローカルプロキシの状態です。v2rayN のコアが動作していても、システムの通信がプロキシへ入っているとは限りません。用途に応じてシステムプロキシモードを選択してください。一般的なローカル SOCKS ポートは 10808 です。ブラウザーや他のプログラムで手動設定したプロキシを使う場合、ポートはクライアントが現在待ち受けている値と一致させる必要があります。「コアは正常なのにアプリがネットワークへ接続できない」場合は、すぐにプロトコルを変更せず、まずローカルポートとシステムプロキシを確認します。

3つ目は、保守しやすい設定習慣を作ることです。サブスクリプショングループは日常のノード同期に、単一ノードの複製はテストに使います。ノード名には地域、プロトコル、用途を含めても構いませんが、UUIDや完全なサーバー認証情報は保存しないでください。共有リンクの使用を停止したら、クリップボード履歴、公開チャット、仮のテキストから該当内容を削除します。認証情報が公開済みの場合は、表示名だけを変更せず、更新された設定を取得してください。

  1. リンクの種類と取り込み入口が一致していることを確認します。プロトコルリンクはノード一覧へ、ネットワークURLはサブスクリプショングループへ取り込みます。
  2. コアが起動し、ローカルの待ち受けポートが競合していないことを確認し、必要に応じてシステムプロキシを有効にします。
  3. ログにタイムアウト、証明書、認証、DNSのエラーがないことを確認してから、実際のリクエストをテストします。
v2rayN をダウンロード Windows、macOS、Android、Linux クライアントを確認