V2RayのサブスクリプションURLをインポートする方法:v2rayNとv2rayNGの追加場所・形式を解説

v2rayNデスクトップ版とv2rayNG Android版のサブスクリプション追加・更新手順を解説。Base64、vmess://、vless://などの形式と互換性も紹介します。

サブスクリプションURLは、リモート設定を取得するためのアドレスです。クライアントがこのアドレスにアクセスすると、複数のノード情報を取得し、プロトコル、サーバーアドレス、ポート、ユーザーID、通信方式、安全性に関する設定をローカルの一覧へ登録します。ノードそのものではなく、ブラウザーのアドレス欄に入力して使う通常のWebページでもありません。

インポートは通常、URLを保存してから更新を実行するという2段階で行います。最初の保存だけではグループが表示されても、ノード一覧が空のままの場合があります。v2rayNとv2rayNGではメニューの場所が異なりますが、基本的な流れは同じです。

この記事のポイント

完全なサブスクリプションURLを入手済みで、どこに貼り付ければよいか分からない方に向けた解説です。v2rayN 7.xとv2rayNG 1.10.xの追加手順、更新方法、Base64サブスクリプションと単一共有URLの違い、インポート結果が空になる場合やタイムアウト、重複ノードなどを説明します。読み終える頃には、デスクトップとAndroidの両方で設定を完了できます。

まずサブスクリプションURLと単一ノードURLを区別する

サブスクリプションURLは通常、https://で始まります。アクセスすると、Base64テキストが返る場合もあれば、クライアントが直接解析できる構造化データが返る場合もあります。1つのサブスクリプションには複数のVMess、VLESSノードを含められ、サーバー側で内容が更新された後に再取得すれば、クライアント側にも反映されます。

単一ノードの共有URLは、vmess://またはvless://で始まることが一般的です。1つのノードだけを記述するため、「クリップボードから共有リンクをインポート」でローカル設定に追加します。単一ノードURLをサブスクリプションURL欄に誤って入力すると、保存を拒否される場合や、保存できても更新結果が空になる場合があります。

サブスクリプションURL

代表的な先頭部分
https://
ノード数
1件または複数
更新方法
リモートの内容を再取得
保存先
サブスクリプショングループ設定

長期利用に適しており、同じグループ内のノードをまとめて更新できます。

単一ノードURL

代表的な先頭部分
vmess:// または vless://
ノード数
通常は1件
更新方法
新しいURLを再インポート
保存先
ローカルノード一覧

一時的な追加に適しており、リモートのノード一覧の変更は自動反映されません。

v2rayNデスクトップ版でサブスクリプションを追加する

以下では、v2rayN 7.xの日本語インターフェースを基準に説明します。メインウィンドウ上部の「サブスクリプショングループ」はリモートサブスクリプションの管理に使い、「サーバー」メニューの「クリップボードから共有リンクをインポート」はVMess、VLESSの単一ノードに使います。2種類の入口を混同しないでください。

  1. URLをコピーする

    https://で始まるサブスクリプションURLを完全な形でコピーします。プレーンテキスト入力欄に貼り付けて先頭と末尾を確認し、改行、引用符、説明文が混ざらないようにしてください。

  2. グループを開く

    v2rayNを起動し、「サブスクリプショングループ」→「サブスクリプショングループ設定」の順に開き、追加ボタンをクリックして新しいグループを作成します。

  3. URLを入力する

    「別名」に識別しやすい名前を入力し、「任意アドレス」またはサブスクリプションURL欄に完全なURLを貼り付けます。有効化した状態のまま保存してください。

  4. サブスクリプションを更新する

    メインウィンドウに戻り、「サブスクリプショングループ」→「すべてのサブスクリプションを更新(プロキシを使用しない)」を開きます。利用可能なプロキシがあり、直接接続がタイムアウトする場合は、プロキシ経由の更新に切り替えてください。

  5. ノードを有効にする

    ノードが表示されたら1件を選択し、Enterキーまたは右クリックメニューからアクティブサーバーに設定します。その後、システムトレイのメニューで「システムプロキシを自動設定」を選びます。

更新が成功すると、メイン一覧に通常、アドレス、ポート、プロトコル、通信方式、サブスクリプショングループ名が表示されます。まずはグループに対して実接続テストを実行するとよいでしょう。テスト結果は、実際にプロキシ接続を確立するまでの時間であり、サーバーのネットワーク応答だけを見るよりも、日常のアクセス状況に近い指標です。たとえば同じネットワークで3つのノードの実接続結果が184 ms、326 ms、タイムアウトだった場合は、まず184 msのノードでWebアクセスをテストします。

ノードは表示されるのにコアを起動できない場合は、「設定」→「パラメーター設定」→「Coreタイプ」を確認してください。VLESS、REALITY、XTLS Visionなどの設定は、該当フィールドに対応するXrayコアで処理するのが一般的です。Coreタイプの変更は設定を実行するコアにのみ影響し、サブスクリプションURL自体は変わりません。

v2rayNG Android版でサブスクリプションを追加する

v2rayNGはXrayコアを使用し、サブスクリプションの入口はサイドメニューにあります。URLを保存した後も、メイン画面に戻って更新を実行する必要があります。サブスクリプショングループ名が表示されただけでは、ノード情報のダウンロードが完了したとは限りません。

  1. 設定を開く

    v2rayNG 1.10.xを開き、左上のメニューボタンをタップして「サブスクリプショングループ設定」に進みます。マイナーバージョンによっては「サブスクリプション設定」と表示されますが、機能は同じです。

  2. グループを新規作成する

    右上の追加ボタンをタップし、メモ名を入力してサブスクリプションURLを貼り付けます。「有効」スイッチがオンになっていることを確認して保存します。

  3. ノードを取得する

    ノード一覧に戻り、右上のメニューを開いて「サブスクリプションを更新」を選択します。画面下部に更新完了の通知が表示されるまで待ち、取得中に連続してタップしないでください。

  4. ノードを選択する

    ノード名をタップして現在の設定にします。まず「すべての設定を実接続テスト」を実行し、遅延が小さくタイムアウトしないものを残すとよいでしょう。

  5. 接続を開始する

    メイン画面の円形接続ボタンをタップし、システム接続リクエストを確認します。ステータス欄にアップロードとダウンロードの通信量が表示され始めてから、Webアクセスをテストしてください。

v2rayNGのローカルSOCKSポートは通常10808です。スマートフォンの一般的なアプリでは、このポートを手動入力する必要はありません。クライアントがシステム接続インターフェースを通じて通信を引き受けます。ブラウザーのデバッグや端末をLANプロキシとして使う場合に限り、リッスンアドレスとポートを確認します。

一部のアプリだけをプロキシ経由にしたい場合は、「設定」→「アプリごとのプロキシ」に進み、有効化して対象アプリを選択します。ここで制御するのはコアへ流す通信の範囲です。ノード自体のドメイン、ポート、トランスポート層、安全性に関する設定は、引き続きサブスクリプションから提供されます。

Base64、VMess、VLESSの形式を解説

Base64は内容のエンコード方式であり、プロキシプロトコルではありません。一般的なサブスクリプションレスポンスでは、複数行の共有リンクをまとめてBase64エンコードします。クライアントはまずデコードし、その後、各行のvmess://vless://などを識別します。そのため、「Base64サブスクリプション」には異なるプロトコルのノードを同時に含められます。

VMessの共有リンクでは、ノードパラメーターをテキストとしてエンコードすることが一般的です。デコードすると、アドレス、ポート、ユーザーID、通信方式、TLSの状態、WebSocketパスなどのフィールドを確認できます。VLESSの共有リンクは標準URIに近く、ユーザーIDは接続情報に、トランスポート、安全性、SNI、Flow、フィンガープリントなどのパラメーターはクエリ部分に記載されます。

サブスクリプションレスポンス
  ├─ Base64エンコードされた複数行テキスト
  │   ├─ vmess://単一ノード
  │   └─ vless://単一ノード
  └─ クライアント専用の構造化レスポンス
      ├─ ノードフィールド
      ├─ グループ情報
      └─ 更新通知

VMess + WS + TLS

プロトコル
VMess
トランスポート
WebSocket
セキュリティ層
TLS
主要フィールド
host、path、SNI

インポート後は、パスがスラッシュで始まっているか、サーバー名が完全かを確認してください。

VLESS + REALITY

プロトコル
VLESS
トランスポート
TCP
Flow
xtls-rprx-vision
主要フィールド
publicKey、shortId、SNI

関連フィールドはサブスクリプションから自動入力されるため、経験だけで手入力しないでください。

VLESS + WS + TLS

プロトコル
VLESS
トランスポート
WebSocket
セキュリティ層
TLS
主要フィールド
host、path、encryption

VLESSのencryptionは通常noneですが、外側のTLSを無効にするという意味ではありません。

Base64ノードセット

種類
テキストエンコード
内容
複数行の共有リンク
改行
1行につき1ノード
解析処理
デコード後に1件ずつインポート

デコード結果が空の場合は、ノードのプロトコルフィールドを変更するのではなく、まずサブスクリプションレスポンスを確認してください。

互換性はクライアントのバージョンとコアのバージョンに左右されます。クライアントはサブスクリプションを解析して設定を生成し、コアはその設定を実行します。「インポートはできるが起動できない」場合、サブスクリプションの解析までは完了している可能性があり、問題はコアが新しいフィールドを認識できない、パラメーターの組み合わせが不完全、またはトランスポート設定が一致していないことにあると考えられます。

v2flyNGはv2flyコアを使用し、そのコアが対応するVMess、VLESS、一般的なトランスポートの組み合わせに適しています。サブスクリプションにXray拡張フィールドを必要とする設定が含まれる場合は、v2rayNGを使用し、クライアントとコアを互換性のあるバージョンの組み合わせに保ってください。

デスクトップとAndroidで同じサブスクリプションを使う方法

通常、同じサブスクリプションURLをv2rayNとv2rayNGの両方に保存できます。両端はそれぞれ独立して設定を取得し、ノード選択、ルーティングモード、ローカル設定も個別に保存します。デスクトップでアクティブノードを切り替えても、Androidで現在選択しているノードは自動的に変わりません。

おすすめ:両端に同じサブスクリプションを保存

デスクトップ(v2rayN)
  • 「サブスクリプショングループ設定」でURLを保存
  • 必要に応じて直接接続またはプロキシ経由で更新
  • システムプロキシとルーティングルールで通信を制御
  • ローカルSOCKSポートは通常10808
Android(v2rayNG)
  • 「サブスクリプショングループ設定」に同じURLを保存
  • メイン画面のメニューからサブスクリプションを更新
  • 必要に応じてアプリごとのプロキシを有効化
  • 実接続テストでノードを絞り込む

両端のノードの取得元は同じですが、アクティブノード、更新時刻、ローカルポート、ルーティング設定はそれぞれ個別に管理されます。

解析済みのノード一覧を一方のクライアントから別のクライアントへコピーし、長期間使い続ける方法はおすすめしません。手動コピーしたものはその時点の静的設定であり、リモート側のノードアドレス、ポート、ユーザーIDが変わっても同期されません。両端に元のサブスクリプションURLを保存するほうが、保守の手順を短くできます。

サブスクリプションURLはアカウントの認証情報と同じように扱ってください。公開ページに投稿したり、全体が見える状態でスクリーンショットを共有したりしないでください。URLの漏えいが疑われる場合は、サブスクリプションを提供する側でURLを再発行し、クライアントの古いグループを削除して新しいURLを追加します。

インポート失敗・更新結果が空の場合の確認手順

トラブル対処では、まず入口を確認し、次にネットワーク、最後に形式を確認します。最初からプロトコルパラメーターを一つずつ変更しないでください。サブスクリプションが生成するフィールドは互いに関連しているため、SNI、パス、Flow、公開鍵などを不用意に変更すると、元の取得問題が新たな接続問題に変わる可能性があります。

貼り付け後に「サブスクリプションURLが無効」と表示される?

まずURLをプレーンテキスト入力欄に貼り付け、前後の空白、改行、引用符を削除します。先頭がhttps://であること、コピー時にチャットアプリでURLが途中までしかコピーされていないことを確認してください。vmess://またはvless://の場合は、「クリップボードから共有リンクをインポート」を使います。

更新完了後もノード一覧が空?

v2rayNではサブスクリプション更新の通知とログを、v2rayNGでは画面下部の返却メッセージを確認します。レスポンスが空、または解析できない場合は、サブスクリプションの出力形式を再確認してください。グループが無効になっている場合は、サブスクリプショングループ設定で有効スイッチをオンにしてから再度更新します。

サブスクリプションの更新がずっとタイムアウトする?

まず端末の時刻とネットワークアクセスが正常か確認します。v2rayNでは利用可能なノードがある場合、「サブスクリプショングループ」→「すべてのサブスクリプションを更新(プロキシを使用)」を選択できます。v2rayNGでは利用可能な設定にいったん接続し、サブスクリプション設定でプロキシ経由の更新を有効にしてから再試行します。

インポート後、すべてのノードに接続できない?

まず任意の1件で実接続テストを実行し、コアのログを確認します。サーバーポート、ユーザーID、通信方式、TLSまたはREALITYのフィールドを重点的に確認してください。v2rayNでは「設定」→「パラメーター設定」→「Coreタイプ」も確認し、10808などのローカルリッスンポートが他のプログラムに使用されていないことを確認します。

更新するたびにノードが重複する?

サブスクリプショングループ設定を開き、同じURLが2回保存されていないか確認します。次に、重複した記録が手動インポートしたノードではないか確認してください。手動ノードはサブスクリプショングループの更新対象外なので、内容を確認して個別に削除します。

  1. コピーしたのがサブスクリプションURLであり、単一の共有リンクや説明ページのURLではないことを確認します。
  2. URLが完全で、前後に空白、改行、引用符、余分な句読点がないことを確認します。
  3. サブスクリプショングループが有効になっていることを確認し、手動で一度更新を実行します。
  4. 直接接続で取得がタイムアウトした場合は、既存のプロキシ経由での更新も試します。
  5. ノードは表示されるのに接続できない場合は、コアのログと実接続テストの結果を確認します。
  6. 最後に、プロトコル、トランスポート層、安全性に関する設定、クライアントのコアが互換性を満たしているか確認します。

インポート完了の判断基準は「グループを保存できた」ことではありません。ノード一覧が表示され、少なくとも1件のノードが実接続テストに合格し、接続後に上り下りの通信量が発生し、システムプロキシまたはアプリごとのプロキシが想定どおり機能することが基準です。この順序で確認すれば、サブスクリプションの取得、ノードの実行、通信の引き渡しという3つの段階を切り分けて調べられます。

v2rayN をダウンロード クライアントダウンロードセンターへ