V2RayのサブスクリプションURLを追加する方法|v2rayN・v2rayNGの設定手順とリンク形式

v2rayN・v2rayNGでサブスクリプションを追加する場所と、Base64形式やvless://・vmess://リンクの見分け方を解説します。

この記事の概要

サブスクリプションURLはサブスクリプショングループに登録し、個別ノードの共有リンクはクリップボードからインポートします。v2rayNまたはv2rayNGを初めて設定する方向けに、リンクの種類を見分け、デスクトップ版とAndroid版それぞれのメニューからノードを更新する手順を紹介します。最後にプロトコルの項目、接続状態、更新エラーを確認しましょう。URLの保存に成功してもノードの取得が完了したとは限らず、ノードが表示されてもアプリの通信がプロキシ経由になるとは限りません。

1. サブスクリプションURLとノード共有リンクを見分ける

サブスクリプションURLは通常、https://で始まるリモートリソースのURLです。クライアントがアクセスしてノード一覧を取得し、ローカル設定に読み込みます。一方、ノード共有リンクは個別のノード情報を直接表し、vless://やvmess://で始まるものが一般的です。それぞれ追加するメニューが異なるため、コピーできるからといって同じ入力欄に貼り付けないでください。

受け取った内容見分け方インポート先
サブスクリプションURL通常はHTTPSのURLで、アクセスするとノードデータが返されるサブスクリプショングループのURL欄
VLESS共有リンクvless://で始まるクリップボードからの一括インポート
VMess共有リンクvmess://で始まるクリップボードからの一括インポート
Base64形式のサブスクリプション本文デコードすると、通常は共有リンクが1行ずつ並んでいる元のサブスクリプションURLを取得して追加する
アカウント管理ページログイン画面、プランページ、ノード管理画面などが表示されるページ内でクライアント向けのサブスクリプションURLを探す

URLがHTTPSで始まるだけでは、利用可能とは限りません。アカウントページとサブスクリプションのエンドポイントが同じドメインにあっても、返される内容は異なる場合があります。サービス側で複数の形式を選べる場合は、v2rayN、v2rayNG向け、または汎用の共有リンク一覧と明記された形式を選んでください。別の設定形式のファイルを、そのままクライアントに読み込ませるのは避けましょう。

2. v2rayN:サブスクリプショングループを追加して更新

デスクトップ版では、まずグループを作成してから更新します。一般的な画面では、メインウィンドウの「サブスクリプショングループ」→「サブスクリプショングループ設定」から操作します。バージョンによって追加ボタンが「追加」または「+」と表示されますが、どちらもグループ名とURLを登録する画面を開く操作です。以下では中国語UIで一般的なメニュー名を説明します。ボタンの位置はバージョンによって異なる場合があります。

  1. サブスクリプションURLをコピー

    サービスのページで、このクライアントに対応する完全なサブスクリプションURLをコピーします。説明文、前後の空白、改行が含まれていないことを確認してください。ブラウザーのアドレスバーに表示されたアカウント管理ページのURLをコピーしないよう注意しましょう。

  2. グループを追加

    「サブスクリプショングループ」→「サブスクリプショングループ設定」→「追加」を開き、「普段使い」など識別しやすい名前を入力して、URL欄にアドレスを貼り付けます。グループ名はローカルで見分けるためのもので、サーバー設定には影響しません。

  3. 保存して更新

    設定画面を保存して閉じたら、「サブスクリプショングループ」→「すべてのサブスクリプションを更新(プロキシ経由なし)」を選択します。利用可能なノードがまだない初回設定では、まずこの方法を試してください。画面下部のログを確認し、リクエストと解析が完了するまで待ちます。

  4. ノードを選択

    追加したサブスクリプショングループに切り替え、ノード数とプロトコル欄を確認します。ノードを選択して右クリックし、「アクティブサーバーに設定」を選びます。バージョンによっては、選択後にEnterキーを押して設定できます。

  5. アプリの通信を確認

    メインウィンドウ下部またはトレイメニューの「システムプロキシ」で「システムプロキシを自動設定」を選び、システムプロキシを使用するブラウザーで動作を確認します。サブスクリプションを追加しただけでは、すべてのアプリの通信経路は自動で切り替わりません。

ノード共有リンクしかない場合は、リモートのサブスクリプションを先に作成する必要はありません。メインウィンドウで「サーバー」→「クリップボードから一括URLインポート」を選ぶか、画面に表示されるショートカットキーを使います。Windowsでは通常、Ctrl+Vでインポートできます。複数の共有リンクは通常、1行に1つずつ並べます。リンクを一度コピーして手動インポートしただけでは、ノードはリモート更新の対象になりません。

プロキシ経由なしの初回更新に失敗しても、既存ノードで接続できる場合は、「すべてのサブスクリプションを更新(プロキシ経由)」も試せます。これはサブスクリプション取得時の通信経路を切り替える機能で、無効なトークン、期限切れのアカウント、対応していないレスポンス形式を修正するものではありません。実行前に、現在のアクティブノードが使えることを確認してください。

3. v2rayNG:サブスクリプショングループとクリップボードからのインポート

Android版v2rayNGはXrayコアで接続を処理し、サブスクリプション管理画面でノード情報を取得・変換します。一般的な操作手順は、メイン画面左上のメニュー「☰」→「サブスクリプショングループ設定」です。バージョンによってメニューアイコンが異なる場合は、「サブスクリプショングループ設定」の項目を探してください。個別ノードの編集画面にサブスクリプションURLを入力しないよう注意しましょう。

  1. グループ設定を開く

    「☰」→「サブスクリプショングループ設定」を開き、右上の「+」をタップします。追加画面で「名前」と「URL」を入力します。デスクトップ版と同じ名前にすると、登録元を照合しやすくなります。

  2. URLを保存

    サブスクリプションURL全体を貼り付け、右上の保存アイコンをタップします。一覧に新しいグループが追加されたことを確認してください。保存に成功した時点で作成されるのはローカルの登録情報だけで、ノードの取得はまだ完了していません。

  3. ノードを更新

    メイン画面に戻り、右上の「⋮」メニューから「サブスクリプションを更新」を選びます。更新が完了したら、該当するグループに切り替えてノードを確認します。リクエストに失敗した場合は、エラー内容を確認してから対処し、同じグループを繰り返し追加しないでください。

  4. 接続を開始

    ノードを選択し、メイン画面の接続ボタンをタップします。初回起動時はAndroidのVPN接続リクエストが表示されるので、許可後に通知領域とアプリの状態を確認してください。許可によって作られるのは端末内の通信経路であり、リモートノードへの接続が保証されるわけではありません。

個別ノードを追加する場合は別の手順を使います。vless://またはvmess://で始まるテキスト全体をコピーし、メイン画面の「+」→「クリップボードからインポート」をタップします。QRコードはリンクを別の形で表したものです。「QRコードをスキャン」から読み取ってください。サブスクリプションURLを含むQRコードはサブスクリプションとして扱い、すべてのQRコードが個別ノードを表すと決めつけないようにしましょう。

4. Base64、VLESS、VMessで扱う情報の違い

Base64はエンコード方式であり、プロキシプロトコルでも暗号化でもありません。一般的な汎用サブスクリプションでは、複数の共有リンクを1行ずつ並べてBase64でエンコードします。VMessの共有リンクも、JSONをエンコードしてプロトコルの接頭辞に続ける形式がよく使われます。どちらも長い文字列に見えることがありますが、構造と用途は異なります。文字数だけでインポート先を判断しないでください。

VLESS共有リンク

接頭辞
vless://
認証情報
通常はユーザー情報の部分にUUIDが含まれる
トランスポート
typeパラメーターはトランスポート方式を示す
セキュリティ層
securityにはTLSまたはREALITYが指定される場合がある

VLESSがREALITYを意味するわけではありません。セキュリティ層を使うかどうか、どのトランスポートを使うかは、サーバー側の設定と一致させる必要があります。

VMess共有リンク

接頭辞
vmess://
一般的なデータ形式
Base64でエンコードされたJSON
アドレスとポート
add、port
認証情報とトランスポート
id、net

これらの項目は一般的な共有リンク形式のもので、コアの設定ファイルとしてそのまま使うものではありません。インポーターが設定形式に変換します。

インポート後は、アドレス、ポート、ユーザーID、トランスポートの種類、セキュリティ層を優先して確認してください。WebSocketの場合はHostとパスも確認します。TLSまたはREALITYを使う場合は、サーバー名と関連パラメーターも照合してください。「インポート成功」と表示されたからといって、すべてのノードのポートを443に変更したり、エラーを消すために証明書の検証を無効にしたりしないでください。

443
HTTPSでポートを明示しない場合のデフォルト
80
HTTPでポートを明示しない場合のデフォルト
10808
ローカルプロキシポートの一般的な例。実際の設定はクライアントで確認

この3つの数字は、それぞれ異なる用途のポートです。サブスクリプションURLのHTTPSポートはノード一覧の取得に使い、ノードのリモートポートはプロキシ接続に使います。ローカル待ち受けポートはアプリからのリクエストを受け付けます。サブスクリプションURLにアクセスできても、ノードのポートに接続できるとは限りません。JSONの項目を確認する際は、サブスクリプション設定ガイドと用語集を参考に、クライアント設定とコア設定を区別してください。

5. 更新失敗・ノードが空・接続失敗を切り分ける

まず、問題が発生した段階で分類します。サブスクリプションのダウンロード失敗は一覧の取得時、解析失敗はレスポンスの読み込み時、接続失敗はノードが登録された後にプロキシ接続を試す段階で起きます。これらを混同すると、実際に問題があるURLや設定項目を確認しないまま、クライアントを何度も再インストールすることになりかねません。

症状まず確認する項目次に行うこと
リクエストがタイムアウトする現在のネットワーク、DNSの名前解決、プロキシ経由で更新しているかネットワークを切り替える。利用可能なノードがある場合は、プロキシ経由の更新も比較する
HTTP 401または403トークン、アカウントの状態、アクセス元の制限専用のサブスクリプションURLをコピーし直し、サービス側に利用権限を確認する。403は必ずしも期限切れを意味しない
HTTP 404URLのパスが完全か、エンドポイントが移転していないかアカウントページから現在のサブスクリプションURLを取得する
リクエストは成功したがノードが表示されないログインページが返されていないか、形式が合っているかクライアント対応の形式を選び、グループの絞り込み条件を確認する
ノードが重複して表示される同じグループを重複して作成したり、手動インポートを繰り返したりしていないか登録元ごとにグループを整理し、不要と確認できた記録を削除する
ノードは表示されるが接続できないリモートポート、プロトコル設定、端末時刻、コアのログ同じグループ内の別ノードと比較し、すぐにサブスクリプションのインポートが原因と決めつけない

Base64の本文には改行が含まれる場合があり、末尾のパディング文字が省略される形式もあります。解析できないときに文字を手当たり次第に追加・削除して試すのは避け、まずサービス側に対応する元のサブスクリプションURLを確認してください。URL内の&、%、クエリパラメーターはそのまま保持します。特に、ページのソースにある&をURL内の区切り文字と取り違えないようにしましょう。

リンクをコピーしたのに「クリップボードにインポートできる項目がありません」と表示される場合は?

まず、コピーしたものがノード共有リンクか確認してください。HTTPSのサブスクリプションURLなら、サブスクリプショングループ設定から追加します。共有リンクの場合は接頭辞が欠けていないか、説明文や引用符が混ざっていないかを確認し、信頼できる場所からコピーし直してください。Androidでは、アプリが前面に表示されていてクリップボードを読み取れることも確認しましょう。

サブスクリプションを更新すると、手動で変更したノード設定は保持されますか?

更新後も個別の変更が保持されるとは限りません。クライアントがサブスクリプションのノード情報を再生成したり、サービス側がノード識別子を変更したりする場合があります。手動で調整する必要がある場合は、用途を明記して別の項目として保存し、サブスクリプション由来のノードと混同しないようにしてください。リモート側の設定変更後は、手動で反映する必要があります。

遅延テストは成功するのに、ブラウザーでページを開けないのはなぜですか?

ポートや遅延のテストで確認できるのは通信経路の一部であり、実際のリクエスト全体の成功を保証するものではありません。アクティブノード、システムプロキシ、DNS、ルーティングルールを確認し、実際の接続ログも確認してください。テスト結果だけでは、TLS、認証、接続先サイトへのアクセスを検証できません。

6. 両方の端末で同じサブスクリプションを使う場合は、ルーティングと通信の振り分けを個別に設定

同じアカウントを複数の端末で使えるかどうかは、サービス側の端末数や同時接続のルールによります。共用が許可されている場合、両方の端末に同じサブスクリプションURLを保存できますが、更新は端末ごとに実行してください。デスクトップ版で更新しても、スマートフォンに自動で反映されることはありません。ノード一覧が同じでも、アクティブノード、ルーティングルール、通信をプロキシに通すアプリの範囲は端末ごとに保存されます。

2台で使う場合の設定:登録元は共通、動作確認は個別

デスクトップ版 v2rayN
  • サブスクリプショングループにURLを保存し、更新を実行します。
  • アクティブノードを選び、システムプロキシが有効か確認します。
  • 実際の用途に合わせてルーティングを設定します。サブスクリプションがルール一式を含むとは限りません。
Android版 v2rayNG
  • 同じURLを個別に登録し、アカウントで複数端末を使えることを確認します。
  • 更新後にノードを選択し、AndroidのVPN接続を許可します。
  • アプリごとのプロキシを有効にする場合は、対象アプリが適用範囲に含まれているか確認します。

共通のサブスクリプションで統一されるのはノードの登録元です。更新するタイミング、使用するノード、通信ポリシーは端末ごとに確認してください。

TUNとサブスクリプション更新の関係

デスクトップ版のTUNモードは通信を取り込むためのもので、ノード一覧の取得に必須ではありません。また、すべてのコアで共通して使える「サブスクリプション用TUN項目」もありません。追加直後は最小限の設定でノードの動作を確認し、その後、アプリの用途に合わせて通信の取り込み方法を調整してください。AndroidのVPN接続を許可しても、リモート接続が正常とは限りません。設定範囲については、ルーティングと分流のガイドおよびTUNモードの説明もご覧ください。

プラットフォーム別クライアントのダウンロード