初めてサブスクリプションURLを入手した方や、導入したのにサーバーが表示されない方に向けた記事です。v2rayNとv2rayNGの操作手順、更新方法、主要URL形式、段階的なトラブルシューティングをまとめています。設定後は、両方の端末で同じサブスクリプション元からノード一覧を管理できます。
まずサブスクリプションURLと単一ノードURLを区別する
サブスクリプションURLは通常、https://で始まるアドレスです。クライアントがアクセスすると、サーバーから複数の設定が返されます。Base64でエンコードされた複数行のノードURLの場合もあれば、クライアントが認識できる構造化されたサブスクリプションの場合もあります。重要なのはURLの長さではなく、再度リクエストしてノード一覧全体を更新できることです。
vmess://、vless://、trojan://、ss://は通常、1台分のサーバー設定を表します。クライアントへ直接導入できますが、自動更新可能なサブスクリプショングループにはなりません。vless://のURLを「サブスクリプションURL」欄に貼り付けると、取得失敗、内容が空、解析数が0といった結果になることがあります。
HTTPSサブスクリプションURL
おすすめ複数のノードをまとめて管理でき、クライアント上で手動または定期的に更新できます。パソコンとAndroid端末で一覧をそろえたい場合に適しています。
適した用途:長期利用、複数ノード、端末間同期
単一ノード共有URL
VMess、VLESS、Trojan、Shadowsocksのいずれか1台のノードを直接記述します。導入は速いものの、サーバー設定が変わった場合は再取得が必要です。
適した用途:一時追加、単一ノードのテスト、QRコード経由の共有
Base64形式のテキスト
複数の共有URLをエンコードしたテキストが一般的です。通常はエンコードされた文字列全体を手動でコピーするのではなく、クライアントがサブスクリプションURLから取得します。
適した用途:クライアントによる自動読み込み・解析
以下の3行は見た目の違いを示した例です。ドメイン名とパラメータは形式確認用であり、そのまま接続には使えません。実際のサブスクリプションURLは設定サービスの提供元から取得し、通常はアカウントに紐づくパスやアクセスパラメータを含みます。
https://sub.example.com/client/account-a
vmess://eyJ2IjoiMiIsInBzIjoiZXhhbXBsZSJ9
vless://[email protected]:443?security=tls&type=ws#Example
v2rayNにサブスクリプションを追加する手順
以下では、v2rayN 7.xの日本語版ではなく中国語UIを例にしています。7.xのマイナーバージョンによってボタンの位置は多少異なりますが、基本の流れは同じです。まずサブスクリプショングループを作成し、更新を実行してからサーバーを選び、システムプロキシを有効にします。グループにURLを保存するだけでは、ノードはすぐに表示されません。
グループを開く
v2rayNを起動し、メイン画面上部から「サブスクリプショングループ」→「サブスクリプショングループ設定」を開きます。ウィンドウ幅が狭い場合は、同名のメニュー内にまとめられていることがあります。
サブスクリプションを新規作成
「追加」をクリックし、エイリアスには識別しやすい名前を入力します。アドレス欄には完全な
https://サブスクリプションURLを貼り付けます。貼り付け後、先頭や末尾に空白や改行が混入していないか確認してください。設定を保存
グループが有効になっていることを確認して保存します。コアを切り替える場合は、「設定」→「パラメータ設定」→「Core タイプ」を開きます。日常的にVLESSやVMessなどを使う場合は、通常Xrayコアを選択します。
サブスクリプションを更新
メイン画面に戻り、「サブスクリプショングループ」→「すべてのサブスクリプションを更新(プロキシを使用しない)」を選択します。現在のネットワークで既存の接続経由でしかサブスクリプションURLにアクセスできない場合は、プロキシ経由の更新を試します。
サーバーを選択
ノードが表示されたら、対象サーバーをダブルクリックするか、右クリックメニューからアクティブサーバーに設定します。その後、トレイメニューからシステムプロキシモードを選択します。通常のテストでは、まず「システムプロキシを自動設定」を使うとよいでしょう。
ログを確認
接続後にログ欄を開き、コアが起動していること、ポート競合・設定解析・ドメイン名前解決のエラーがないことを確認します。v2rayNでよく使われるローカル混合プロキシポートは
10808ですが、実際の値は「設定」→「パラメータ設定」に表示されるローカルポートを基準にしてください。
更新後は、まずサーバー一覧に新しい項目が追加されたか、次にグループ欄が先ほど作成したサブスクリプションと一致しているかを確認します。一覧が空になる問題とノードに接続できない問題は別物です。前者では取得と解析を、後者ではサーバーアドレス、転送方式、TLS、REALITY、公開鍵、ネットワーク到達性を確認します。
- 一覧がまったく変わらない:グループ設定を保存しただけでなく、「サブスクリプションを更新」を実行したか確認します。
- タイムアウトが表示される:「プロキシを使用しない」と「プロキシを使用する」の更新方法を切り替え、ログに記録されたリクエスト先を確認します。
- 解析数が0になる:単一ノードURL、WebログインページのURL、または期限切れのサブスクリプションURLを誤って入力していないか確認します。
- ノードはあるのに表示されない:サーバーの絞り込み欄をクリアし、現在表示しているサブスクリプショングループを確認します。
v2rayNGにサブスクリプションを追加する手順
v2rayNGはXrayコアを使用し、サブスクリプション管理と単一ノードの導入で入口が異なります。サブスクリプションは「サブスクリプショングループ設定」へ追加し、クリップボードからの導入やQRコードのスキャンは単一のvmess://またはvless://設定に適しています。v2rayNG 1.10.xの画面を例に、サブスクリプションを保存してから手動で更新します。
URLをコピー
提供元のページから完全なサブスクリプションURLをコピーします。URLが長くても途中で選択を分けないでください。コピー後、通常のテキスト入力欄で先頭が
https://になっていることを確認し、誤って入った空白を削除します。サブスクリプションを開く
v2rayNGを開き、左上のメニューを展開して「サブスクリプショングループ設定」に進みます。右上の「+」をタップし、新しいサブスクリプションを追加します。
入力して保存
備考に提供元の名前を入力し、任意のアドレス欄にサブスクリプションURLを貼り付けます。有効状態のまま保存してください。備考は端末上で識別するためだけのもので、ノードパラメータは変わりません。
一覧を更新
メイン画面に戻り、右上のメニューから「サブスクリプションを更新」を選択します。画面下部に完了メッセージが表示されるまで待ち、メイン一覧の設定数とグループ名を確認します。
接続を開始
設定をタップして現在のノードにし、画面下部の接続ボタンをタップします。初回起動時はシステム接続リクエストを確認し、ステータス欄に実行中の表示が出てからアクセスをテストします。
更新後も古いノードが表示される場合は、「サブスクリプショングループ設定」を再度開き、編集中のグループが有効なものか、URLが途中で切れていないか確認します。その後メイン画面に戻り、「サブスクリプションを更新」をもう一度実行してください。アプリのデータをすべて削除するとローカル設定も消えるため、最初の対処にはしないでください。
おすすめ構成:両端末で同じサブスクリプションを使用
デスクトップ(v2rayN)
- Xrayコアで一般的なVMess・VLESS設定を処理
- 「サブスクリプショングループ」に提供元を保存し、更新間隔を設定
- ログでローカルの
10808などのポートが正常に待ち受けているか確認
Android(v2rayNG)
- 同じ完全なサブスクリプションURLを追加
- メイン画面で「サブスクリプションを更新」を手動実行
- アプリごとに対象範囲を限定する場合のみ、アプリ別プロキシを設定
両端末で同じサブスクリプション元を使う場合、サーバー側でノードが変更された後に各端末を更新すれば済みます。ただし、ルーティング、選択中のノード、ローカル設定は端末ごとに個別保存されます。
「サブスクリプションを共有する」ことは、クライアントの状態がリアルタイムで同期されるという意味ではありません。v2rayNで選択したアクティブノードがv2rayNGを自動制御することも、デスクトップのルーティングルールがAndroidへ自動コピーされることもありません。同期されるのは主にサーバー設定であり、システムプロキシ、アプリ別プロキシ、DNS、ルーティングは端末環境に合わせて個別に設定します。
VMess、VLESS、Base64形式のサブスクリプションとは
VMess共有URLは、vmess://の後にBase64テキストが続く形式が一般的です。デコードすると、アドレス、ポート、ユーザー識別子、転送方式、TLSなどの項目が含まれます。これは複数ノードではなく、1つのノードを表します。古い形式では完全なJSONデータをURLにエンコードしていることもあり、各パラメータを目視で確認するのは困難です。
VLESS URLは標準URIに近い形式です。ユーザー識別子はホスト名の前、ポートはドメインの直後にあり、転送・セキュリティ・フロー制御のパラメータはクエリ文字列に入ります。主な項目にはtype=ws、type=grpc、security=tls、security=reality、flow=xtls-rprx-visionがあります。これらはサーバー設定と一致させる必要があり、接続に失敗したからといって勝手に置き換えてはいけません。
| 内容の見た目 | 通常の意味 | 正しい導入先 | 全体を更新できるか |
|---|---|---|---|
https:// URL |
サブスクリプションのリクエストURLまたは設定API | サブスクリプショングループ設定 | 通常は可能 |
vmess:// |
単一のVMessノード | クリップボードから導入またはQRコードをスキャン | 不可 |
vless:// |
単一のVLESSノード | クリップボードから導入またはQRコードをスキャン | 不可 |
| 連続したBase64文字列 | エンコードされたノード一覧またはノードデータ | 元のサブスクリプションURLから取得するのが基本 | サブスクリプション元を保持しているかによる |
Base64はテキストのエンコード方式であり、プロキシプロトコルでも接続機能でもありません。サブスクリプションのレスポンスがBase64でエンコードされている場合、クライアントはまずテキストに戻し、各行からVMess、VLESS、Trojan、ShadowsocksのURLを認識します。Base64を使わず、構造化された設定を直接返すレスポンスもあります。対応可否は、サーバー側の出力形式とクライアントの解析能力によって決まります。
導入後に設定が使えることを確認する方法
サブスクリプション更新の成功表示は、クライアントが内容を取得して解析できたことを示すだけで、すべてのノードが接続できるとは限りません。「ノードが表示される、コアが起動する、通信がローカルプロキシを通る、対象リクエストが成功する」の順に確認し、メイン画面の色だけで判断しないでください。
- ノード数を確認:更新前後で一覧を比較し、少なくともサブスクリプショングループ内にサーバー項目が表示されることを確認します。
- ノードパラメータを確認:プロトコル、アドレス、ポート、転送方式がそろっているか確認します。VLESS REALITY設定では、サーバー名、公鍵、ショートIDなどの必須項目も必要です。
- コアの起動を確認:v2rayNのログに設定の読み込みとローカル待ち受けが表示され、ポート競合や設定項目のエラーが繰り返し出ていないことを確認します。
- 通信の取り込み方法を確認:v2rayNでは用途に応じてシステムプロキシまたはTUNを有効にします。v2rayNGでは起動後にシステム接続状態が表示されることを確認します。
- ルーティング結果を確認:一部のWebサイトだけ開けない場合は、すぐにサブスクリプションを作り直さず、ルーティングルールとDNSを確認します。
v2rayNの10808はローカル混合プロキシポートとしてよく使われますが、設定を変更すると別の値になることがあります。ブラウザの手動プロキシ、コマンドラインツール、LAN内の端末が古いポートを参照していると、クライアントは接続済みでもリクエストが通りません。「設定」→「パラメータ設定」を開き、現在表示されるローカルポートを使用してください。
遅延テストだけで実際の接続を判断することはできません。一部のサーバーはプローブリクエストを制限するため、遅延結果が空でも実際のWebリクエストは使える場合があります。逆に、プローブへの応答が速くてもTLS、転送経路、ルーティングの問題で実通信に失敗することがあります。コアのログと実際のリクエストを組み合わせて確認するのが確実です。
まずサブスクリプションからノードが解析されたかを確認し、次にコアの起動、システムプロキシまたはAndroidの接続状態、最後にDNSとルーティングを確認します。毎回1つの設定だけを変更し、変更前後のログを残すと、削除と再導入を繰り返すより速く原因を特定できます。
サブスクリプション更新失敗・ノードが表示されない場合の対処法
サブスクリプションの障害は通常、URL自体が使えない、クライアントがレスポンスを取得できない、取得した内容を解析できない、という3段階のいずれかにあります。まずサブスクリプション設定で完全なURLをコピーし直し、タイムアウト、HTTPステータス異常、解析失敗をエラーメッセージから切り分ければ、すべてをノード回線の問題にせずに済みます。
サブスクリプション更新がタイムアウトする?
v2rayNではまず「サブスクリプショングループ」→「すべてのサブスクリプションを更新(プロキシを使用しない)」を試します。利用可能なノードがある場合は、プロキシ経由の更新に切り替えます。v2rayNGではネットワークを切り替えて再試行し、システム時刻が正確かも確認してください。
保存したのに一覧が空なのはなぜ?
サブスクリプションを保存しただけではグループが作成されるだけです。メイン画面に戻り、「サブスクリプションを更新」を実行してください。更新後は絞り込み文字列を消し、該当グループに切り替えて確認します。解析数が0の場合は、入力したものが単一のvmess://またはvless:// URLではないか確認します。
返された内容を解析できないと表示されるのはなぜ?
よくある原因は、サブスクリプションURLがログインページ、期限切れの案内ページ、または通常のWebページを返していることです。提供元のページからクライアント用サブスクリプションURLをコピーし直してください。ブラウザのアカウントセンターURLや、QRコード画像のURLをサブスクリプションとして使わないでください。
更新後も古いノードが残るのはなぜ?
まず、古いノードが別のサブスクリプショングループまたは手動導入グループに属していないか確認します。v2rayNではグループ列で絞り込み、v2rayNGでは設定が属するサブスクリプションを確認します。提供元を確認する前に、ノードを1つずつ削除しないでください。
接続できるのにWebページが開けない?
v2rayNではシステムプロキシが有効か確認し、「設定」→「パラメータ設定」のローカルポートを確認します。v2rayNGでは接続状態とアプリ別プロキシの対象範囲を確認してください。その後、コアログでDNS、ハンドシェイク、ルーティングのエラーを確認します。
エラーに401または403が含まれる場合、サブスクリプションのアクセスパラメータが無効、権限が変更された、またはリクエスト条件を満たしていない可能性があります。404はパスが変更されたことを示す場合が多く、5xxはレスポンス側の一時的な異常を示します。これらの場合、クライアントのコアやローカルポートを繰り返し変更しても解決しにくいため、まず現在有効なサブスクリプションURLを取得してください。
パソコンでは更新できるのにAndroidではできない場合、まず両端末に保存したURLの文字が完全に一致するか比較します。特に末尾のパラメータ、イコール、大文字・小文字を確認してください。2台のネットワーク環境とシステム時刻も比較します。逆にAndroidでは更新できてv2rayNで失敗する場合は、v2rayNが誤ってプロキシ経由の更新を選んでいないか、現在のアクティブサーバーが無効になっていないか確認します。
- Webサイトのアカウントパスワードをノード設定欄に入力しないでください。
- コア、DNS、ルーティング、ポート、サブスクリプションURLを同時に変更しないでください。どの変更が効果をもたらしたのか分からなくなります。
- サブスクリプションURLをグループチャットやスクリーンショットで公開しないでください。URL内のアクセスパラメータが個人の設定権限に紐づいている可能性があります。
- サブスクリプション元を変更したら、新しいグループに分かりやすいエイリアスを設定し、利用できることを確認してから古いグループを整理します。
サブスクリプションの管理と2台で使う際のポイント
サブスクリプション設定後の日常管理では、更新頻度とグループ分けが重要です。頻繁に更新してもノードの品質は改善せず、サーバー側のアクセス頻度制限にかかる可能性もあります。通常は必要なときに手動更新するか、数時間に1回から1日1回程度に設定します。具体的な間隔はサブスクリプション元の案内に従ってください。
複数の提供元を1つのグループに詰め込まないでください。「日常」「テスト」や提供元の名前など、用途ごとにグループを作ると、ノード障害時に影響範囲をすぐ確認できます。手動導入した単一ノードもサブスクリプションのノードと分け、グループ更新後に手動設定まで変わったと誤解しないようにします。
v2rayNの管理ポイント
- 各サブスクリプションに分かりやすいエイリアスを設定する。
- 更新後、グループごとに追加・削除された項目を確認する。
- よく使うルーティングルールを保持し、ルーティングの問題とサブスクリプションの問題を混同しない。
- ポートが他のプログラムで使用されている場合は、まずログを確認してからローカルポートを変更する。
v2rayNGの管理ポイント
- 更新前に、現在のサブスクリプショングループが有効になっていることを確認する。
- アプリ別プロキシは、接続を通すアプリを決めるだけで、サブスクリプションの内容は変更しない。
- ノード一覧に異常がある場合は、まず更新してからグループと絞り込み条件を確認する。
- ネットワークを切り替えた後は現在のノードを再テストし、サブスクリプションを再導入する必要はない。
v2flyNGはv2flyコアを使用し、このコアとの互換性が必要なAndroid設定に適しています。v2rayNGはXrayコアを使用し、新しいVLESSやREALITYなどの組み合わせには通常こちらが適しています。どちらのAndroidクライアントを使う場合も、サブスクリプション出力に使用するコアが認識できるプロトコルと転送パラメータが含まれているか、先に確認してください。
初回導入が完了したら、サブスクリプショングループ名、直近の成功更新日時、現在のクライアントバージョンの3項目を記録しておくと便利です。次に一覧が変わったとき、サブスクリプション内容の更新、クライアントのアップデート、ローカル設定の変更のどれが原因かを切り分けやすくなり、設定を最初から作り直す必要がありません。