この記事の概要

リンクを受け取ったら、まずノード設定そのものなのか、ノード一覧を取得するサブスクリプションURLなのかを見分けましょう。初めて設定をインポートする方向けに、リンクの形式を確認したうえで、PC・Androidそれぞれの手順を解説します。最後に、サブスクリプションの更新、接続パラメータ、プロキシの適用範囲も確認します。「インポート成功」が「インターネットに接続できる」ことを意味するわけではありません。

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

vmess://とvless://は、クライアントがノード設定を識別するためのURIプレフィックスです。一般的なWebページのURLのように、ブラウザーで閲覧するものではありません。通常、1つのリンクには1つのノード設定が記述され、サーバーアドレスやポート、認証情報、通信方式・セキュリティのパラメータが含まれます。複数のリンクをまとめてコピーすれば一括インポートできますが、静的な設定が複数登録されるだけで、サブスクリプションにはなりません。

サブスクリプションURLは通常、https://で始まります。クライアントがURLにアクセスして提供元から設定を取得し、ノード一覧として読み込みます。返されるノードは1つの場合も複数の場合もあります。重要なのは数ではなく、あとから同じ提供元にアクセスして内容を再取得できることです。公式サイト、購入ページ、ユーザーセンターのURLは、サブスクリプションURLとは異なります。

サブスクリプションURL:提供元から内容を更新

おすすめ

提供元が対応を明記しているサブスクリプションURLは、サブスクリプショングループに登録します。更新すると、クライアントが同じ提供元からノード情報を再取得します。ノードの追加・削除や手動変更の扱いは、クライアントの設定によって異なります。

向いている用途:継続利用する場合や、提供元がサーバー・接続パラメータを変更する場合。

共有リンク:現在の設定をインポート

クリップボードから1つ以上のノードを直接インポートします。サーバーアドレスや認証情報が変更されても、古いリンクは自動で更新されません。新しいリンクを入手するか、設定を手動で変更してください。

向いている用途:一時的なテスト、自分で構築したノード、単体の接続設定を受け取った場合。

結論:リンクの種類に合わせてインポート先を選ぶ

vmess://またはvless://なら「クリップボードからインポート」、提供元がサブスクリプションURLとして案内している場合は「サブスクリプション設定」を使います。リンクの長さや、ブラウザーで開けるかどうかだけで判断しないでください。

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

VMessの共有リンクは一般に、vmess://の後ろにBase64エンコードされたJSONが続く形式です。デコードすると、add、port、id、net、host、path、tlsなどのフィールドを確認できます。共有形式は一種類ではないため、Base64文字列なら何でもVMessノードとは限りません。また、Base64はエンコード方式であり、認証情報を隠すものではありません。

VLESSリンクは一般的なURIに近い形式です。認証情報の後に@が続き、その後にサーバーアドレスとポート、疑問符の後に接続パラメータ、#の後に表示名が記載されます。以下は構造を示す例です。ドメインには例示用ドメイン、UUIDにはすべてゼロの値を使用しており、実際の接続には使えません。

vless://[email protected]:443?encryption=none&security=tls&type=ws&host=example.com&path=%2Fproxy#Example
1つ
共有リンク1つに通常記述されるノード数
36文字
ハイフンを含む標準UUIDの文字数
443
この例で使用するTLSの接続先ポート。固定値ではありません
  • アドレスとポート:この例ではexample.com:443です。接続先サーバーの入口を示すもので、クライアントのローカル待ち受けポートではありません。実際のポートはサーバーの設定に合わせてください。
  • 通信方式とセキュリティ:type=wsはWebSocket、security=tlsはTLSを有効にする設定です。VLESSのencryption=noneは、接続全体に通信レイヤーの保護がないという意味ではありません。
  • Host、SNI、パス:WebSocketのHost、TLSのサーバー名、サーバーアドレスはそれぞれ別の設定です。path=%2Fproxyをデコードすると/proxyになります。アドレスの見た目が似ているからといって、関連するフィールドを削除しないでください。
  • REALITYのパラメータ:REALITYを使うリンクには、公開鍵、Short ID、サーバー名、フィンガープリントなどが含まれる場合があります。TLSの例を単純にsecurity=realityへ変更しても、接続できるとは限りません。

インポートするだけなら、事前にデコードして再エンコードする必要はありません。手作業で扱うとクエリパラメータを落としたり、%2Fや%23などのエスケープを壊したりするおそれがあります。提供元が発行したリンクを、加工せずそのままコピーしてください。構造を確認するのは、パラメータの問題を調べる場合に限りましょう。

v2rayNでクリップボードからノードをインポート

PCでは、先にv2rayNのメイン画面を開いてからリンクをコピーします。以下は中国語UIで一般的なメニュー名です。バージョンによって表示や場所が異なる場合は、「クリップボードからインポート」に相当する機能を探してください。設定ファイル全体のインポートとは別の機能です。

  1. リンク全体をコピーします。vmess://またはvless://からリンクの末尾までコピーしてください。前後の説明文や箇条書き、リンクを囲む引用符は含めません。複数のノードリンクは1行に1つずつ並べます。
  2. インポートを実行します。「サーバー」→「クリップボードから一括URLをインポート」の順に選択します。メイン画面で対応するショートカットが使える場合は、Ctrl+Vでもインポートできます。実行前に検索欄やテキスト編集欄にフォーカスがないことを確認してください。
  3. ノードが表示されたことを確認します。一覧でノード名、サーバーアドレス、ポートを確認してください。グループで絞り込んでいる場合は、インポート先のグループに切り替えるか、すべてのノードを表示します。フィルターで非表示になっているだけなのに、インポートに失敗したと判断しないようにしましょう。
  4. 重要なパラメータを確認します。ノードの編集画面を開き、プロトコル、UUID、通信方式、TLSまたはREALITYの設定を確認してください。ノードが1行表示されても、リンクの形式が読み取れたことを示すだけで、サーバー認証が正しいとは限りません。
  5. 使用するサーバーに設定します。ノードを選択し、右クリックメニューから使用するサーバーに設定して、接続をテストします。システムプロキシを使うアプリで接続する場合は、システムプロキシも設定してください。

インポート後に一部のWebサイトだけが直接接続される場合、すぐにノードを再インポートしないでください。まず、アプリがシステムプロキシを使っているか確認し、次にルーティングルールで対象ドメインが直接接続に割り当てられていないか確認します。項目ごとに設定する場合は、ルーティングとプロキシの適用範囲を参照してください。

v2rayNGへのインポートとPC・Androidでの設定

Android版v2rayNGはXrayコアを使用します。共有リンクをコピーしたら、メイン画面右上の「+」→「クリップボードからインポート」をタップします。新しい設定が表示されたら該当項目を選び、メイン画面の接続ボタンをタップしてください。初回接続時は、システムに表示されるVPN接続リクエストで許可が必要です。

  1. 先にコピーしてからインポートメニューを開きます。システムによってクリップボードが消去された場合や、別のアプリにコピー内容を上書きされた場合は、もう一度コピーしてすぐにインポートしてください。サブスクリプションページの本文をノードリンクとしてコピーしないでください。
  2. 編集画面でパラメータを確認します。サーバーポート、ユーザーID、通信方式、通信レイヤーのセキュリティ、必要に応じてサーバー名とパスを確認してください。ノード名だけを見て判断しないでください。
  3. 設定を選択してから接続します。新しく追加した設定が、現在選択中の設定に自動で切り替わるとは限りません。インポートした項目が選択されていることを確認し、接続を開始してログを確認してください。
  4. 必要に応じてアプリごとの設定を確認します。特定のアプリだけアクセスできない場合は、そのアプリがプロキシの対象外になっていないか確認してください。テストには、プロキシ経由になることが想定されるアプリを使用します。

PC・Androidで同じ設定を使う場合:両方の対応状況を確認

PC:v2rayN
  • 単体ノードはクリップボードからインポートし、サブスクリプションURLはサブスクリプショングループに登録します。
  • インポート後に使用するサーバーを選び、システムプロキシとルーティングを確認します。
  • 手動で変更した設定はサブスクリプションと分けて管理し、更新時に変更が失われないようにします。
Android:v2rayNG
  • 「+」メニューからノードをインポートするか、サブスクリプショングループの設定でURLを追加します。
  • 設定を選択してシステムのVPN接続を許可し、アプリごとの適用範囲を確認します。
  • 同じサブスクリプションを使う前に、提供元が各デバイスでの利用を許可していることと、設定内容に互換性があることを確認してください。

同じサブスクリプションを使っても、PCとAndroidの間で自動同期されるわけではありません。それぞれの端末で更新し、使用するノード、ルーティング、アプリごとの設定も個別に行ってください。

v2flyNGはV2Flyコアを使用します。名前が似ているからといって、v2rayNGと同じようにあらゆるVLESS拡張機能やREALITY設定に対応するとは限りません。クライアントを選ぶ際は、使用するプロトコルの組み合わせとコアの対応状況を確認してください。インストーラーを変更する場合は、クライアントのダウンロードページでプラットフォームに合ったものを選びます。

サブスクリプションURLの追加と更新方法

サブスクリプションは、URLを登録してから更新します。単体ノードのインポート欄にURLを貼り付けるだけでは使えません。サブスクリプションの応答は、複数行の共有リンクの場合もあれば、Base64エンコードされたデータの場合もあります。通常のJSONが、そのままクライアントのノード用サブスクリプション形式として使えるとは限りません。ブラウザーに文字列が表示されても、クライアントで正常に解析できるとは限りません。

クライアント追加する場所ノードの取得方法
v2rayN 「サブスクリプショングループ」→「サブスクリプショングループ設定」を開き、グループを追加してURLと名前を入力します。 サブスクリプショングループのメニューから更新を実行します。ネットワーク環境に応じて、プロキシを使わずに更新するか、プロキシ経由で更新するかを選んでください。
v2rayNG 右上のメニュー→「サブスクリプショングループ設定」→「+」の順に開き、名前とサブスクリプションURLを入力します。 保存してメイン画面に戻り、メニューから「現在のグループのサブスクリプションを更新」または対応するすべてのグループの更新操作を実行します。

メニューの場所はバージョンによって変わる場合がありますが、「URLの追加」と「更新の実行」は別々の操作です。グループを保存しても一覧が空の場合は、まず更新を実行したか確認し、次にログでHTTPステータスと解析結果を確認します。接続タイムアウトはリクエストが正常に完了していない状態です。ログインページ、認証エラーページ、その他のエラーページが返る場合は、URLと認証状態を再確認してください。

  • 更新前に手動設定を分けておきます。長期的に使う独自のパラメータは、手動設定用のグループに保存してください。サブスクリプションの更新で提供元のノード設定が再作成される場合があるため、手動で変更した項目が必ず維持されるとは限りません。
  • 接続できる経路に合わせて更新方法を選びます。直接接続できるURLは、プロキシを使わずに更新してください。プロキシ経由でしかアクセスできない場合は、先に利用可能なノードへ接続し、クライアントが対応するプロキシ経由の更新を実行します。利用可能なプロキシがない状態でプロキシ経由の更新を選んでも、問題は解決しません。
  • 更新後に選択状態を確認します。提供元がノードを削除したり、名前を変更したりする可能性があります。現在使用中の設定が引き続き有効とは限りません。ノード一覧と選択中の項目、接続ログを確認してからアクセスをテストしてください。

インポートできない場合のトラブル対処とリンクの安全性

リンクをコピーしたのに、インポートできる内容がないと表示されるのはなぜ?

内容を一時的にローカルのテキストエディターへ貼り付け、先頭がvmess://またはvless://であることを確認してください。WebページのタイトルやQRコード画像ではないことも確認します。リンクを囲む引用符と説明文は取り除いてください。長いリンクに実際の改行が入っている場合は、つなぎ合わせ方を推測せず、完全な元のリンクを再取得します。

単体ノードをインポートしたのに、サブスクリプションを更新しても変化がないのはなぜ?

クリップボードからインポートした場合、ノードのパラメータだけが保存され、内容を再取得するためのサブスクリプション元は登録されません。提供元から正しいサブスクリプションURLを入手し、グループに追加して更新してください。単体リンクしかない場合は、パラメータが変更されたときに再インポートが必要です。

ノードの遅延テストには結果が出るのに、Webページが開かないのはなぜ?

まず、どのテストを実行したか確認してください。TCPポートに到達できても、プロトコル認証に成功したとは限りません。使用中のノード、UUID、TLSのサーバー名、通信パスを確認してからログを見ます。PCではシステムプロキシ、AndroidではVPN接続の許可とアプリごとの適用範囲も確認してください。遅延の数値だけで判断しないでください。

トラブル解決のためにリンクを他の人へ送ってもよい?

共有リンク、QRコード、サブスクリプションURLをそのまま公開しないでください。共有リンクには認証情報が含まれ、サブスクリプションURLにはアクセストークンが含まれる場合があります。相談時にはエラー情報と、機密情報を隠した設定項目だけを共有してください。すでに漏えいした場合は、サーバーまたは提供元の管理画面で該当する認証情報を変更します。ノード名を変えるだけでは対処になりません。

トラブルシューティングは、リンクの種類と完全性、解析結果とパラメータ、接続の確立、アプリへのプロキシ適用とルーティングの順に確認します。これにより、「入力形式の誤り」「サーバーに到達できない」「通信がプロキシに流れていない」を切り分けられます。問題の原因を解消しないまま設定を何度も削除しないようにしましょう。更新に失敗する場合の詳しい対処方法は、サブスクリプションのトラブルシューティングを参照してください。