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

共有リンクとサブスクリプションURLの仕組みを解説。v2rayN・v2rayNGでのクリップボードやQRコードからのインポート、購読設定の手順と使い分けを紹介します。

この記事の要点

手元にあるのが単一の設定リンクか、サブスクリプションURLかを見分けてから、クリップボード、QRコード、サブスクリプショングループのいずれかを選びましょう。v2rayN・v2rayNGを初めて使う方向けに、インポート手順と確認すべき項目を解説します。「設定が一覧にある」「接続できる」「アプリの通信がプロキシ経由になる」は、それぞれ別の状態です。

共有リンクとサブスクリプションURL:適切な入口を選ぶ

vmess://とvless://は、通常、1件分の設定を共有する形式です。サーバーアドレス、ポート、認証情報、通信パラメーターなどが含まれます。クライアントで読み込むと、ローカルの設定として保存されます。複数行のリンクをまとめてコピーすれば複数件を一括インポートできる場合もありますが、更新可能なサブスクリプションになるわけではありません。

サブスクリプションURLは通常、https://で始まります。クライアントがそのURLにアクセスして設定を取得し、対応する形式を解析します。これはノードそのものではなく、最新の設定を取得するための入口です。一般的なWebページやログインページもHTTPSで始まるため、URLの先頭だけでサブスクリプションだと判断することはできません。

サブスクリプションURL

おすすめ

サブスクリプショングループに保存して、必要に応じて更新します。提供元がサーバーやパラメーターを変更した場合、URLが有効でネットワークに接続でき、対応形式で返されれば、クライアントで再取得できます。

おすすめの用途:継続利用、複数設定の管理、複数端末での個別更新。

単一の共有リンク

クリップボードやQRコードから直接インポートでき、特定の設定を1件だけ共有するのに便利です。リモート側のパラメーターが変更されても、インポート済みのローカル設定は自動で更新されません。

おすすめの用途:一時的なテスト、自前サーバー、個別設定の確認。

見分け方:「サブスクリプション」と記載された提供元の入口を探す

サブスクリプションURLを受け取ったら、サブスクリプショングループに追加します。プロトコル名で始まる完全なリンクを受け取った場合は、共有リンクとしてインポートしてください。アカウント管理ページのURLをサブスクリプション欄に入力したり、サブスクリプションURLをサーバーアドレスとして扱ったりしないでください。

VMessとVLESS:リンクに含まれるパラメーター

一般的なVMess共有形式では、vmess://の後にBase64エンコードされたJSONデータが続きます。データにはadd、port、id、net、path、tlsなどのフィールドが含まれることがあります。Base64はエンコード方式であり、情報を秘匿するものではありません。内容を読めなくても、認証情報が安全に隠されているわけではありません。

一般的なVLESS共有形式はURI形式です。認証情報はホスト名の前、ポートはホスト名の後に続き、疑問符の後に通信・セキュリティ関連のパラメーター、ハッシュ記号の後にコメントが記載されるのが一般的です。共有形式の細部はクライアントによって異なる場合があります。vless://を認識できても、現在のコアがすべての組み合わせに対応しているとは限りません。

パラメーターの分類主なフィールドインポート後の確認項目
サーバーと認証add、port、id、VLESSのホスト・ポート・UUIDアドレス、ポート、ユーザー識別子が提供元の情報と一致しているか確認します。コメントだけで判断しないでください。
通信方式net、type、path、serviceNameWebSocketとgRPCを区別し、パスとサービス名を取り違えないようにします。
接続のセキュリティtls、security、sni、fpTLSまたはREALITYの種類と、サーバーが要求するドメイン名やフィンガープリントを確認します。
REALITYとフロー制御pbk、sid、flow公開鍵、Short ID、フロー制御の値はサーバー設定に合わせてください。他のノードの値を流用しないでください。

VLESS自体には通信を暗号化する機能がないため、実際の構成で使われているセキュリティ層を確認する必要があります。リンク内のencryption=noneだけで、接続全体が平文だとは判断できません。securityなどの設定も確認してください。また、接続できないからといって、証明書の検証を無効にしたりSNIを安易に変更したりしないでください。

v2rayN:クリップボードからのインポートと画面上のQRコード読み取り

デスクトップでは、まずリンクの完全な元テキストを使います。省略表示されたプレビューをコピーしたり、チャットの吹き出しにある引用符や説明文まで選択したりしないでください。以下は一般的な中国語UIを例にしています。画面によってメニュー名が多少異なる場合がありますが、「クリップボードからインポート」と「画面上のQRコードをスキャン」に相当する機能を選んでください。

  1. リンクをコピー:vmess://またはvless://から始まる行を、末尾まで完全に選択します。複数件をまとめてインポートする場合は、リンクごとに1行にし、リンクの途中で改行しないでください。
  2. インポートする:v2rayNを開き、「サーバー」→「クリップボードから一括URLインポート」を選択します。表示された結果を確認し、想定した設定が一覧に追加されたことを確かめてください。
  3. 項目を確認する:追加した設定の編集画面を開き、提供元の情報と照らし合わせて、プロトコル、アドレス、ポート、通信方式、セキュリティ設定を確認します。コメントが同じかどうかだけで判断しないでください。
  4. 使用するサーバーに設定する:一覧で追加した設定を選び、「アクティブサーバーに設定」に相当する操作を行います。まずコアが正常に起動するか確認してから、実際の通信をテストしてください。

QRコードだけの場合の手順

QRコード全体が画面に表示されている状態で、「サーバー」メニューから「画面上のQRコードをスキャン」を選択します。このデスクトップ機能は通常、画面上の内容を読み取るもので、スマートフォンのカメラを直接使うものではありません。機能が見つからない場合は、提供元に共有リンクの元テキストを表示してもらい、クリップボードからインポートしてください。

インポート成功は、形式が受け付けられたことを示すだけです。Webページが開けない場合は、まず画面下部のシステムプロキシの状態を確認し、アプリがシステムプロキシを使っているか調べてください。詳しいインストール手順は入門ガイドをご覧ください。基本設定が使えると確認できるまでは、システムプロキシ、TUN、ルーティングルールを同時に変更しないでください。

v2rayNG:Androidでのクリップボード・QRコードからのインポート

v2rayNGはXrayコアを使用しますが、接続できるかどうかは、クライアントに含まれるコアのバージョンとサーバーのパラメーターによって決まります。以下は単一の共有リンクを使う手順です。サブスクリプションは専用のサブスクリプショングループから設定し、同じトラブルシューティングに混在させないでください。

  1. クリップボードからインポート:リンク全体をコピーしてv2rayNGを開き、メイン画面右上の「+」→「クリップボードからインポート」をタップします。クリップボードへのアクセスを求められた場合は、操作内容を確認して許可してください。
  2. QRコードからインポート:「+」→「QRコードをスキャン」をタップし、案内に従ってカメラの使用を許可して、QRコード全体を読み取り枠に収めます。画像を端末に保存している場合は、スキャン画面が対応していれば画像を選んで読み取れます。
  3. 設定を確認:設定一覧に戻り、インポートした項目を選んで編集画面を開き、アドレス、ポート、通信パラメーターを確認します。同じ名前の古い設定を新しい項目と取り違えないようにしてください。
  4. 接続を開始:接続ボタンをタップします。初回起動時はAndroidにVPN接続の許可画面が表示されるので、許可してからステータスとログを確認してください。

設定の構文チェックに通っても起動できない場合は、具体的なエラーメッセージを記録してください。未対応のプロトコルパラメーター、認証失敗、接続タイムアウトは、それぞれ異なる問題です。プロトコルを手当たり次第に切り替えて試さないでください。特に、VMessのフィールドをVLESS設定にそのまま入力しないでください。

サブスクリプションの追加:URL保存後に更新する

サブスクリプションの追加には、通常、URLの保存と更新の2つの操作が必要です。名前とURLを入力しただけでは、設定が一覧にすぐ表示されるとは限りません。更新すると、クライアントがサーバーからデータを取得して解析し、該当するグループに保存します。

両方の端末で同じサブスクリプションを個別に保存する

デスクトップ:v2rayN
  • 「サブスクリプショングループ」→「サブスクリプショングループ設定」を開きます。
  • グループを追加し、判別しやすいコメントを入力します。完全なURLをURL欄に貼り付けて保存してください。
  • 「サブスクリプショングループ」メニューに戻り、サブスクリプションを更新します。初回はプロキシを経由せずに更新する方法を選べます。
  • 更新結果を確認し、該当グループから使用するサーバーを選択します。
Android:v2rayNG
  • サイドメニューから「サブスクリプショングループ設定」を開きます。
  • 「+」をタップし、コメントとサブスクリプションURLを入力して保存します。
  • メイン画面に戻り、メニューから「サブスクリプションを更新」を実行します。
  • 該当グループに設定が表示されたことを確認し、設定を選んで接続します。

各端末の更新は個別に行われ、ローカル設定は端末間で同期されません。取得される設定も、リクエスト条件によって異なる場合があります。複数端末で利用できるかどうかは、提供元のルールに従ってください。

サブスクリプションを更新すると、通常、そのグループ内の設定が再取得され、手動で変更した内容が次回の更新で上書きされる場合があります。カスタムパラメーターを長く保持する必要がある場合は、まずバックアップを取り、サブスクリプションの管理対象外となる独立した項目として保存することを検討してください。システムプロキシ、TUN、アプリ別プロキシなどの端末側設定も、サブスクリプションURLをコピーしただけでは移行されません。

インポート後の確認:リモートポートとローカルポートを区別する

サーバーポートはリモートサーバーへの接続に使われ、ローカルの待ち受けポートは端末上のアプリからプロキシ要求を受け取ります。両者を同じ番号にする必要はありません。以下の数値は設定箇所を見分けるための例であり、デフォルト値としてそのまま使用するものではありません。実際の値はサーバー側の情報とクライアントの現在の設定を確認してください。

443
リモートTLSサービスでよく使われるポートの例
10808
ローカルSOCKS待ち受けポートの例
10809
ローカルHTTP待ち受けポートの例

たとえば、サーバー提供元がリモートポートを443と指定している場合、ブラウザーのプロキシ設定に127.0.0.1:10809と表示されていても、共有リンク内のリモートポートを10809に変更してはいけません。バージョンによってはHTTPとSOCKSで同じ混合待ち受けポートを使うため、現在の設定値を直接確認してください。

  1. まずコアを確認:ログに待ち受けポートの競合が表示されている場合は、端末上の競合を解消してください。サブスクリプションの解析可否とは別の問題です。
  2. 次に設定を確認:対象の項目を選び、認証、通信方式、TLSのパラメーターを確認し、端末の時刻が正確かどうかも確認してください。
  3. 最後にアプリを確認:デスクトップではシステムプロキシまたはアプリ内プロキシの設定を確認します。Androidでは接続が開始されているか、対象アプリがプロキシの適用範囲に入っているかを確認してください。

確認の手順:まず1件で試し、範囲を広げる

まず1件の設定でコアが起動し、実際に通信できることを確認してから、自動更新、TUN、詳細なルーティングを設定しましょう。一覧に設定が表示されても接続成功とは限りません。また、遅延テストに結果が出ても、すべてのアプリがプロキシ経由になるとは限りません。

よくある質問:インポート失敗、重複、QRコードの読み取り結果

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

まずリンクを端末上のテキストエディターに貼り付け、プロトコルの接頭辞が完全か、末尾が欠けていないか、引用符や説明文が混ざっていないか確認します。疑問符以降のパラメーターを手動で削除しないでください。元のリンクをコピーし直して再度インポートします。それでも失敗する場合は、クライアントがその共有形式とパラメーターに対応しているか確認してください。

QRコードは読み取れたのに、設定が追加されないのはなぜですか?

QRコードはテキストを格納する手段であり、内容がサブスクリプションURLや通常のWebページの場合もあります。読み取り結果の先頭を確認してください。プロトコルの共有リンクは設定としてインポートし、サブスクリプションURLはサブスクリプショングループに追加します。問題の切り分けのために、自分のQRコードを公開の読み取りサイトへアップロードしないでください。

同じリンクを何度かインポートすると、以前の設定は自動更新されますか?

重複の判定や上書きの動作はバージョンによって異なる場合があります。重複インポートを確実な更新方法として使わないでください。設定のアドレスとパラメーターを確認し、必要な項目を残します。継続的に更新する場合は、提供元のサブスクリプションを利用してください。

1つのサブスクリプションをパソコンとスマートフォンで同時に使えますか?

同じURLをそれぞれの端末に保存することはできますが、利用可能な端末数、同時接続数、形式の互換性は提供元とクライアントによって異なります。両方の端末で個別に更新してください。一方の端末で追加した手動設定は、もう一方には自動で反映されません。

VLESSリンクがあれば、必ず接続できますか?

いいえ。サーバーの構成、認証情報、通信方式、セキュリティパラメーターを一致させ、それらの組み合わせに対応するコアを使う必要があります。まず起動ログと接続ログを確認し、具体的な項目を提供元に照会してください。プロトコル名だけで接続できるか判断しないでください。

最後に、サブスクリプションURLは認証情報として扱い、インポートした設定は検証が必要なものと考えてください。端末を替えるときは、設定を1件ずつスクリーンショットで残すより、サブスクリプションを追加し直すほうが管理しやすくなります。問い合わせる際は、エラー情報とパラメーター名だけを共有し、機密情報は伏せてください。

v2rayN をダウンロードOSに合ったインストーラーを選択