vmess://・vless://リンクのインポート方法:単体ノードとサブスクリプションの違い

vmess://・vless://リンクの構造と、クリップボードからのノード追加・サブスクリプション登録の違いを解説。用途に合わせた使い分けも紹介します。

この記事の要点

vmess:// または vless:// リンクを受け取った場合は、通常「クリップボードからインポート」を使います。サービス提供元が案内するサブスクリプションURLの場合は、サブスクリプショングループに追加して更新します。この記事では、v2rayN・v2rayNGを初めて設定する方向けに、リンクの構造、インポート方法、更新の範囲、失敗時の確認手順を解説します。まず内容の種類を見極めてから操作すれば、サブスクリプションのWebページをノードとして扱ったり、単体ノードのリンクをサブスクリプションとして登録したりする間違いを防げます。

まず確認:共有リンクは設定のスナップショット、サブスクリプションURLは更新用の入口

単体ノードの共有リンクには、サーバーアドレス、ポート、認証情報、通信パラメーターがひとまとまりのテキストとして含まれています。クライアントが解析すると、ローカルにノード情報が作成されます。リンクは書き出し時点の設定を表すため、その後サーバー側でドメイン名、ポート、認証情報が変更されても、インポート済みの情報が自動で更新されることはありません。

一方、サブスクリプションURLは、クライアントが設定の一覧を取得するための入口で、通常は HTTPS で始まります。更新を実行すると、クライアントが応答を取得し、対応形式に応じてノードとして解析します。サブスクリプションに含まれるノードは1つの場合も複数の場合もあります。「数が多い」ことではなく、「設定を再取得できる」ことが単体リンクとの大きな違いです。

サブスクリプショングループ:設定を継続して取得

おすすめ

サービス提供元がサブスクリプションを明示している場合は、専用のグループに登録するのがおすすめです。次回以降はグループから更新でき、ノードを1つずつコピーし直す必要がありません。長期的に管理する場合に便利ですが、サブスクリプションのほうが単体ノードより安全という意味ではありません。

おすすめの用途:継続利用、複数ノード、サーバー側の設定変更が多い場合

単体ノードリンク:設定をすばやく1件追加

リンク全体をコピーすればインポートでき、一時的なテストや特定の設定の問題を切り分ける場合に便利です。パラメーターが変更された場合は、再インポートするか、サーバー側の情報に合わせて手動で修正します。

おすすめの用途:一時的なテスト、自前の単体ノード、特定ノードだけを共有する場合

見分け方:まず提供元の用途説明を確認

HTTPS で始まるという理由だけで、サブスクリプションだと判断しないでください。ログインページ、購入ページ、サブスクリプションAPIはいずれも HTTPS を使う場合があります。「サブスクリプションURL」と明記され、利用中のクライアントが対応する形式の入口をコピーしてください。

vmess:// の構造:Base64エンコードは暗号化ではない

一般的な VMess 共有形式は、vmess:// の後に Base64 エンコードされた JSON が続きます。以下はデコード後の構造例であり、そのままインポートできる共有リンクでも、コアが実行するための完全な設定ファイルでもありません。エクスポートツールによって仕様が異なる場合があるため、サービス提供元が生成した互換性のあるリンクを優先してください。

{
  "v": "2",
  "ps": "サンプルノード",
  "add": "node.example.com",
  "port": "443",
  "id": "7d9d2f80-52a1-4c8e-9c76-5c0d52dd7441",
  "aid": "0",
  "scy": "auto",
  "net": "ws",
  "type": "none",
  "host": "node.example.com",
  "path": "/proxy",
  "tls": "tls",
  "sni": "node.example.com"
}

vless:// の構造:クエリパラメーターも設定の一部

VLESS の共有リンクは通常 URI 形式です。ユーザー識別子は @ の前にあり、その後にサーバー、ポート、クエリパラメーター、ノード名が続きます。以下のリンクは各項目の説明用です。ドメインと認証情報は例示であり、実際の接続には使用できません。

vless://[email protected]:443?encryption=none&security=tls&type=ws&host=node.example.com&path=%2Fproxy&sni=node.example.com#Example-WS
443
サーバーポートの例。すべてのノードで固定されているわけではありません
36文字
ハイフン付きUUIDの標準的な文字数

encryption=none は、通信経路全体に保護がないという意味ではありません。これは VLESS 自体の該当設定を示しており、この例では別途 security=tls が指定されています。type=ws は WebSocket、path=%2Fproxy はデコードすると /proxy です。ハッシュ記号の後にある Example-WS はノード名で、サーバーアドレスを決めるものではありません。

クリップボードからインポート:デスクトップとAndroidの操作方法

インポートする前に、リンクの行全体をコピーしてください。説明文、引用符、チャット上の省略記号は一緒にコピーしないようにします。画面の名称はバージョンによって異なる場合があります。以下では一般的な中国語UIでの表記を紹介します。ボタン名が異なる場合は、「クリップボード」と「インポート」に相当する機能を探してください。

  1. v2rayN デスクトップ版:リンクをコピーしてメイン画面に戻り、「サーバー」→「クリップボードから複数のURLをインポート」を選択します。バージョンによっては「クリップボードからインポート」と表示されます。対応している場合は Ctrl+V も使えます。インポート件数を確認し、一覧に新しい項目が追加されたことを確認してください。
  2. v2rayNG Android版:リンクをコピーし、メイン画面右上の「+」→「クリップボードからインポート」をタップします。クリップボードへのアクセス許可を求められた場合は、コピー元を確認して今回の操作を許可してください。
  3. ノードの設定を確認:追加された項目の編集画面を開き、サーバー、ポート、通信方式、TLS設定を確認します。接続テストを行う前にパラメーターを確認し、インポートの成功と接続の成功を混同しないようにしてください。
  4. プロキシを起動:ノードを選択して起動します。v2rayNでは利用状況に応じて、システムプロキシまたは適切なトラフィック転送方式も設定します。v2rayNGでは初回起動時に、通常、システムVPNの許可が必要です。

VMess、VLESS はプロトコル名、v2rayN、v2rayNG はクライアント名であり、混同しないでください。v2rayNG は Xray コアを使用し、v2flyNG は v2fly コアを使用します。名前が似ていても、すべてのプロトコルと通信方式の組み合わせが相互に使えるとは限りません。特に、サーバー側が必要とする機能を現在のコアがサポートしているか確認してください。

サブスクリプションの追加:URLを保存した後に更新を実行

サブスクリプションの管理には通常、「入口を保存する」と「内容を取得する」の2つの操作があります。サブスクリプションURLを保存しただけで更新しない場合、グループが空のままになることがあります。サブスクリプションリンクにはトークンが含まれる場合があり、クエリー文字列も認証情報の一部です。「URLを短くする」ために疑問符以降を削除しないでください。

  1. v2rayN:「サブスクリプショングループ」→「サブスクリプショングループの設定」を開き、新しいグループを追加します。名前とサブスクリプションURLを入力して保存してください。次に「サブスクリプショングループ」メニューに戻り、該当するサブスクリプション更新操作を選びます。プロキシ経由で取得するかどうかは、現在のネットワーク環境に応じて決めてください。
  2. v2rayNG:右上のメニューから「サブスクリプショングループの設定」を開き、サブスクリプションを追加して保存します。その後メイン画面に戻り、「サブスクリプションを更新」を実行してください。メニューの位置はバージョンによって変わる場合があります。設定画面での登録と、実際の更新操作を区別することが大切です。
  3. 結果を確認:更新完了の表示、所属グループ、追加されたノード数を確認してください。URLをブラウザーで開けても、クライアントが解析できるサブスクリプション形式で応答が返るとは限りません。
  4. 更新対象を管理:配布元ごとにグループを分けてください。更新前に重要な手動設定をバックアップし、ローカルで変更した名前やポートなどが次回更新後も保持されると決めつけないでください。
確認項目単体ノードの共有リンクサブスクリプションURL
一般的な開始部分vmess://、vless://https://。用途の確認が必要
主な操作クリップボードからインポートサブスクリプショングループに保存してから更新
提供元の設定が変更された場合再インポートまたは手動で修正再取得する。具体的な変更内容はサブスクリプションの応答による
よくある失敗原因リンクの欠落、エンコードの破損、未対応のパラメーターネットワークのタイムアウト、トークンの失効、応答形式の非互換

複数デバイスでの利用:サブスクリプションの共有は全設定の同期ではない

同じサブスクリプションURLを、サービス規約で認められた範囲内の各デバイスに追加できます。ただし、設定の保存と更新はクライアントごとに行われます。Windowsで更新しても、Android側の更新は実行されません。ルーティングルール、システムプロキシ、アプリごとのプロキシ、現在選択中のノードも、同じサブスクリプションを使うだけで自動的に揃うわけではありません。

設定方針:ノードの取得元は共通にし、トラフィック設定は個別に管理

デスクトップ:v2rayN
  • 同じサービス提供元の専用サブスクリプショングループを作成します。
  • 更新後、現在選択中のノードが引き続き存在するか確認します。
  • システムプロキシとルーティングを個別に設定します。
Android:v2rayNG
  • 提供元が許可している同じサブスクリプションURLを追加します。
  • この端末で更新を実行し、VPNの許可を確認します。
  • アプリごとのプロキシ設定とバックグラウンド実行の制限を個別に確認します。

サブスクリプションが提供するのはノード設定であり、両端末のルーティング、権限、実行状態を同期するものではありません。ノード一覧が一致するかどうかは、更新時刻とクライアントの互換性にも左右されます。

一時的なノードを別の端末に送るだけなら、そのノードの共有リンクまたはQRコードをエクスポートできます。サブスクリプション全体を共有する必要はありません。QRコードはテキストを別の形で表したものです。単体ノードのリンクが読み取られた場合は単体ノードとしてインポートし、サブスクリプションURLの場合はサブスクリプション管理から登録します。

よくある質問:表示内容から解析エラーとネットワークエラーを見分ける

リンクをコピーしたのに、有効な設定がないと表示されるのはなぜですか?

先頭が vmess:// または vless:// で、リンク全体が正しく含まれているか確認してください。省略記号、全角記号、余分な引用符が混ざっていないかも確認します。提供元のページにあるコピー機能を使って、元のリンクを再取得してください。コピーしたものが HTTPS のサブスクリプションURLなら、サブスクリプショングループに追加します。単体ノードのインポートを繰り返さないでください。

サブスクリプションの更新は成功したのに、ノードが1つも表示されないのはなぜですか?

ログインページや有効期限切れの案内が返されていないか、現在のクライアントが未対応の設定形式ではないか確認してください。どの形式でサブスクリプションを出力すればよいか提供元に問い合わせ、その後グループのフィルターでノードが非表示になっていないか確認します。リクエストの完了は取得処理が終わったことを示すだけで、有効なノード一覧が返されたことを保証しません。

サブスクリプションの更新がタイムアウトします。「プロキシ経由で更新」を有効にすべきですか?

現在のネットワークからサブスクリプションAPIに直接接続できず、利用可能なプロキシがある場合は、「プロキシ経由で更新」を有効にして再試行できます。既存のノードがすべて使えない場合、それらを使ってサブスクリプションを取得してもタイムアウトする可能性があります。その場合は、直接接続を再度試すか、利用可能な別のネットワークを使ってください。同じ設定を何度も切り替えても解決にはなりません。

ノードはインポートできたのに、接続時にTLSまたは認証エラーが表示されるのはなぜですか?

サーバーアドレス、ポート、ユーザー識別子、通信方式、SNIの順に照合し、端末の時刻も正確か確認してください。例のポートは 443 ですが、実際にはサービス提供元が指定したポートを使います。証明書検証を無効にすることを通常の解決策にしないでください。まずドメイン、証明書、サーバー設定が一致しているか確認します。

サブスクリプションURLを誤って公開グループに送ってしまいました。メッセージを削除すれば大丈夫ですか?

メッセージを削除しても、すでにコピーされたトークンは無効になりません。提供元の管理ページでサブスクリプションURLを再発行し、必要に応じてノードの認証情報も変更したうえで、各端末に保存したURLを更新してください。トラブル対応用のスクリーンショットにはエラー表示と機密情報を含まない項目だけを残し、完全なURL、ユーザー識別子、QRコードは写さないでください。

判断の手順はシンプルです。まず、受け取ったものがノードかサブスクリプションかを確認します。次に、インポートまたは更新が成功したかを確認し、最後に接続とトラフィックの転送を確認します。各段階を分けて考えれば、コピーの誤りをプロトコル変更で解決しようとしたり、システムプロキシが無効な問題を再インポートで解決しようとしたりすることを防げます。

V2Rayクライアントをダウンロード