v2rayNやv2rayNGで「サブスクリプションは登録済みなのに、更新に失敗する/ノードが表示されない」ときに確認してください。まずダウンロードと解析のどちらで失敗しているかを切り分け、リンクの権限、応答形式、更新経路を確認します。最後にクライアントの互換性を調べましょう。設定は一度に一つだけ変更し、使えるノードは残してください。最初から設定をすべて削除するのは避けましょう。
ダウンロード失敗と解析結果が空の状態を切り分ける
サブスクリプションURLを保存しても、クライアントにURLが登録されただけで、ノードを取得できたとは限りません。更新時には、ドメインの名前解決、サブスクリプションサーバーへの接続、応答の取得と形式の判別、グループへの登録が順に行われます。リストが空になる原因は、いずれかの処理の失敗か、表示中のグループが違うことなどが考えられます。
まずクライアントのログを開き、更新した時刻付近に記録された最初のエラーを確認します。最後の「更新失敗」だけを見ても、原因ではなく結果であることがあります。ブラウザーでプロバイダーのトップページを開けても、サブスクリプションAPIが利用できるとは限りません。トップページとAPIでは、ドメイン、アクセス権限、通信経路が異なる場合があります。
| 表示された症状 | 優先して確認すること | 今は避けること |
|---|---|---|
| リクエストがタイムアウトする・接続が拒否される | ドメインの名前解決、通信経路、現在のプロキシの接続状況 | ノードのプロトコル設定を何度も切り替える |
| HTTP 401 または 403 | リンクのトークン、アカウント権限、APIへのアクセス制限 | まずエンコードの問題と決めつける |
| ダウンロードは完了するが、インポート数がゼロ | 応答がログインページ、空の本文、非対応形式ではないか | ダウンロード完了だけで正常と判断する |
| 更新は成功するが、ノードがリストに表示されない | 選択中のグループ、検索条件、リストの絞り込み | クライアントのデータフォルダーをすぐに丸ごと削除する |
リンクの有効期限とAPIのアクセス権限を確認する
サブスクリプションURLには、通常アカウントのトークンが含まれています。サブスクリプションの再発行、プランの期限切れ、権限の変更、サービスの移行などにより、古いURLにアクセスできても案内ページしか返されない場合があります。プロバイダーのサブスクリプション管理ページから、現在のクライアントに対応したURLをコピーしてください。ブラウザーのアドレスバーに表示される管理画面のURLは使わないでください。
-
現在のグループを残しておく
先に現在のグループ名と最終更新時刻を記録します。利用可能なノードが残っている場合は、設定をバックアップしてから新しいURLを試してください。唯一使えるグループを、内容の分からないデータで上書きしないようにしましょう。
-
リンクの取得元を確認する
プロバイダーのページでアカウントの状態とサブスクリプションの権限を確認し、ページのコピー用ボタンからURLを取得します。前後の空白や改行、コピー時に混入した引用符がないかを確認し、既存のクエリパラメーターはそのまま残してください。
-
グループのURLを確認する
v2rayNでは「サブスクリプショングループ」→「サブスクリプショングループ設定」を開き、対象グループを編集して「URL」を確認します。v2rayNGではサイドメニューから「サブスクリプショングループ設定」を開き、該当項目のサブスクリプションURLを確認します。画面のバージョンによって項目の場所が異なる場合があります。
-
対象グループだけを更新する
保存後、対象グループだけを更新し、権限エラーと解析エラーのどちらが表示されるか記録します。サブスクリプショントークンを再発行した場合は、他の端末に登録された古いURLも更新してください。古いリンクの失効を端末の故障と誤認しないためです。
以下の数値はHTTPレスポンスのステータスコードであり、クライアントのバージョン番号や実測の成功率ではありません。次に権限と応答内容のどちらを調べるべきか判断する目安になります。
エンコードと形式:取得できてもインポートできるとは限らない
「V2Rayサブスクリプション」は、どの設定ファイルでも取り込める共通の入口ではありません。一般的な形式は、1行ずつ並べた共有リンクか、リンク一覧全体をBase64でエンコードしたものです。VMessの共有リンクには、リンク自体にエンコードされた部分が含まれることもあります。サブスクリプション全体を重ねてエンコードしたり、末尾の文字を手動で削除したりしないでください。
VLESSはノードで使われるプロトコルの一つで、サブスクリプションは複数のノードを配布する方法です。ある種のノードをクライアントで使えるからといって、サービスから返されたあらゆる設定テキストを認識できるとは限りません。コア全体のJSON設定、構造化された設定ドキュメント、共有リンク一覧は、それぞれに合ったインポート方法を使う必要があります。
- HTMLが返される:ログインフォーム、認証コード入力画面、ページタイトルなどが表示される場合、取得したのはノード一覧ではなくWebページです。プロバイダーのページに戻り、クライアント用の正しいサブスクリプション項目を選んでください。
- JSONが返される:APIのエラーメッセージか、コア全体の設定ファイルかを確認します。波括弧があるだけでサブスクリプションと判断しないでください。エラーメッセージに権限や有効期限の説明がある場合は、先に対処しましょう。
- 本文が空:プロバイダーがノードを割り当てているか、グループの絞り込み条件ですべて除外されていないかを確認します。空の応答は、コアを切り替えてもノードが表示されるようにはなりません。
- 共有リンクが返される:クライアントが対応するプロトコルとパラメーターが含まれているか確認します。一部のノードしか認識されない場合は、プロトコルや通信設定をノードごとに比較してください。すぐにネットワークの問題と決めつけないようにしましょう。
応答を確認する必要がある場合は、できるだけ端末内で行ってください。ブラウザーはシステムプロキシを使う一方、クライアントの更新は直接接続を選ぶ場合があります。通信経路が違う結果を、そのまま比較することはできません。また、サブスクリプションサービスがリクエストヘッダーに応じて異なる内容を返すこともあります。ブラウザーにWebページが表示されることは手がかりの一つにとどめ、クライアントのログやプロバイダーの説明とあわせて確認してください。
更新時にプロキシを使うか、直接接続するか
「ノードは使えるのに、サブスクリプション更新に失敗する」ときに確認したい分岐点の一つです。通常の通信が現在のプロキシ経由でも、サブスクリプションのダウンロードが同じ経路を使うとは限りません。反対に、すでに使えなくなったノード経由で更新しようとすると、サブスクリプションサービスに問題がなくてもリクエストがタイムアウトし続けることがあります。
-
テスト条件をそろえる
同じネットワークと同じサブスクリプションURLを使い、更新方法だけを変えて試します。まず現在のプロキシノードで通常のHTTPSサイトにアクセスできるか確認してください。DNS、ノード、ルーティングルールを同時に変更しないようにします。
-
まず直接接続で更新する
v2rayNでは「サブスクリプショングループ」メニューから「すべてのサブスクリプションを更新(プロキシを使用しない)」を選びます。画面のバージョンによって括弧の種類が異なる場合があります。重要なのは、プロキシを使用しないと明記された項目を選び、対象グループの結果を確認することです。
-
次にプロキシ経由で更新する
直接接続がタイムアウトし、利用可能なノードがある場合は、「すべてのサブスクリプションを更新(プロキシを使用)」を選びます。現在のノードが使えない場合は、同じ操作を何度も繰り返さないでください。使える接続を復旧するか、サブスクリプションAPIに直接接続できるネットワークを使います。
-
結果を比較して記録する
直接接続とプロキシ経由で、それぞれのエラーの種類を記録します。v2rayNGではメイン画面のメニューから「サブスクリプションを更新」を実行できます。ダウンロード経路はバージョンや実行状態によって変わるため、デスクトップ版のメニューと同じ動作だと決めつけず、ログと接続状態を照らし合わせて確認してください。
ログにローカルプロキシのポートへの接続失敗が記録されている場合は、クライアントが実際に待ち受けているアドレスとポートを確認します。他の人のポート番号をそのまま使わないでください。プロキシ経由に変更して更新できても、今回の経路で接続できたことを示すだけです。サブスクリプションを常にプロキシ経由で更新する必要があることや、すべてのノードが正常であることを意味しません。
実際のエラーに応じて次の確認項目を決める
エラーの表現はプラットフォームやネットワークライブラリによって異なります。以下はよく見られるエラー原文の一部です。サブスクリプションのドメイン、ローカルプロキシ、ノードサーバーのどこへの接続で発生したかも確認し、キーワード一つだけで原因を決めないでください。
エラー:401 Unauthorized
原因と対処:認証に失敗しています。サブスクリプショントークンが無効になったか、認証情報が不足している可能性があります。プロバイダーのページからURLをコピーし直し、クエリパラメーターが欠けていないか確認してください。
エラー:403 Forbidden
原因と対処:サーバーがアクセスを拒否しています。アカウントの権限、接続元の制限、アクセス方針などが関係している可能性があります。プロバイダーのサービス状況とAPIの説明を確認してください。このエラーだけでプランの期限切れと判断しないようにしましょう。
エラー:429 Too Many Requests
原因と対処:リクエストの頻度制限に達しています。更新ボタンを連続で押すのをやめ、応答に再試行の案内がある場合は、その時間だけ待ってください。複数の端末で頻繁に更新していないかも確認します。
エラー:No such host is known
原因と対処:ドメインを名前解決できていません。まずサブスクリプションのドメインに誤字がないか、現在のネットワークからDNSを利用できるか確認します。ドメインの移行がないと分かったら、名前解決の経路を調整して再試行してください。
エラー:Connection refused
原因と対処:接続先の該当ポートが接続を拒否しています。接続先がローカルプロキシの場合は、コアが起動しているか、ポート番号が一致しているか確認します。リモートのサブスクリプションサーバーの場合は、別の経路でも確認し、プロバイダーに問い合わせてください。
証明書エラーが表示された場合は、まずシステムの日付、時刻、タイムゾーンを確認し、次にサブスクリプションのドメインと証明書が一致するかを調べます。更新のために証明書の検証を無効にしないでください。ノードの編集画面にあるセキュリティ設定が、サブスクリプション取得時のHTTPS接続にも適用されるとは限りません。
クライアントのバージョンと更新結果を確認する
古いクライアントでは、新しく追加された共有リンクのパラメーターを認識できなかったり、サブスクリプションサービスの現在の応答形式を処理できなかったりする場合があります。ただし、サブスクリプションの解析は通常クライアントが行い、ノードへの接続は主にコアが行います。これは別の処理です。XrayやV2Flyのコアを切り替えても、ログインページがダウンロードされる問題やトークンの期限切れは、通常解決しません。
- 現在の状態を記録する:「ヘルプ」または「バージョン情報」でクライアントのバージョンを確認します。更新前後を比較できるよう、エラーの発生時刻、OS、更新方法も記録してください。
- バックアップしてから更新する:ダウンロードページで利用するプラットフォームに対応したインストーラーを選び、インストール手順に従って更新します。デスクトップ版は先にプログラムを終了してください。モバイル版では、アプリのデータと既存の設定を保持できるか確認します。
- 対応するインポート方法を使う:v2rayNGはXrayコアを、v2flyNGはV2Flyコアを使用します。プロバイダーが案内する対応情報に従ってサブスクリプションを選んでください。どちらも同じプロトコルパラメーターにすべて対応すると決めつけないようにしましょう。
- 更新結果と接続結果を分けて確認する:まずグループにノードが表示されることを確認し、次にノードを一つ選んで接続をテストします。インポート成功は回線が利用可能であることを意味せず、接続タイムアウトもサブスクリプション解析の失敗を意味しません。
更新が成功したのにリストが空の場合は、まず検索文字列を消し、対象のサブスクリプショングループに切り替えて、絞り込みが有効になっていないか確認します。特定のグループだけに問題がある場合は、一時的なテスト用グループで新しいURLを検証してください。確認後に古いグループを整理すれば、重複ノードによる誤判定を避けられます。
問い合わせ前の確認リスト
役立つ問い合わせには、「どの処理で失敗したか」と「どのような比較を行ったか」が分かる情報をまとめます。設定全体を送ったり、時刻やグループが分からない空のリストのスクリーンショットだけを送ったりしないでください。以下の項目は、自分で確認するときにも、プロバイダーやクライアントのサポートに状況を伝えるときにも使えます。
- アカウントのサブスクリプション権限が有効で、現在のプロバイダーのページから取得したURLを使用している。古いトークンと管理画面のURLは除外済み。
- クライアント名、実際のバージョン、プラットフォーム、エラー発生時に使った更新メニューを記録している。
- 関連する最初のエラーをログに残し、ドメイン、トークン、ノードの認証情報、個人情報を隠している。
- タイムアウト、HTTPによる拒否、応答内容の解析失敗を区別し、すべてを「サブスクリプションが使えない」とまとめていない。
- 可能な範囲で直接接続とプロキシ経由を比較し、現在のプロキシ自体が使えるかも確認している。
- 応答の種類とグループの絞り込みを確認済み。更新前にバックアップし、再インストールの繰り返しで唯一使える設定を失っていない。
確認する順番は、URLと権限、ダウンロード経路、応答形式、クライアントの互換性です。前の項目を確認できるまで、後の設定をいくつも同時に変更しないでください。問題の範囲を絞り込めるうえ、復旧後にどの変更が解決につながったかも判断しやすくなります。