v2rayN・v2rayNGのサブスクリプション登録方法|設定場所とBase64・URI形式を解説

v2rayNとv2rayNGでサブスクリプショングループを設定し、URLの追加・更新を行う手順と、主なサブスクリプション形式の違いを解説します。

この記事の要点

まず、受け取ったものがサブスクリプションURLか、単一ノードのリンクかを確認してから、クライアントのサブスクリプショングループ設定を開きます。URLを保存しただけではグループが作成されるだけで、ノード一覧を取得するには更新が必要です。この記事ではPC版とAndroid版それぞれの手順に加え、URI・Base64の違いや更新エラーの対処法を解説します。初めて登録する方や、「保存できたのにノードが表示されない」とお困りの方に役立つ内容です。

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

サブスクリプションURLは通常、HTTPS形式です。クライアントがURLにアクセスしてノード設定を取得し、指定したグループに追加します。URLには認証トークンやクエリパラメーターが含まれる場合があります。サービス提供元のサブスクリプションページからURL全体をコピーしてください。ブラウザーのアカウントページのURLを使ったり、疑問符以降を削除したりしないでください。

vmess://やvless://で始まる文字列は、通常、単一ノードの共有リンクです。特定のノードを表すもので、ノード一覧を定期的に取得するためのHTTPSアドレスではありません。サブスクリプションURL欄に貼り付けると、URLが無効、またはダウンロードに失敗することがあります。その場合は、メイン画面のクリップボードからのインポート機能を使ってください。

サブスクリプションURL

おすすめ

サブスクリプショングループのURL欄に入力してから更新します。ノードの追加・削除や設定変更は、次回以降の更新でクライアントに反映されます。

おすすめの用途:初回設定、ノードグループの継続的な管理。

単一のURIリンク

「クリップボードからインポート」を使うか、ノードのQRコードを読み取ります。その時点の設定が追加されますが、通常はサブスクリプション元と連携せず、更新も行われません。

おすすめの用途:一時的な追加、単一ノードのトラブルシューティング。

設定ファイル全体

インバウンド、アウトバウンド、DNS、ルーティングなどが含まれる場合があります。完全な設定ファイルはサブスクリプション一覧とは別のデータ形式なので、サブスクリプションURL欄に入力しないでください。

おすすめの用途:設定ファイルの構造と適切なインポート方法を理解している方。

v2rayNでURLを追加してサブスクリプションを更新する

デスクトップ版のメイン画面を開き、上部の「サブスクリプショングループ」から設定します。画面の構成やバージョンによってボタンの位置は多少異なりますが、以下では「サブスクリプショングループ設定」を目印にします。「クリップボードから共有リンクをインポート」は、サブスクリプションURLの追加画面ではありません。

  1. グループ設定を開く

    「サブスクリプショングループ」→「サブスクリプショングループ設定」をクリックします。同じ接続元のグループがすでにないか確認し、似たノードが重複して登録されないようにします。

  2. サブスクリプションURLを入力する

    設定画面で追加ボタンを押し、識別しやすい別名を入力してから、サブスクリプションURL全体を「任意のアドレス(Url)」または該当するURL欄に貼り付けます。別名は自由に設定できますが、URLは変更しないでください。

  3. 保存してグループを選択する

    保存後、メイン画面に戻り、作成したサブスクリプショングループを選択します。この時点で一覧が空でも、失敗とは限りません。保存しただけではサーバーからノードを取得しないためです。

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

    「サブスクリプショングループ」メニューを開き、現在のサブスクリプションを更新するコマンドを選びます。「プロキシ経由」と「プロキシを経由しない」が選べる場合、利用可能なプロキシがないときは、まずプロキシを経由しない方法を試してください。

  5. インポート結果を確認する

    画面下部の情報やログを確認し、更新が完了したら、選択中のグループにノード名とプロトコルが表示されているか確認します。ノードを選んだ後、必要に応じてシステムプロキシやTUNを設定してください。インポートしただけでは、すべてのアプリがプロキシ経由になるわけではありません。

v2rayNGでサブスクリプショングループを作成する

v2rayNGはXrayコアを使用するAndroidクライアントです。サブスクリプション管理はサイドメニューにあります。メイン画面右上の「+」は、共有リンクのインポート、QRコードの読み取り、設定の手動追加などに使われます。どちらの方法でもノードを追加できますが、管理方法は異なります。

  1. サブスクリプション設定を開く

    メイン画面左上のメニューをタップし、「サブスクリプショングループ設定」を開きます。使用中のバージョンで「サブスクリプショングループ」と表示される場合は、グループ名とサブスクリプションURLを編集できる画面か確認してください。

  2. サブスクリプショングループを追加する

    右上の「+」をタップし、メモとサブスクリプションURLを入力します。貼り付けた後、URLの先頭と末尾を確認してください。コピー時に混入した空白や改行、チャットアプリによって付加された説明文を取り除いてから保存します。

  3. 戻って更新する

    メイン画面に戻り、右上のその他メニューからサブスクリプションを更新します。「現在のグループを更新」がある場合は、対象のグループに切り替えてから実行します。すべてのグループを更新する場合は、全件更新のコマンドを選んでください。

  4. ノードを選択して接続する

    ノード一覧が表示されたことを確認し、使用する設定を選んで接続ボタンをタップします。初回接続時は、Androidの案内に従ってVPN接続を許可してください。この許可が必要になるのは通信をVPNに取り込むときで、サブスクリプションの保存時ではありません。

ノードをインポートできてもアプリがインターネットに接続できない場合は、「サブスクリプションの更新成功」と「ノードの接続成功」を分けて確認してください。前者は応答を解析できたことを示すだけです。後者はサーバーの状態、プロトコル設定、端末の時刻、ローカルネットワークにも左右されます。接続を直すためにサブスクリプションを何度も削除して作り直す必要はありません。

URI形式とBase64形式のサブスクリプション

サブスクリプションURLはデータを取得するための入口で、形式はその入口から返される内容です。一般的な形式には、共有URIが1行ずつ並んだテキストと、URI一覧全体をBase64でエンコードした文字列があります。クライアントは対応する形式を判別して読み込みます。ブラウザーに内容が表示されても、有効なサブスクリプションとは限りません。

URIを1行ずつ並べたリスト

全体の形式
複数行のプレーンテキスト
よくあるプレフィックス
vmess://、vless://
ノードの区切り
通常は改行で区切る
解析時のポイント
各リンクのプロトコルとパラメーター

VMessの共有リンクでは、プロトコルプレフィックスの後にJSONをエンコードした文字列が続く形式も一般的です。リンク内のエンコードと、サブスクリプション全体のエンコードを混同しないでください。

Base64でエンコードしたリスト

全体の形式
エンコード済みの文字列
デコード後の内容
通常はURIを1行ずつ並べたリスト
よくあるバリエーション
標準文字セットとURLセーフ文字セット
プライバシー上の性質
復元可能なエンコードであり、暗号化ではない

形式を「修正」するために、サブスクリプションURLを自分でエンコードしないでください。クライアントに必要なのは元の取得URLであり、Base64化したURL文字列ではありません。

64
Base64の基本文字数(パディングを除く)
3 → 4
標準Base64では3バイトを4文字にエンコードする
443
HTTPSのサブスクリプションURLでポートを省略した場合のデフォルト値

これらの数値は形式やリクエスト先を理解するためのものです。ノードのポート番号や通信速度を示すものではありません。サブスクリプションの取得に使うHTTPSポートと、インポート後の各ノードのサーバーポートは異なる場合があります。標準Base64の末尾には=のパディングが付くことがありますが、この記号の有無だけで内容の有効性は判断できません。

空の一覧や更新エラーを段階別に確認する

まず、現在使えているノードを残したまま、対象のグループを更新します。「ノードがありません」と表示されたら、グループの絞り込み、リクエスト結果、応答形式の順に確認してください。原因をすぐにBase64と決めつけたり、基本的な切り分けをせずにサブスクリプション変換を試したりしないでください。

症状まず確認すること次に行うこと
保存後も一覧が空更新を実行したか、別のグループを選択していないか対象のグループを選択して一度更新し、不要な検索フィルターを解除します。
接続がタイムアウトする、またはドメイン名を解決できないサブスクリプションのドメインにアクセスできるか、現在のネットワークと更新方法直接接続と利用可能なプロキシ経由をそれぞれ確認します。ノードのプロトコル設定は、まず変更しないでください。
HTTP 401または403トークンの有効期限、アカウント権限、サーバー側のアクセス制限サービス提供元でサブスクリプションの状態を確認し、URLをコピーし直してください。403の原因がアカウントの期限切れとは限りません。
HTTP 404パスが途中で切れていないか、古いURLから変更されていないかURL全体を再取得し、パスを推測したりクエリパラメーターを削除したりしないでください。
リクエストは成功するが解析に失敗するログインページ、エラーページ、または非対応の設定形式が返されていないかログのメッセージを確認し、v2rayNまたはv2rayNG向けのサブスクリプション出力を取得してください。
一部のノードしか表示されないプロトコルの対応状況、サブスクリプションの絞り込み条件、クライアントとの互換性まずグループの絞り込みを解除し、表示されないノードのプロトコルと設定を確認します。必要に応じてクライアントを更新してください。

サーバーがHTTP 200を返していても、応答本文にログインページやアクセス制限ページが含まれる場合があります。この場合、ネットワークリクエスト自体は完了していますが、クライアントが認識できるURIが見つかりません。サブスクリプションのURLを修正するか、提供元に問い合わせてください。ページの内容を何度もBase64にエンコードしても解決しません。

提供元が特定の完全な設定形式しか提供していない場合は、互換性のある共有URI形式のサブスクリプションを依頼するのが確実です。形式変換にはプロトコルフィールドのマッピングも関係するため、テキストの包み方を変えるだけで、クライアントが対応していないパラメーターまで補えるとは限りません。

PCとAndroidで同じサブスクリプションを使う際の個別設定

同じサブスクリプションをv2rayNとv2rayNGの両方に追加できますが、サービス提供元が許可する端末数と同時接続数を先に確認してください。両方のクライアントは同じURLにそれぞれアクセスするだけで、設定が相互に同期されるわけではありません。一方で更新しても、もう一方は個別に更新する必要があります。

サブスクリプション元を共有し、ローカル設定は個別に管理する

デスクトップ版:v2rayN
  • 「サブスクリプショングループ設定」に有効なURLを保存します。
  • 更新後、使用するノードを個別に選択します。
  • システムプロキシ、TUN、DNS、ルーティングを個別に設定します。
Android版:v2rayNG
  • 「サブスクリプショングループ設定」で独自のグループを作成します。
  • メイン画面に戻ってサブスクリプションを更新します。
  • VPN接続とアプリごとのプロキシ対象を個別に管理します。

共有されるのはノードの取得元であり、端末の設定すべてではありません。リクエストのパラメーターやクライアントの判定方法によって、返される内容が異なることもあります。

通常のノードサブスクリプションでは、ローカルの待ち受けポート、ルーティングルール、DNSポリシー、アプリごとの設定は同期されません。完全なバックアップの代わりにもなりません。ノードを手動で編集した後に更新すると、その変更が上書きされる場合があります。長期的に使う独自設定は別の手動設定として保存し、用途を明記してください。

v2rayN をダウンロードプラットフォームに合ったクライアントを選択