vmess://・vless://共有リンクとサブスクリプションURLの違い・インポート方法

vmess://・vless://共有リンクとサブスクリプションURLの違いを解説。v2rayN・v2rayNGへの追加方法や更新の仕組みも紹介します。

この記事の要点

vmess:// または vless:// で始まる文字列は、通常1件分のサーバー設定です。一方、サブスクリプションURLは設定一覧を取得するための入口です。一時的なテストには共有リンク、継続的な管理には信頼できる提供元のサブスクリプションが適しています。この記事では、URLの見分け方、PC・Androidへの追加、更新方法、トラブル対処を順に解説し、「設定を追加できた」ことと「実際に接続できる」ことの違いも確認します。

共有リンクとサブスクリプションURL:設定のスナップショットと更新の入口

1件分の共有リンクには、特定サーバーへの接続情報が保存されています。通常、アドレス、ポート、ユーザーID、通信設定などが含まれ、インポートするとクライアントがローカル設定に変換します。提供元が後からサーバーのポートを変更しても、インポート済みの設定には自動反映されません。再インポートするか、手動で変更する必要があります。

サブスクリプションURLは通常、https:// で始まります。クライアントがURLにアクセスして設定の一覧を取得し、指定したグループに読み込みます。返される設定は1件の場合も複数の場合もあります。サブスクリプションかどうかは、設定数ではなく用途と応答内容で判断します。ブラウザーで開ける通常のWebページが、クライアントでサブスクリプションとして読み込めるとは限りません。

信頼できる提供元のサブスクリプションURL

おすすめ

設定一覧を取得するための入口を保存し、必要に応じて更新してサーバー情報を取得します。提供元がアドレスやポート、サーバー一覧を変更する場合に便利です。更新前に、提供元が信頼できることと、クライアントが形式に対応していることを確認してください。

おすすめの用途:長期利用、複数サーバー、設定の定期的な同期

vmess:// または vless:// の共有リンク(1件)

特定の設定をスナップショットとして保存するため、各項目を個別に確認できます。継続的な同期機能はありません。サブスクリプションから共有リンクを書き出しても、サブスクリプションの更新には連動しません。

おすすめの用途:一時的なテスト、手動管理、自前サーバーの設定共有

結論:まず入口を見分けて、インポート方法を選ぶ

vmess:// または vless:// の文字列を受け取ったら、「クリップボードからインポート」を使います。提供元がサブスクリプションURLとして案内したURLは、まずサブスクリプション設定に保存してから更新します。同じサブスクリプションURLを、共有リンクとして何度も貼り付けないでください。

リンクの構造:プロトコル、通信方式、TLSを個別に確認

VMessの共有リンクは一般に、vmess:// の後にBase64エンコードされたJSONが続く形式です。デコードすると、add、port、id、net、host、path、tls などのフィールドを確認できます。生成ツールによってフィールドの仕様が異なる場合があるため、クライアントの解析結果とサーバー設定を基準にしてください。

VLESSの共有リンクは通常、URI形式です。ユーザーIDはアドレスの前、ポートはホスト名の後に置かれ、クエリパラメーターで通信方式やセキュリティ設定を指定します。# 以降は表示名です。よく使われるパラメーターは type、security、sni、flow です。REALITYでは pbk、sid、fp なども含まれる場合があります。名前が似ているからといって、パラメーターを入れ替えないでください。

項目確認する内容よくある誤解
アドレスとポートサーバーのドメイン名またはIPアドレス、実際の待ち受けポートポートが443でも、TLSが有効とは限りません
認証情報VMessまたはVLESSのユーザーID表示名が同じでも、認証情報が同じとは限りません
通信方式TCP、WebSocketなどの方式と関連パラメーターWebSocketのパスとサブスクリプションURLのパスは別物です
セキュリティ設定TLSまたはREALITY、サーバー名、必要なパラメーターVLESS自体は通信を暗号化しません。セキュリティレイヤーの設定を確認してください
表示名一覧で設定を見分けるための名前表示名を変更しても、サーバーの場所や経路は変わりません

Base64はエンコード方式であり、情報を秘匿する仕組みではありません。QRコードもリンクの内容を別の形で表したものです。リンク全体を見知らぬオンラインデコードサービスに渡さないでください。クライアントの編集画面で項目を確認することはできますが、サーバー側の情報がないままユーザーID、パス、サーバー名を変更しないでください。

443
HTTPSでよく使われるポート。実際の設定を確認してください
10808
ローカルの待ち受けポートの例。リモートサーバーのポートではありません
1件
共有リンク1件に通常含まれるサーバー設定数

v2rayNへのインポート:クリップボードとサブスクリプショングループは別々に操作

以下では、v2rayNでよく使われる日本語メニュー名を例に説明します。バージョンによって項目名や場所が異なる場合があります。まずリンク全体をコピーし、チャットアプリが付けた引用符や説明文、途中で切れた改行を取り除いてください。リンク内のクエリパラメーターやパーセントエンコードはそのまま保持します。名前に空白があるからといって、リンク内の文字を削除しないでください。

  1. 共有リンクを1件インポート:vmess:// または vless:// のリンク全体をコピーし、メイン画面で「サーバー」→「クリップボードから一括URLインポート」を選びます。一般的なデスクトップ画面では Ctrl+V も使えます。ショートカットが機能しない場合はメニューから操作してください。
  2. 解析結果を確認:サーバー一覧で追加した設定を開き、プロトコル、アドレス、ポート、通信方式、セキュリティ設定を確認します。一覧に項目が表示されても、リンクが解析されたことを示すだけで、接続確認が済んだわけではありません。
  3. サブスクリプションを登録:「サブスクリプショングループ」→「サブスクリプショングループ設定」を開き、グループを追加します。識別しやすい表示名とサブスクリプションURL全体を入力して保存します。表示名は「日常用」などで十分です。アクセストークンを名前に含める必要はありません。
  4. サーバー一覧を取得:「サブスクリプショングループ」メニューから「現在のサブスクリプションを更新(プロキシを使用しない)」または「すべてのサブスクリプションを更新(プロキシを使用しない)」を選びます。現在のネットワークからサブスクリプションサイトに接続できず、利用可能なプロキシがある場合は、「プロキシを使用して更新」の項目を試してください。
  5. 設定を選んで接続を確認:更新後にサーバーを選択し、アクティブサーバーに設定します。その後、メイン画面でシステムプロキシの状態を確認してください。システムプロキシが必要なアプリでは、「システムプロキシを自動設定」などの項目を選びます。サーバーを選択しただけでは、すべてのアプリの通信がコアに流れるわけではありません。

v2rayNGへのインポート:サブスクリプションを保存した後、更新も実行

v2rayNGはXrayコアを使用するAndroidクライアントです。共有リンクの解析、サブスクリプション一覧の更新、AndroidのVPN接続はそれぞれ別の手順です。最初の2つで設定を取得し、接続開始時にVpnServiceの許可を求めるか、許可済みの設定を利用します。サブスクリプションの取得に成功しても、VPNが起動したことや、すべてのアプリのプロキシ設定が完了したことにはなりません。

  1. 共有リンクを1件追加:リンクをコピーしてv2rayNGを開き、右上の「+」→「クリップボードからインポート」をタップします。QRコードを受け取った場合は、同じ追加メニューの「QRコードをスキャン」を使い、信頼できる提供元のコードであることを確認してください。
  2. サブスクリプションURLを登録:サイドメニューから「サブスクリプション設定」を開き、「+」をタップします。表示名とURLを入力して保存してください。vmess:// 形式の共有リンクを、サブスクリプションURL欄に入力しないでください。
  3. 一覧を取得:設定一覧に戻り、右上のメニューから「サブスクリプションを更新」を選びます。バージョンによってはグループごとに操作できます。更新後は、現在のフィルターに新しい項目が表示されたかだけでなく、対象のグループを確認してください。
  4. 接続して許可:設定を選び、接続ボタンをタップします。初回起動時は、システムの案内に従ってVPN接続を許可してください。端末上で別の接続がシステムVPNを使用中の場合は、先に競合を解消してから接続状態とログを確認します。
  5. アプリごとの設定を確認:一部のアプリだけがプロキシを経由しない場合は、「設定」の「アプリごとのプロキシ」を確認します。選択したアプリだけをプロキシ経由にする設定なのか、選択したアプリを除外する設定なのかを確認し、チェックマークだけで判断しないでください。

PCとAndroidの両方で使う:同じサブスクリプションをそれぞれ登録

PC版 v2rayN
  • サブスクリプショングループ設定にURLを保存します。
  • 手動で更新し、対象グループに設定があることを確認します。
  • システムプロキシとルーティングルールは個別に設定します。
Android版 v2rayNG
  • サブスクリプション設定に同じURLを保存します。
  • 更新を実行してから、アクティブな設定を選びます。
  • VPNの許可とアプリごとのプロキシは個別に設定します。

両方の端末で、それぞれ更新が必要です。サーバー一覧は同じ提供元から取得できますが、ルーティング、DNS、アプリの通信制御設定は通常のノードサブスクリプションでは同期されません。両方で同時に使う場合は、提供元の端末数制限も確認してください。

サブスクリプションの更新:一覧の再取得と設定全体の同期は別

ノードサブスクリプションの応答は、共有リンクの一覧であることが一般的です。全体がBase64エンコードされている場合も、クライアントが対応する別形式の場合もあります。HTTPリクエストに成功しても、サーバーが内容を返したことを示すだけです。ログインページやエラーメッセージ、未対応形式が返された場合、クライアントに「有効な設定がありません」と表示されることがあります。

更新時、クライアントは通常、対象サブスクリプショングループのサーバー項目を再作成または置き換えます。手動で変更した名前、アドレス、通信パラメーターは上書きされ、項目の順序も変わることがあります。そのため、サブスクリプショングループ内の設定を、恒久的な手動編集用コピーとして扱うのは避けましょう。変更を保持する必要がある場合は、手動グループに別途保存し、元のサブスクリプションと自動同期されないことを把握しておいてください。

インポート・更新時のよくある問題:失敗した段階ごとに対処

まず「リンクを解析できない」「サブスクリプションを取得できない」「設定はあるが接続できない」を区別してください。問題が起きる段階によって対処の順序が異なります。サブスクリプションがタイムアウトする場合は取得経路を確認します。サーバーへの接続に失敗する場合は、接続パラメーターとコアのログを確認してください。サブスクリプショングループ全体をすぐ削除して再登録する必要はありません。

リンクをコピーしたのに「有効な設定がありません」と表示されるのはなぜ?

先頭が完全な vmess:// または vless:// になっているか確認し、表示名だけをコピーしていないか、後半が欠けていないか、チャットアプリで途中が切れていないかを調べます。コピーしたものがHTTPSのサブスクリプションURLなら、サブスクリプション設定に保存してから更新してください。URLのスキームを別のプロトコルに書き換えないでください。

ブラウザーではサブスクリプションを開けるのに、クライアントで更新できないのはなぜ?

ブラウザーに表示されたのはサブスクリプションの本文ではなく、ログインページかもしれません。また、ブラウザーとクライアントでは、異なるプロキシ経路を使う場合があります。URL全体を確認し、更新ログでタイムアウト、HTTPステータス、解析エラーを調べてください。利用可能なプロキシがある場合に限り、プロキシ経由の更新を試します。まだ取得できていないサーバーに依存する設定は避けてください。

サーバーのインポートに成功したのに、接続がタイムアウトするのはなぜ?

設定を開き、サーバーアドレス、リモートポート、通信方式、TLSのサーバー名、REALITYに必要なパラメーターを順に照合してください。システム時刻、ネットワーク、ログも確認します。ポートが443でも、そのポートを使っていることしか分からず、TLSが正しく設定されているとは限りません。トラブル対処として証明書の検証を無効にするのも避けてください。

サブスクリプション更新後に、手動で変更した設定が元に戻るのはなぜ?

サブスクリプショングループはリモートの一覧から再生成されるため、ローカルでの変更が次回の更新で置き換えられることがあります。個別に管理したい設定は手動グループにコピーし、用途が分かる表示名を付けてください。更新後は、アクティブサーバーが意図した項目のままか確認します。

サブスクリプションの更新に成功したのに、一部のアプリがプロキシを経由しないのはなぜ?

サブスクリプションで設定できるのは、設定の取得元までです。PCではシステムプロキシとアプリ側のプロキシ設定を確認してください。AndroidではVPNが起動しているか、アプリごとの対象リストとルーティングルールを確認します。通信がコアに届いていても、DIRECTルールによってプロキシを経由しない場合があります。ログとあわせて判断してください。

インポート後は、設定が正しいグループに入っていること、アクティブサーバーが正しく選択されていること、対象アプリの通信が意図したアウトバウンドを経由していることを確認してください。ユーザーID、通信方式、ルーティングの各項目について詳しく知りたい場合は、用語集とプロトコルリファレンスをご覧ください。表示名だけでプロトコルの機能を判断しないでください。

v2rayN をダウンロードPC・Android クライアント