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

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

vmess:// または vless:// で始まるテキストを受け取った場合、通常は1つのノードを共有するリンクです。一方、https:// で始まり、クライアントの「サブスクリプショングループ」や「サブスクリプション設定」に追加するURLは、通常サブスクリプションURLです。どちらもサーバー設定をクライアントに渡せますが、データの範囲、取り込み口、後続の更新方法は大きく異なります。

よくある操作ミスは、サブスクリプションURLを「クリップボードからノードを取り込む」に貼り付けたり、1件の VMess・VLESS 共有リンクをサブスクリプション管理に入力したりすることです。前者では認識できない通常のURLとして扱われ、後者では更新時に形式エラーが表示される場合があります。まず内容の種類を見分けてから適切なメニューを選ぶと、取り込み時の問題の多くを避けられます。

共有リンクとサブスクリプションURL:4つの違い

共有リンクは「単一設定を持ち運ぶためのパッケージ」です。ノードに必要なサーバーアドレス、ポート、ユーザー識別子、通信方式、セキュリティ設定、表示名を1つのテキストにまとめます。クライアントが解析すると、ローカルのノード一覧に1件の設定が追加されます。その後、元のテキストが変更されても、再度取り込むか手動で編集しない限り、ローカルの設定は自動更新されません。

一方、サブスクリプションURLは「リモート一覧への入口」です。クライアントが保存するのは一覧のURLで、ユーザーが手動更新するか、設定したスケジュールに従って更新すると内容を再取得します。サーバー側でノードの追加、無効なノードの削除、設定や表示名の変更が行われても、次回更新時にクライアントへ反映されます。サブスクリプション自体はプロキシプロトコルではなく、設定を配布する仕組みです。サブスクリプションには VMess、VLESS など複数種類のノードを含められます。

比較項目 共有リンク サブスクリプションURL
一般的な先頭部分 vmess://vless:// https://
データ範囲 通常は1つのノード 通常は複数のノード
取り込み口 クリップボードから取り込む、QRコードから取り込む サブスクリプショングループ、サブスクリプション設定
その後の更新 元のリンクの変更には自動追従しない 一覧を再取得できる
適した用途 一時的なテスト、単一ノードの移行、特定ノードの共有 長期運用、複数ノードの切り替え、一括変更

もう1つ、混同しやすいケースがあります。1つのテキストに複数の vmess:// または vless:// が連続して含まれ、各リンクが1行ずつ記載されている場合です。これは「共有リンクの一括登録」であり、サブスクリプションではありません。一部のクライアントでは複数行を一度に解析して、ローカルに複数のノードを作成できます。ただし、元のテキストが変更されても、これらのノードは自動更新されません。

VMess:エンコードされた構造化設定

一般的な VMess 共有リンクは、vmess:// にエンコードされたデータを続ける形式です。デコードすると、サーバーアドレス、ポート、ユーザー識別子、通信ネットワーク、TLS設定、ホスト名、パス、ノード名などの構造化フィールドが含まれています。通常、手動でデコードする必要はありません。クライアントがフィールドを読み取り、ローカル設定へ変換します。

VMess ノードが接続できるかどうかは、アドレスとポートだけで決まりません。ユーザー識別子、通信方式、TLSやWebSocketなどの設定もサーバー側と一致している必要があります。たとえば、サーバーが WebSocket のパスを要求しているのに、取り込んだ設定にパスがない場合、クライアント上ではノードが追加済みと表示されても、実際の接続には失敗することがあります。つまり「取り込み成功」は形式を認識できたことを示すだけで、リモート側の設定が有効とは限りません。

VLESS:URIフィールドとクエリパラメーター

VLESS の共有リンクは一般的な URI 構造に近く、次のように理解できます。

vless://UUID@host:port?type=通信方式&security=セキュリティ方式#ノード名

UUID はユーザー識別子、hostport はサーバーアドレスとポートです。疑問符以降には通信方式やセキュリティに関するパラメーターが続き、シャープ記号以降には通常、識別しやすいノード名が入ります。実際のリンクには、SNI、フィンガープリント、パス、サービス名、公開鍵、ショートIDなどのフィールドが含まれる場合もあります。どのパラメーターが必要かは、ノードで採用されている通信方式とセキュリティの組み合わせによって決まります。

VLESS 自体は、従来の意味での暗号化層を提供しません。実際のセキュリティ機能は通常、TLSや REALITY などの設定が担います。そのため、vless:// だけを見て接続方式を判断してはいけません。security、通信タイプ、その追加パラメーターも同時に確認する必要があります。Xray コアを使用する v2rayN と v2rayNG は、Xray の機能を使う VLESS 設定に利用されることが一般的です。ノードが特定のコア機能に依存している場合は、要件に合うクライアントとコアのバージョンを選んでください。

v2rayNで共有リンクとサブスクリプションを取り込む

v2rayN はデスクトップ向けのGUIクライアントです。バージョンによってメニュー名は多少異なりますが、操作の考え方は共通しています。単一ノードのリンクはクリップボードから取り込み、リモート一覧はサブスクリプショングループで管理します。

共有リンクを1件または複数件取り込む

  1. vmess:// または vless:// のテキストを完全にコピーし、先頭のプロトコル名が欠けていないこと、末尾のパラメーターがチャットツールで切れていないことを確認します。
  2. v2rayNを開き、サーバーまたはノード関連のメニューから「クリップボードから一括URLを取り込む」など、該当する機能を選びます。
  3. ノード一覧に新しい設定が追加されたか確認し、タイプ、アドレス、ポート、通信方式、表示名を照合します。
  4. 新しいノードを選択してアクティブサーバーに設定し、必要に応じてシステムプロキシやその他の動作モードを有効にします。
  5. 実際の接続をテストします。遅延テストで分かるのは探測リクエストの結果だけで、Webサイトやアプリの通信が通るかどうかは、ルーティング、DNS、システムプロキシの状態にも左右されます。

クリップボードに複数のリンクがある場合は、各リンクを1行ずつにすることをおすすめします。リンクの前後に説明文、番号、全角句読点などが混ざると、解析器がその行を読み飛ばすことがあります。取り込み後にノードが重複するのは珍しくありません。クリップボードからの取り込みは通常追加操作であり、以前のノードが同じ出所かどうかを自動判定しないためです。

サブスクリプションURLを追加する

  1. v2rayNのサブスクリプショングループまたはサブスクリプション設定画面を開きます。
  2. 新しいグループ名を追加し、完全なサブスクリプションURLをアドレス欄に入力します。グループ名はローカルで識別するためのものなので、用途に合わせて名前を付けられます。
  3. 設定を保存し、メイン画面に戻って「サブスクリプションを更新」または該当グループの更新操作を実行します。
  4. 更新後、ノードが想定したグループに入っていることを確認し、ステータス情報にリクエストや解析のエラーが表示されていないか確認します。
  5. 定期的に同期する場合は、現在のバージョンで提供されている項目から自動更新の間隔を設定します。追加後の初回は手動更新を行い、URLが利用できることを確認してください。

サブスクリプションURLをブラウザーで開けても、クライアントが正しく解析できるとは限りません。レスポンスの内容が、クライアントの対応するサブスクリプション形式である必要があります。逆に、ブラウザーに読みにくい長い文字列が表示されても、URLに異常があるとは限りません。多くのサブスクリプションレスポンスは、もともとエンコードされたノード一覧です。

v2rayNGで共有リンクとサブスクリプションを取り込む

v2rayNG は Android 向けの Xray コア搭載クライアントです。取り込み口は通常、メイン画面右上のメニューまたは追加ボタンにあります。デスクトップ版と同じく、まず手元の内容が単一ノードの共有リンクかサブスクリプションURLかを判断します。

クリップボードから VMess または VLESS を取り込む

  1. 共有リンクを完全にコピーし、リンクの一部だけを選択しないでください。
  2. v2rayNGを開き、設定追加メニューに入り、「クリップボードから取り込む」などの項目を選びます。
  3. 取り込み後、設定一覧から追加されたノードを見つけ、現在の設定として選択します。
  4. 接続を開始する前に、アプリに必要なシステム権限の確認画面に対応し、メイン画面に取り込んだばかりのノードが表示されていることを確認します。
  5. 接続後、ドメイン名へのアクセスと直接アドレスへのアクセスをそれぞれテストし、問題がノード、DNS、ルーティングのどこにあるかを切り分けます。

共有元がQRコードを提供している場合は、クライアントのQRコード読み取り機能も利用できます。QRコードはテキストを別の形で保持するだけで、読み取られる中身は VMess または VLESS の共有リンクです。QRコードからの取り込みとクリップボードからの取り込みでは、サブスクリプション関係は作成されません。以後パラメーターが変更された場合は、新しいリンクを再取得する必要があります。

サブスクリプショングループを追加・更新する

  1. サブスクリプショングループの設定を開き、新しいグループを追加してサブスクリプションURLを入力します。
  2. 保存後に設定一覧へ戻り、サブスクリプションを更新します。
  3. 取得と解析が完了するまで待ち、ノード数とグループへの割り当てを確認します。
  4. ノードを1つ選んで接続テストを行います。ノード名だけで品質を判断しないでください。
  5. 自動更新が必要な場合は、サブスクリプションまたは設定画面で現在のバージョンが提供する定期更新機能を有効にし、適切な間隔を選びます。

v2flyNG も Android 向けですが、V2Fly コアを搭載しています。通常の VMess 設定は同様の方法で取り込めることが多い一方、VLESS ノードが Xray 固有の機能を使っている場合は、要件に応じて v2rayNG を使用してください。クライアント名が似ていても、対応するコアの機能範囲まで同じとは限りません。

サブスクリプション更新で上書きされる内容と手動ノードの扱い

サブスクリプション更新では通常、リモートノードをグループ単位で処理します。クライアントが一覧を再取得すると、そのグループの既存内容を新しい結果で置き換える場合もあれば、内部識別子に基づいて統合する場合もあります。具体的な動作はクライアントのバージョンとサブスクリプション設定によって異なります。最も安全な方針は、長期的に手動で保持したいノードを独立したグループに置き、サブスクリプションから生成されたノードを直接編集して変更が永続すると期待しないことです。

たとえば、サブスクリプションのノード名や通信パラメーターを手動で変更しても、次回更新時にリモート一覧の元の値へ戻る可能性があります。サブスクリプションのノードをベースに長期的な変更を加えたい場合は、まず独立したローカルノードとして複製し、そのコピーを編集してください。コピーにはサブスクリプション側の後続修正が自動反映されないため、自分で管理する必要があります。

サブスクリプションのノードを削除しても、必ずしも永久に消えるとは限りません。リモート一覧に残っていれば、次回更新時に再び表示される可能性があります。一覧を整理するには、配信元が変わらない項目を何度も削除するのではなく、グループ分け、絞り込み、並べ替え、クライアントのフィルター機能を利用してください。

自動更新の間隔は短ければよいとは限りません。ノード一覧は通常、数分単位で変化しないため、頻繁なリクエストに実益はありません。普段は長めの周期にし、ノード全体に異常が見られる場合、サーバー側から変更の通知があった場合、または経路を切り替える必要がある場合に手動更新するとよいでしょう。更新に失敗した際に古いノードを残すかどうかはクライアントの処理に左右されるため、結果を確認せず既存設定を一括削除しないでください。

取り込み失敗・更新結果が空・接続失敗のトラブルシューティング

共有リンクを認識できない

  • リンクが途中で切れている:元のテキストを再コピーし、先頭、ポート、クエリパラメーター、末尾のノード名を重点的に確認します。
  • 余分な文字が混ざっている:リンクの前にある番号、引用符、空白、説明文を削除し、複数のリンクは1行に1件ずつ記載します。
  • クライアントのバージョンが古い:新しいパラメーターやプロトコル機能を古いコアが認識できない場合があります。まず現在のクライアントとコアのバージョンを確認してください。
  • プロトコルとコアが一致していない:ノードが Xray 固有の機能を使う場合は、対応するコアを搭載した v2rayN または v2rayNG を使用してください。
  • エンコードデータが破損している:VMess のエンコード部分で文字が欠落すると、通常は復元できません。完全な共有リンクを再取得してください。

サブスクリプションの更新に成功したのにノード数が0

まず追加したものがサブスクリプションURLであり、ログインページ、説明ページ、単一の共有リンクではないことを確認します。次にクライアントのログや更新メッセージを確認してください。ネットワーク要求が成功しても、レスポンスを受信できたことを示すだけで、内容が空、アクセス権の案内、期限切れ情報、またはクライアント非対応の形式である可能性があります。サブスクリプションに特定のアクセス条件がある場合は、現在のネットワーク経路からURLへ到達できることも確認します。

一部のクライアントには「プロキシ経由でサブスクリプションを更新する」設定があります。ローカルからの直接接続ではURLにアクセスできないものの、既存のプロキシノードが利用できる場合は、プロキシ経由での更新を試せます。現在のプロキシノード自体が無効なら、直接接続での更新に戻すか、まず利用可能なノードを1件取り込んでください。この設定はサブスクリプション取得時のネットワーク経路を変えるだけで、期限切れのURLを修復するものではありません。

ノードは取り込めたが接続できない

この問題では「設定の解析」と「ネットワーク接続」を分けて判断します。ノードが一覧に表示されるのは、クライアントがリンクの形式を読み取れたことを示すだけです。次に、サーバーアドレスを名前解決できるか、ポートへ到達できるか、システム時刻が正確か、ユーザー識別子が一致しているか、TLSまたは REALITY のパラメーターがそろっているか、通信経路とホスト名が正しいかを順番に確認します。

ノードは正常に接続済みと表示されるのにWebページを開けない場合は、システムプロキシ、ルーティングの振り分け、DNSを確認します。v2rayNでは対象アプリの通信がローカルプロキシの入口に入るようにする必要があります。v2rayNGでは接続状態と対象アプリの範囲設定を確認してください。ルーティングルールは順番に照合されるため、誤った直接接続ルールやブロックルールによって、対象リクエストが想定した出口を通らないことがあります。DNSの解決結果とルーティング方針が一致しない場合は、一部のドメインだけ失敗し、他のアドレスは正常という状態になることもあります。

リンクの保存・移行・日常利用に関する注意

VMess、VLESS の共有リンクやサブスクリプションURLには、アクセス認証情報が含まれている場合があります。アカウントの鍵と同様に扱って保存し、公開ページへの掲載や関係者以外への転送は避けてください。特にサブスクリプションURLは、取得した人が現在選択中の1ノードだけでなく、一覧全体を取得できることが多いため注意が必要です。

少数の固定ノードを複数の端末へ移行するなら、単一の共有リンクが手軽です。複数ノードを長期利用するなら、サブスクリプショングループのほうが同期しやすくなります。両方を使う場合は、「ローカル設定」に手動ノードを入れ、リモート一覧は提供元ごとにサブスクリプショングループを作るなど、分かりやすい名前を付けるとよいでしょう。更新、削除、トラブルシューティングの際に混乱しにくくなります。

ノード名だけでプロトコルや機能を判断しないでください。ノード名は編集可能なテキストで、接続方式を決めるのは実際の設定フィールドです。ノードを選択したら、クライアントの詳細画面でプロトコル、通信方式、セキュリティ方式、アドレス、ポートを確認できます。REALITY などの機能を使う場合は、公開鍵、ショートID、サーバー名、フィンガープリントの各パラメーターもそろっているか確認してください。

最後に、簡単な判断ルールで整理します。vmess:// または vless:// を1件だけ受け取った場合は、クリップボードまたはQRコードから取り込みます。継続的に管理するWebアドレスを受け取った場合は、サブスクリプショングループに追加して更新します。複数行の共有リンクは一括登録できますが、自動同期は期待しないでください。取り込み後、クライアントの画面から接続、システムプロキシ、現在のネットワークに適したルーティングモードを有効にします。

v2rayN をダウンロード