サブスクリプションURLのインポート手順:v2rayN・v2rayNGの設定場所、更新方法と形式要件

v2rayNとv2rayNGのサブスクリプション追加方法を、設定場所、グループ分け、更新操作、対応形式とともに解説。インポート後にノード一覧が空になる場合の確認手順も紹介します。

この記事のポイント

サブスクリプションURLは取得済みだが、どこに貼り付けるか分からない方や、追加後にノードが表示されない方に向けた記事です。v2rayNとv2rayNGそれぞれのメニュー階層、グループ設定、更新操作、形式上の注意点を説明し、ネットワーク要求からコア設定まで段階的な確認方法を紹介します。

サブスクリプションURL・共有URL・設定ファイルの違い

サブスクリプションURLは通常、https:// で始まるWebアドレスです。クライアントがURLへアクセスすると、サーバーから複数のノード情報が返されます。更新時には同じURLへ再度アクセスし、新しい結果で該当するサブスクリプショングループを更新します。これは個別ノードそのものではなく、クライアント起動時にコアへ渡される最終設定とも異なります。

vmess://vless://trojan://ss:// は個別の共有URLです。通常、1つのURLには1つの接続先ノードが記述され、サーバーアドレス、ポート、認証情報、通信方式、TLS、REALITYなどのパラメータが含まれます。これらは「クリップボードからURLを一括インポート」などの項目から追加し、サブスクリプションURLの入力欄には貼り付けません。

ネイティブJSONは、よりコア設定に近い形式です。インバウンド、アウトバウンド、DNS、ルーティング、ログ設定などを同時に定義でき、統合サブスクリプションとは構造が異なります。サブスクリプションサービスがv2rayNまたはv2rayNG向けの互換出力を明示している場合に限り、そのエンドポイントをサブスクリプションとして追加してください。Web管理画面のURL、ログインページのURL、ローカルに保存した通常のJSONファイルは、そのままサブスクリプションには使えません。

3種類
サブスクリプション・共有URL・ネイティブ設定
200
正常なエンドポイントでよく見られるHTTPステータス
10808
v2rayNでよく使われるローカルSOCKSポート
60分
デスクトップ版の自動更新間隔の例
入力内容 よくある先頭文字または構造 使用する追加方法 更新時の特徴
統合サブスクリプション https:// URLで、複数のノード情報を返す サブスクリプショングループ設定 繰り返し取得して一覧を更新できる
個別の共有URL vmess://vless://trojan://ss:// クリップボードからインポート サーバー側の変更は自動反映されない
ネイティブJSON inboundsoutbounds、またはルーティング項目を含む カスタム設定としてインポートするか、コアに読み込ませる 通常はユーザーが自分で管理する
WebページのURL 開くとログイン画面、プラン画面、管理画面が表示される そのままではインポートできない クライアントが受け取るのはHTMLテキストのみ

v2rayN:サブスクリプショングループを追加して初回更新する

v2rayN 6.xと7.xでは画面レイアウトが異なりますが、サブスクリプション管理の流れは同じです。まずグループを作成してURLを保存し、そのグループを手動で更新します。URLを保存しただけではノードはメイン一覧に追加されないため、「URLは追加したのに一覧が空」という場合は、初回更新を実行していないことがよくあります。

一般的なデスクトップ画面では、「サブスクリプショングループ」→「サブスクリプショングループ設定」を開き、追加ボタンから名前とサブスクリプションURLを入力します。名前は用途や取得元に合わせて、「普段使い」や「テスト用」などにすると管理しやすくなります。長いURLをそのまま名前にするのは避けてください。複数のURLは別々のグループに分けると、更新失敗時に原因の取得元を特定しやすくなります。

  1. URL全体をコピー

    サブスクリプションサービスのクライアント設定画面から、完全な https:// URLをコピーします。先頭、クエリパラメータ、末尾の文字が欠けていないことを確認してください。

  2. サブスクリプショングループを新規作成

    v2rayNを開き、「サブスクリプショングループ」→「サブスクリプショングループ設定」→「追加」の順に進み、備考とサブスクリプションURLを入力します。

  3. 設定を保存

    グループが有効になっていることを確認して保存します。自動更新間隔を設定できる場合は、まず 60 分に設定し、初回の手動更新が完了してから必要に応じて調整してください。

  4. 現在のグループを更新

    メイン画面に戻り、「サブスクリプショングループ」→「現在のサブスクリプションを更新」の順に選択します。すべての取得元を一度に更新する場合は、「すべてのサブスクリプションを更新」を選びます。

  5. 使用するノードを選択

    ノードが表示されたら対象項目をダブルクリックするか、右クリックメニューから使用するサーバーに設定します。その後、「システムプロキシ」を有効にするか、必要に応じてTUNモードを使用します。

初回更新は、まず直接接続で行うことをおすすめします。現在のネットワークからサブスクリプションエンドポイントへ接続できず、クライアントに利用可能なノードがある場合は、メニューの「プロキシ経由で更新」に切り替えてください。この操作で変わるのはサブスクリプション要求の通信経路だけで、ノードのVMess、VLESS、Trojan、Shadowsocksパラメータは変更されません。

自動更新は、URLが長期間有効でノード一覧が頻繁に変わる場合に適しています。通常は「サブスクリプショングループ」→「サブスクリプショングループ設定」→グループを選択→「自動更新間隔(分)」から設定します。60 にすると1時間ごとに試行しますが、実際の実行はクライアントの起動状態、スリープ、ネットワーク接続に左右されます。電源オフ中に逃した更新がすべて後から実行されるわけではありません。

v2rayNG:Androidでサブスクリプションを追加して設定を更新する

v2rayNGはXrayコアでVMess、VLESS、Trojan、Shadowsocks、REALITYなどの設定を処理します。サブスクリプション管理はサイドメニューの「サブスクリプショングループ設定」にあります。1.10.xの細かなバージョンによってボタンが画面右上または下部に表示されることがありますが、追加、保存、更新という3つの操作は変わりません。

「サブスクリプショングループ設定」を開き、プラスボタンから備考とURLを入力して保存します。設定一覧に戻り、右上のメニューから「サブスクリプションを更新」または「現在のサブスクリプショングループを更新」を選択します。更新が完了すると、設定一覧にサーバーから返されたノードが表示されます。設定をタップして現在の項目にし、メイン画面の接続ボタンからローカルVPNサービスを開始してください。

おすすめ構成:デスクトップ版とAndroid版で同じ取得元を使う

デスクトップ版(v2rayN)
  • 取得元ごとにサブスクリプショングループを作成
  • 更新間隔の例として60分を設定
  • システムプロキシまたはTUNモードで通信を処理
Android版(v2rayNG)
  • 同じサブスクリプションURLを追加
  • クライアント起動後に手動で更新
  • 必要に応じてアプリごとのプロキシを設定

両方の端末が同じサブスクリプションエンドポイントへアクセスするため、通常はノード名とプロトコルパラメータが一致します。ただし、ルーティング規則、選択中のノード、ローカルポートは各端末で個別に保存されます。

Androidはバックグラウンド処理に対してバッテリーやネットワークの制限があるため、「自動更新を設定した」ことと「いつでもバックグラウンドで取得できる」ことは同じではありません。ノードを切り替える前や現在のノードが使えなくなったときは、v2rayNGのメイン画面を開いて手動更新する方が確実です。更新後は、成功、タイムアウト、解析失敗、空の応答のどれが表示されたか確認してください。

既存のプロキシ経由でしかサブスクリプションへアクセスできない場合は、まず利用可能な設定に接続します。その後、サブスクリプション設定で「プロキシ経由で更新」または同様の項目を有効にして再取得してください。一覧に利用可能な設定が1つもない場合は、サブスクリプションエンドポイントへ接続できるネットワークに一時的に切り替え、直接更新を1回実行します。

  1. サイドメニューを開き、「サブスクリプショングループ設定」に進みます。
  2. 対象グループが有効で、URLの先頭と末尾に空白や改行がないことを確認します。
  3. 設定一覧に戻り、「サブスクリプションを更新」を実行します。
  4. 更新に成功したら対象ノードをタップし、接続を開始します。
  5. アプリの範囲を制限する場合は、「設定」→「アプリごとのプロキシ」に進み、除外するアプリまたはプロキシを使用するアプリを選択します。

サブスクリプションの形式要件と互換性の範囲

一般的な統合サブスクリプションは、Base64でエンコードされた複数行の共有URLを返します。行ごとのプレーンテキストURIを直接返す場合もあります。v2rayNとv2rayNGは応答を判別してから、含まれているプロトコル情報を解析します。Base64は内容のエンコード方式にすぎず、暗号化を行うものでも、欠落した項目を補うものでもありません。

VMessの情報には通常、アドレス、ポート、ユーザー識別子、通信方式、TLSなどが含まれます。VLESSでは flowsecuritysnifppbksid などが追加されることがあります。REALITYやXTLS Visionを使う場合は、クライアントとコアの双方が対応パラメータを認識できなければなりません。対応していないと、ノードは追加できても起動時に設定エラーが発生することがあります。

応答の状態 クライアントの表示 対処方法
Base64の統合データ 複数の共有URLを正常に解析 サブスクリプショングループのURLとして保存
プレーンテキストのURI一覧 対応していればノードを直接生成 各行が完全なプロトコルURIであることを確認
単一のネイティブJSON 形式非対応の表示、または1項目だけ生成される場合がある 対応するカスタム設定のインポート方法を使用
HTMLログインページ 解析失敗、内容が空、またはノードなし クライアント専用のサブスクリプションエンドポイントを再コピー
他クライアント専用のYAML VMess、VLESSなどの共有URLとして解析できない サーバー側でV2Rayまたは汎用リンク出力を選択
HTTP 401または403 更新失敗、または空の応答 トークンの有効期限、アカウント状態、アクセス制限を確認

もう1つの注意点はリダイレクトです。サブスクリプションURLがまず 301302 を返し、その後で実際の内容URLへ転送されることがあります。クライアントは通常、標準的なリダイレクトに追従できます。しかし転送先でブラウザーのログイン、認証コード、追加Cookieが必要になると、クライアントはその操作を完了できません。その場合はサブスクリプションサービスのクライアント設定画面に戻り、専用URLを再生成してください。

ノード名に含まれる日本語、空白、特殊記号も、エンコード問題の原因になることがあります。サーバーはUTF-8で出力し、共有URLのクエリパラメータや備考部分は正しくURLエンコードしてください。一部のノードだけ消える場合は、まず該当行が意図せず改行されていないか確認し、次にプロトコル項目が揃っているかを調べます。サブスクリプショングループ全体を何度も削除する必要はありません。

インポート後にノード一覧が空:順番に確認する

一覧が空の場合は、まず「要求が成功したか」、次に「応答内容を解析できるか」、最後にノードパラメータを確認します。応答がログインページになっている、トークンが無効、形式が非対応といった問題は、クライアントを再インストールしても通常は解決しません。

最初にクライアントの更新通知またはログを確認します。接続タイムアウト、ドメイン解決失敗、接続拒否なら、問題はネットワーク要求の段階で発生しています。「更新成功」と表示されたのに追加数が0の場合は、応答形式とグループのフィルターを重点的に確認してください。URIを解析できないと表示される場合は、内容のエンコード、改行、プロトコル項目が要件を満たしていない可能性があります。

URLを保存したのに一覧が空なのはなぜ?

保存で作成されるのはサブスクリプショングループだけです。v2rayNでは「サブスクリプショングループ」→「現在のサブスクリプションを更新」を実行し、v2rayNGでは設定一覧に戻って「サブスクリプションを更新」を選択する必要があります。

サブスクリプション更新が何度もタイムアウトする場合は?

まずシステム時刻とネットワークが正常か確認し、直接接続で更新を試します。利用可能なノードがある場合は、そのノードに接続して「プロキシ経由で更新」を有効にし、ローカルの 10808 ポートが他のプログラムに使用されていないか確認してください。

成功と表示されるのにノードが増えない場合は?

現在表示しているサブスクリプショングループが正しいか確認し、エンドポイントが空白、HTMLページ、非対応形式を返していないか調べます。同名の新しい情報によって既存ノードが上書きされた場合も、追加数が0と表示されることがあります。

ノードは追加できたのに接続がすぐ失敗する場合は?

コアのログを開き、サーバードメイン、リモートポート、ユーザー識別子、TLS、SNI、通信方式、REALITYパラメータを順番に確認します。インポートに成功しても、接続先サーバーへ現在アクセスできるとは限りません。

2台の端末でノード数が違う場合は?

両方で完全に同じURLと同じサブスクリプショングループを使用していることを確認し、それぞれ手動で更新します。その後、クライアントのバージョン、コアの対応範囲、ノードフィルターの有無を比較してください。

  1. グループを確認

    追加したばかりのサブスクリプショングループを表示しているか、グループが有効か、他のグループだけを表示する設定になっていないか確認します。

  2. 要求を確認

    ログをもとに、タイムアウト、DNS失敗、HTTP 401403404、サーバーエラーを区別します。ネットワークの問題を形式の問題と取り違えないようにしてください。

  3. 応答を確認

    エンドポイントがログインページ、告知ページ、空のテキストではなく、ノード一覧を返しているか確認します。完全なサブスクリプションURLを公開環境に表示しないでください。

  4. 形式を確認

    完全なVMess、VLESS、Trojan、Shadowsocks情報が含まれ、メッセージアプリによる途中切れや改行の挿入がないことを確認します。

  5. コアのログを確認

    ノードは表示されるのに接続できない場合は、コアを再起動してログを確認します。ポート競合、項目の欠落、DNS、ハンドシェイクエラーを重点的に調べてください。

  6. グループを作り直す

    URLと応答が正常だと確認できた場合に限り、テスト用グループを新規作成して再インポートします。以前のグループのフィルターやキャッシュ状態の影響を切り分けるためです。

同じURLがv2rayNでは更新できるのにv2rayNGでは空になる場合は、両方のクライアントバージョンとコアの対応範囲を比較し、Android側でバックグラウンド通信、プライベートDNS、アプリごとのプロキシが制限されていないか確認します。逆にAndroidだけ成功する場合は、デスクトップ側のシステムプロキシ、DNS、証明書環境、サブスクリプション更新が無効なプロキシ経由になっていないかを確認してください。

サブスクリプションが復旧したら、まず1つのノードを選んで接続性を確認し、その後で自動更新や複雑なルーティング規則を戻します。調査中は変更する要素を1つに絞ってください。サブスクリプションURL、Coreタイプ、DNS、TUNモード、ルーティングを同時に変更すると、ログから原因を特定しにくくなります。

日常の更新と複数サブスクリプション管理のポイント

長期運用では、一度インポートできることよりも、グループ名、更新間隔、失敗時の対応を整えることが重要です。取得元ごとにグループを分け、用途が分かる短い名前を付けてください。複数の取得元を手作業で1つのテキストに結合してからインポートすると、どの部分で異常な内容が返されたのか判断しにくくなります。

v2rayNでは変更頻度に応じて自動更新を設定できます。ノードの変更が少ない場合は 1440 分ごとで十分です。早く反映したい場合は 60360 分に設定します。間隔を短くしても要求回数が増えるだけで、サーバー自体が利用できない問題は解決しません。v2rayNGは接続前やノードに問題があるときに手動更新する使い方が適しています。

v2rayNとv2rayNGを併用する場合、両方に同じサブスクリプションURLを保存できますが、ローカルの設定は同期されません。デスクトップ版のシステムプロキシモード、Android版のアプリごとのプロキシ、使用中のノード、ルーティング規則はそれぞれ設定する必要があります。サブスクリプションで同期できるのはノード一覧であり、クライアント状態全体を移行するものではありません。

AndroidでXrayコアではなくv2flyコアを使いたい場合は、v2flyNGを選択できます。追加、一覧更新、ノード選択、接続開始という流れは変わりません。REALITYやXTLS Visionなどを使う場合は、選択したクライアントとコアが各プロトコル項目に対応しているかを先に確認してください。ノード名だけで互換性を判断することはできません。

クライアントのインストーラーへ Windows、macOS、Android、Linux