vmess:// または vless:// で始まる文字列を受け取った場合、クライアントが扱うのは1つのノード設定です。一方、https:// で始まり「サブスクリプション」メニューに登録するURLの場合、通常は再取得できるノード一覧を指します。どちらもサーバー情報をクライアントに取り込めますが、インポート先、更新方法、適した用途は異なります。
共有リンクやサブスクリプションURLを初めて使う方に向けて、リンクの種類の見分け方、v2rayN・v2rayNGでのインポート手順、更新・遅延テスト・システムプロキシ・ログによる動作確認まで解説します。
単一ノードリンクとサブスクリプションURLを見分ける
vmess:// と vless:// は設定を伝える形式であり、WebページのURLではありません。クライアントが読み込むと、サーバーのドメインまたはIP、ポート、ユーザー識別子、トランスポート方式、TLS設定、表示名などを含む出力ノードが作成されます。インポート後、元の共有テキストは通常クライアントから継続的に参照されません。そのため、サーバー側のパラメータが変わった場合は、新しいリンクを取得して再インポートする必要があります。
サブスクリプションURLは、リモートにあるノード一覧の取得元です。クライアントにURLを保存すると、手動更新または定期更新の際にリクエストを送り、返された内容を複数のノードとして解析します。提供元がサーバー、ポート、トランスポートパラメータを変更しても、サブスクリプションを1回更新するだけで同期でき、ノードを1つずつ置き換える必要はありません。返される内容はエンコード済みの共有リンクが複数行並んだ形式の場合もあれば、クライアント対応の構造化設定の場合もあります。具体的な形式は提供元によって異なります。
VMess単一ノードリンク
一般的には、複数のJSONフィールドをエンコードして vmess:// の後ろに配置します。フィールドには通常、アドレス、ポート、ユーザー識別子、トランスポートネットワーク、TLSの状態が含まれます。
用途:ノードを一時的に追加、旧設定の移行、単一ノードのテスト
VLESS単一ノードリンク
URI形式を採用しており、サーバーとポートは主要部分に、セキュリティ層、トランスポート方式、SNI、フロー制御などのパラメータは通常クエリに記述されます。
用途:VLESSを使う単一サーバー設定を指定する場合
HTTPSサブスクリプションURL
おすすめ複数のノードを一括管理し、更新時にクライアントが一覧を再取得します。デスクトップ版とAndroid版で同じサブスクリプション元を保存できます。
用途:長期利用、複数ノードの切り替え、複数端末での同期
見分ける際は、テキストの長さだけで判断しないでください。VLESSリンクが長い場合もあれば、サブスクリプションURLに長い認証パラメータが付く場合もあります。最も確実なのは先頭を確認することです。vmess:// と vless:// は「クリップボードからインポート」へ、通常の https:// URLは「サブスクリプショングループ設定」または「サブスクリプション設定」へ進みます。提供元が使い方を明記している場合は、その形式説明を優先してください。
VMess共有リンク
vmess://エンコード済みノードフィールド
結果:VMessノードを1件インポート
VLESS共有リンク
vless://ユーザー識別子@サーバー:443?security=tls&type=ws
結果:VLESSノードを1件インポート
サブスクリプションURL
https://sub.example.net/client/list
結果:更新時に1件以上のノードを取得
リンクに保存されるパラメータ
単一ノードの共有リンクは、手動設定の項目をコピー可能な1つのテキストにまとめるためのものです。VMess設定には通常、プロトコルバージョン、表示名、サーバーアドレス、ポート、ユーザー識別子、追加ID、トランスポートネットワーク、偽装方式、パス、ホスト名、TLSのオン・オフが含まれます。現代の設定では追加IDは通常 0 ですが、既存ノードとの互換性のため、クライアントが該当フィールドを保持する場合があります。
VLESS自体はVMessのユーザー暗号化方式を採用せず、認証の中心はユーザー識別子です。URIのクエリパラメータには、引き続きトランスポート層の情報を記述します。たとえば type=ws はWebSocket、security=tls はTLSの使用、sni はハンドシェイク時に使うサーバー名を示します。XTLS Visionを使う設定では flow=xtls-rprx-vision が現れることもあります。これらのフィールドはサーバー側と一致させる必要があり、名称だけを見て自己判断で追加・削除してはいけません。
上記のローカルポートはクライアントの待受ポートであり、ノードサーバーのポートではありません。v2rayNの代表的なデフォルト設定はSOCKS 10808 とHTTP 10809 ですが、実際の値は「設定」→「パラメータ設定」のローカル待受設定を確認してください。ポートが他のプログラムに使われていると、コアの起動に失敗することがあります。この場合、共有リンク自体に問題はなく、ログに待受失敗やアドレス使用中のメッセージが表示されます。
表示名はクライアントの一覧に表示するためだけのもので、プロトコル認証には関与しません。「香港 01」を「夜間予備」に変更しても接続には影響しませんが、サーバーアドレス、ポート、ユーザー識別子、SNI、トランスポートパス、公钥パラメータを変更するとハンドシェイク結果が変わります。トラブルシューティングでは、まず元のインポート値に戻してから項目ごとに確認し、複数のフィールドを一度に変更しないでください。
- サーバーアドレス:クライアントが実際に接続するドメインまたはIP。
- リモートポート:サーバー側の待受ポート。443が一般的ですが、固定ではありません。
- ユーザー識別子:VMessとVLESSでユーザーの識別に使うUUID形式の文字列。
- トランスポートパラメータ:TCP、WebSocket、gRPCなどのネットワーク方式と、そのパスまたはサービス名。
- セキュリティパラメータ:TLS、SNI、フィンガープリント、フロー制御、REALITY関連のフィールド。内容はノードによって異なります。
v2rayNでインポート・更新・有効化する
デスクトップ版では、まずリンク全体をコピーしてください。一部だけを選択しないよう注意します。v2rayN 7.xを開き、「サーバー」→「クリップボードから共有リンクをインポート」でクリップボードを読み込みます。バージョンによっては、メインウィンドウにフォーカスした状態で Ctrl + V を押してインポートすることもできます。成功すると一覧に新しい行が追加され、プロトコル欄にVMessまたはVLESSが表示されます。アドレス、ポート、表示名は取得元の情報と一致しているはずです。
- 完全な
vmess://またはvless://テキストをコピーし、チャットアプリによって先頭や末尾が切れていないことを確認します。 - v2rayNを開き、「サーバー」→「クリップボードから共有リンクをインポート」に進みます。
- ノード一覧で新しい項目を選択し、Enterキーまたは右クリックメニューからアクティブサーバーに設定します。
- 「サーバー」→「サーバーの実接続遅延をテスト」を実行し、ノードが実際に接続できることを確認します。
- システムトレイのメニューで「システムプロキシを自動設定」または必要なプロキシモードを選び、Webページにアクセスして確認します。
サブスクリプションURLを受け取った場合は、単一ノードのインポート欄に貼り付けないでください。「サブスクリプショングループ」→「サブスクリプショングループ設定」に進み、新しいグループ名を追加して、完全なHTTPS URLをサブスクリプションURL欄に貼り付けて保存します。その後、「サブスクリプショングループ」→「すべてのサブスクリプションを更新」を実行すると、クライアントがノード一覧をダウンロードします。URLを保存するだけで更新しなければ、メイン一覧にはノードが自動追加されません。
v2rayNでは、サブスクリプション更新のノードをグループ単位で管理します。更新前に、サブスクリプション設定で「プロキシ経由で更新」が有効か確認できます。初回利用時など、現在利用できる接続がない場合は、通常この項目を無効にして直接リクエストします。ネットワーク環境からサブスクリプションサーバーへ直接接続できない場合は、まず利用可能なノードを有効にしてから、プロキシ経由で更新します。更新後はステータスバーまたはログを確認し、内容が正常に解析されたことを確かめてください。ウィンドウが閉じたかどうかだけで判断してはいけません。
おすすめ構成:デスクトップ版とAndroid版で同じサブスクリプションを使う
デスクトップ版 v2rayN
- 「サブスクリプショングループ設定」でURLを保存
- 更新後に実接続遅延テストを実行
- 必要に応じてシステムプロキシまたはルーティング分岐を有効化
Android版 v2rayNG
- 「サブスクリプション設定」で同じURLを保存
- 右上のメニューからサブスクリプションを更新
- 用途に応じてアプリごとのプロキシを設定
両方の端末が同じ取得元からノードを取得しますが、遅延結果、現在選択中のノード、ローカルのルーティングルールは、それぞれの端末に個別保存されます。
v2rayNGでクリップボードからインポート・QRコードを読み取る
v2rayNG 1.10.xのメイン画面では、右上の「+」からインポートできます。単一ノードリンクをコピーしたら、「クリップボードから設定をインポート」を選びます。共有情報がQRコードで表示されている場合は、「QRコードをスキャン」を選択します。スキャンにはカメラ権限が必要で、認識に成功するとノード項目が直接作成されます。QRコードはテキストを載せる媒体にすぎず、中身はVMess、VLESS、またはサブスクリプションURLです。プロトコル自体が変わるわけではありません。
- 共有リンクをコピーし、v2rayNGを開いて右上の「+」をタップします。
- 「クリップボードから設定をインポート」を選び、画面下部にインポート成功の通知が表示されるまで待ちます。
- 設定一覧に戻り、新しいノードをタップして現在の設定にします。
- 右下の接続ボタンをタップし、システム接続の許可を確認します。
- 「すべての設定の実接続をテスト」を開くか、現在のノードをテストして実際の接続遅延を記録します。
QRコードをスキャンするときは、コード全体が撮影範囲に入るようにし、画面の反射や位置検出用マーカーの切れを避けてください。別の端末に表示されたQRコードなら、鮮明な画像を保存してから、クライアントの画像認識機能を使う方法もあります。メニュー名はバージョンによって多少異なる場合があります。認識後は必ずプロトコル、アドレス、ポートを確認してください。通常のWeb URLだけが表示される場合は、単一ノード設定ではなく、サブスクリプション入口または管理ページの可能性が高いです。
サブスクリプションをインポートする場合は、左上のメニューにある「サブスクリプショングループ設定」または「サブスクリプション設定」を開き、「追加」をタップして名前とURLを入力し、保存します。メイン画面に戻り、右上のメニューから「サブスクリプションを更新」を実行します。更新時にリモートURLへアクセスして対象グループを再構築するため、成功するとノード数が変化します。URLに認証パラメータが含まれる場合は、コピー時に疑問符以降のクエリ文字列全体を残してください。
| 入力内容 | v2rayNGの入口 | インポート結果 |
|---|---|---|
vmess:// テキスト |
「+」→「クリップボードから設定をインポート」 | VMessノードを1件追加 |
vless:// QRコード |
「+」→「QRコードをスキャン」 | VLESSノードを1件追加 |
| HTTPSサブスクリプションURL | 「サブスクリプション設定」→追加→サブスクリプションを更新 | ノードグループを1つ取得 |
v2rayNGはデフォルトでXrayコアを使用し、VLESS、XTLS Vision、REALITYパラメータを含むノードのインポートに適しています。v2flyNGはv2flyコアを使用するため、v2flyの対応範囲に沿ったVMess、VLESS、一般的なトランスポート設定に向いています。リンクが vless:// で始まるというだけで、両方のコアが完全に処理できるとは判断できません。リンク内のセキュリティ層とフロー制御パラメータも確認してください。
インポートは成功したのに接続できない理由
「インポート成功」は、クライアントがテキスト形式を読み取れたことを示すだけで、リモートサーバーに到達できることを意味しません。サーバーが停止していても、形式が正しいVLESSリンクは正常に一覧へ追加されます。トラブルシューティングは、「コアが起動しているか、ローカルポートが待ち受けているか、リモートへ到達できるか、ハンドシェイクパラメータが一致しているか、システム通信がプロキシを通っているか」の順に進めます。
まずクライアントのログを開きます。v2rayNでは「ヘルプ」またはメイン画面のログ欄からコアの出力を確認でき、v2rayNGではメニュー内のログ画面を開きます。ローカルの 10808 または 10809 ポートが使用中と表示された場合は、「設定」→「パラメータ設定」で空いているポートに変更します。たとえばSOCKSを 10818、HTTPを 10819 にして保存し、コアを再起動します。ブラウザーで手動プロキシを使う場合もポートを合わせて変更してください。
貼り付け後に「有効な設定が見つかりません」と表示されたら?
テキスト全体をコピーし直し、先頭が vmess:// または vless:// であることを確認します。リンクの前後にある説明文や改行は削除してください。先頭がHTTPSの場合は、サブスクリプション設定に追加します。
サブスクリプションを保存したのに、一覧が空なのはなぜ?
保存で記録されるのはURLだけです。「すべてのサブスクリプションを更新」または「サブスクリプションを更新」を実行してください。その後、更新ログを確認します。空の内容、ログインページ、非対応形式が返された場合、ノードは生成されません。
遅延が-1と表示されるが、サーバーアドレスは名前解決できる?
TCPの確認だけでなく、「サーバーの実接続遅延をテスト」を使ってください。それでも-1の場合は、リモートポート、SNI、トランスポートパス、システム時刻を確認します。TLSハンドシェイクは時刻のずれに敏感です。
ノードは接続済みなのに、ブラウザーが直接接続するのはなぜ?
v2rayNのトレイメニューで「システムプロキシを自動設定」を有効にし、v2rayNGでは接続の許可が確立していることを確認します。アプリごとのプロキシを使っている場合は、ブラウザーが除外されていないかも確認してください。
サブスクリプション更新がタイムアウトしたら、何度も削除して追加し直すべき?
まず元のグループを残し、利用可能なノードを有効にしてから、サブスクリプション設定で「プロキシ経由で更新」に切り替えて再試行します。グループを削除すると、その中のノードも同時に消えるため、古い設定との比較が難しくなります。
ログにTLSハンドシェイク失敗が出る場合は、デバイスの時刻、サーバー名、SNI、セキュリティタイプを重点的に確認します。WebSocketノードでは、パスが正しいスラッシュで始まっているか、Hostフィールドがサーバー設定と一致しているかも確認してください。REALITY設定では、公钥、短いID、サーバー名、フィンガープリントの各パラメータが正確に必要です。どれか1つ欠けても接続確立時に失敗する可能性があります。
コアが正常に動作し、実接続テストにも成功するのにWebページを開けない場合は、ルーティングモードとDNSを確認します。全体モードは、ルール分岐の影響をすばやく切り分けるのに適しています。動作を確認したら、ルールモードに戻してください。カスタムルーティングで対象ドメインを誤って直接接続へ送っていると、ノードが正常でも通信はプロキシを通りません。変更前に現在のルールを保存し、一度に1項目だけ調整します。
- 接続タイムアウト:サーバーアドレス、リモートポート、ネットワーク到達性、サブスクリプションの有効期限を確認してください。
- ハンドシェイク失敗:TLS、SNI、システム時刻、トランスポートパス、セキュリティパラメータを確認してください。
- コアの起動失敗:ローカルポートの競合、コアファイル、設定構文を確認してください。
- ブラウザーがプロキシを使わない:システムプロキシ、ブラウザー独自のプロキシ設定、アプリごとのルールを確認してください。
- 更新後にノードが消えた:サブスクリプションの応答内容、グループのフィルター、更新ログを確認してください。
単一リンク、サブスクリプション、手動設定の選び方
1つのノードだけをテストするなら、共有リンクが最も簡単です。コピー、インポート、アクティブサーバーへの設定、実接続テストの順に進めます。利用確認済みの単一ノードを別の端末へ移行する場合にも適しています。ただし、ノードパラメータが変更されても古い共有リンクは自動更新されません。複数ノードを長期管理する場合は、新旧設定が混在しやすくなります。
長期利用では、サブスクリプションURLを優先して保存し、取得元ごとに独立したグループを作るのがおすすめです。更新に失敗したときも、どの取得元に問題があるかをすぐ特定でき、同名ノードの上書きも防げます。更新頻度を上げすぎる必要はありません。通常は1日1回、または提供元から変更通知があったときの手動更新で十分です。頻繁な更新でノード速度が上がるわけではなく、サブスクリプションサービスのアクセス頻度制限にかかる可能性があります。
| 利用シーン | おすすめの方法 | 主な理由 |
|---|---|---|
| ノードを一時的に1つテスト | VMessまたはVLESSの共有リンク | 手順が短く、パラメータを個別に確認しやすい |
| 複数ノードを長期管理 | HTTPSサブスクリプションURL | サーバーやポートの変更をまとめて更新できる |
| デスクトップ版とAndroid版で取得元を同期 | 同じサブスクリプションを両端末に保存 | ノードの取得元は同じでも、端末ごとの選択は干渉しない |
| 特定のフィールドに誤りがあるか確認 | ノードをコピーして複製を手動編集 | 元の設定を残せるため、項目ごとに比較しやすい |
手動設定は、トラブルシューティングや、サーバー側が項目一覧を明確に提供している場合に主に使います。入力時はまずプロトコルを決め、アドレス、ポート、ユーザー識別子、セキュリティ層、トランスポート方式の順に設定します。VMessの追加ID、VLESSのフロー制御フィールド、異なるトランスポート方式のパスを混同しないでください。保存後はまず複製した設定をテストし、利用できることを確認してから元のノードを削除します。
どの方法を使う場合でも、「設定をインポートできた」ことと「通信経路が利用できる」ことは別の確認段階として扱うべきです。前者ではノードが一覧に表示され、フィールドが完全に解析されているかを確認します。後者ではコアのログ、実接続遅延、システムプロキシ、実際のアクセスを確認します。この順序で進めると、問題がリンク形式、サブスクリプション取得、ノードのハンドシェイク、ローカルプロキシ設定のどこにあるかをすばやく切り分けられます。