V2Rayのサブスクリプションを解析できない・インポート後に一覧が空になる原因と確認方法

サブスクリプションの期限切れや形式の非対応、更新時のプロキシ設定、文字コードの問題で解析に失敗することがあります。症状別の確認手順を紹介します。

この記事の要点

「サブスクリプションの更新に失敗する」「解析は成功するのにノードが表示されない」「クライアントを変えたらインポートできない」といった場合に役立つ確認ガイドです。まず既存のノードを残し、URL・ネットワーク・応答内容・クライアント形式の順に確認しましょう。サブスクリプションを取得できていないのか、取得後に解析できないのかを切り分け、グループ内の件数と単一ノードの接続テストで復旧を確認します。

1. 既存ノードを残し、失敗した段階を切り分ける

サーバーをすべて削除したり、何度も再インストールしたりするのは避けましょう。サブスクリプションの更新は通常、URLへのアクセス、応答本文の読み込み、本文からノード一覧への変換という3段階で行われます。どの段階で失敗しても一覧が空に見えることがありますが、対処方法はそれぞれ異なります。

クライアントのバージョン、エラーが発生した時刻、グループ名、ログの全文を記録します。バージョンは「ヘルプ」→「バージョン情報」または設定画面で確認してください。メニュー名はバージョンによって異なる場合があります。問い合わせ時は「最新版」だけでなく、正確なバージョン番号を伝えましょう。利用できるノードがある場合は、クライアントのバックアップまたはエクスポート機能でローカルに保存してください。ファイルに認証情報が含まれる可能性があるため、公開しないでください。

表示される症状まず確認すること今はしないこと
タイムアウト、ドメイン名の解決失敗サブスクリプションのドメインに接続できるか、更新にプロキシを使っているかノードのUUIDや通信パラメーターの変更
401または403が返るトークンの有効性、アカウントの状態、サーバー側のアクセス制限サブスクリプションを別の文字コードに変換する
形式エラー、解析失敗と表示される実際の応答にノード情報が含まれているかすべてのノードが無効だと決めつける
更新は完了したが一覧が空選択中のグループ、検索条件、ノード形式との互換性すべてのグループを消してやり直す

2. サブスクリプションURLとグループ設定を確認する

サブスクリプションURLは複数のノードを取得するための入口であり、サービス提供元のトップページでも、個別ノードのサーバーアドレスでもありません。vmess://やvless://で始まるものは、通常は単一ノードの共有リンクです。クリップボードからノードをインポートする機能を使ってください。HTTPまたはHTTPSのURLもアカウントページの場合があるため、先頭の文字だけでサブスクリプションだと判断しないでください。

  1. URLをコピーし直す

    サービス提供元のアカウントページでサブスクリプションの項目を開き、使用するクライアントに合った形式を選んでコピーし直します。ブラウザーのアドレスバーに表示されたアカウントページのURLや、チャットのプレビューで途中までしか表示されていないリンクをコピーしないでください。

  2. URL全体を確認する

    ローカルのテキストエディターで、先頭や末尾の空白、改行、余分な引用符がないか確認します。クエリパラメーターの&、=、%などはそのまま残してください。トークンを手作業で「整形」したり、URLデコードを繰り返したりしないでください。

  3. サブスクリプショングループを確認する

    v2rayNの一般的なデスクトップ画面を例にすると、「サブスクリプショングループ」→「サブスクリプショングループ設定」を開き、対象グループを追加または編集して、名前とサブスクリプションURLを入力し保存します。現在のバージョンで画面構成が異なる場合は、同名のグループ管理機能を探してください。サブスクリプションURLをサーバーアドレス欄に入力しないでください。

  4. 対象グループだけを更新する

    メイン画面に戻り、保存したグループを選択して、「サブスクリプショングループ」から現在のサブスクリプションを更新します。最初の切り分けでは対象グループだけを更新し、他のグループのエラーログが混ざらないようにしましょう。追加されたノード数とエラー全文を記録してください。

サービス提供元がサブスクリプショントークンをリセットしている場合、古いURLを開いて案内ページが表示されても、ノード情報は取得できなくなっている可能性があります。その場合は、ブラウザーで新しいURLを試すだけでなく、グループに保存したURLを差し替えてください。アカウントの期限切れ、通信量の上限、デバイス制限がサブスクリプションの取得に影響するかどうかは、提供元の仕様によります。アカウントページで確認しましょう。

3. 更新リクエストの経路を確認する:直接接続かプロキシ経由か

ブラウザーでページを開けても、クライアントがサブスクリプションを更新するときに同じネットワーク経路を使っているとは限りません。ブラウザーはシステムプロキシを使う一方、クライアントの更新機能は直接接続する設定になっていることがあります。逆に、更新時にプロキシを選んでいても、ローカルコアが起動していない、または接続中のノードが使えない場合はリクエストに失敗します。

ローカルプロキシのポート番号に共通の固定値はありません。10808はよくある設定例のひとつですが、現在のクライアント設定に表示されるリスニングポートを確認してください。手動でプロキシを設定してテストする場合、HTTPプロキシとSOCKSプロキシを任意に入れ替えることはできません。システムプロキシを使ってテストした場合は、終了後に元の設定へ戻し、他のアプリにテスト用設定が残らないようにしてください。

4. ステータスコードとよくあるエラーを読み解く

次の3種類のステータスコードはHTTPリクエストの結果を示すもので、ノードの速度測定結果ではありません。数値はプロトコル上の意味を示しており、本サイトでの実測値ではありません。特に、200が返ってもサーバーから何らかの内容を正常に受信したというだけで、有効なサブスクリプションとは限りません。

200
リクエスト成功。応答本文の確認が必要
401
有効な認証情報がリクエストに含まれていない
403
サーバーはリクエストを理解したが、アクセスを拒否した

確認のポイント:まず応答内容を確認し、その後に文字コードを調べる

401、403、またはログインページが返る場合は、まずURLとアクセス権を確認してください。ノード情報を含む本文を取得できたことを確認してから、Base64、文字コード、クライアントとの互換性を調べましょう。

ログの文言はクライアントのバージョンやOSによって異なります。以下はネットワークリクエストでよく見られるエラー文またはその一部です。ログに内部例外も記録されている場合は、末尾の1行だけでなく内部の原因もあわせて確認してください。

エラー:Response status code does not indicate success: 403 (Forbidden).

原因と対処:サーバーが現在のリクエストを拒否しています。トークン、接続元の制限、アクセス方針などが原因として考えられます。サブスクリプションURLを取得し直し、アカウントの状態を確認してください。解決しない場合は、発生時刻とステータスコードを添えて提供元に問い合わせましょう。文字コードを変えるだけでは解決しません。

エラー:The SSL connection could not be established, see inner exception.

原因と対処:TLS接続の確立に失敗しています。まずOSの日付とタイムゾーンを同期し、内部例外に証明書の信頼性、ホスト名、ネットワークによる遮断が関係していないか確認してください。証明書の検証を無効にして、問題を長期的に回避しないでください。

エラー:The input is not a valid Base-64 string

原因と対処:解析対象のテキストが想定されるBase64形式ではありません。エラーページ、途中で切れた内容、誤ったエクスポート形式などが原因として考えられます。まず応答の種類を確認し、クライアント専用のサブスクリプションURLからコピーし直してください。

応答の先頭に<!DOCTYPE html>、ログインフォーム、人間確認ページなどが含まれている場合、クライアントが取得したのはノード一覧ではなくウェブページです。ブラウザーはログイン状態を利用して認証を通過できても、単体のクライアントには同じCookieがありません。ログイン後のページURLではなく、クライアント用のサブスクリプション取得URLを使ってください。

5. 形式・文字コード・ノードの互換性を確認する

「V2Rayサブスクリプション」が、どのクライアントでも使える共通ファイル形式を指すとは限りません。内容は、1行ごとの共有リンク、Base64でエンコードされたリンクの一覧、特定クライアント向けの完全な設定ファイルなどさまざまです。JSON設定、YAML設定、共有リンクの一覧は用途が異なり、拡張子の変更や再エンコードだけでは相互変換できません。

応答内容の特徴考えられる問題対処方法
複数行の共有リンク、またはそのBase64テキスト内容が途中で切れている、文字が置き換わっている、一部のプロトコルに非対応元の内容を取得し直し、クライアントのバージョンと対応範囲を確認する
中かっこで始まるJSON完全な設定ファイルの場合もあれば、APIのエラーメッセージの場合もあるまず各フィールドの意味を確認し、すべてをサブスクリプションとしてインポートしない
インデントやルール項目を含むYAML別形式の完全な設定ファイルの可能性がある提供元のページに戻り、対象クライアントに対応したサブスクリプション形式を選ぶ
HTML、ログイン案内、認証確認の表示URLの選択ミス、認証失敗、アクセス保護専用URLを取得し直し、アクセス方法を提供元に確認する
本文が空、または空白だけAPIの一時的な障害、アカウントに割り当て可能なノードがないアカウントの利用条件とノードの状態を確認し、少し時間をおいて一度だけ再試行する

VMess共有リンクに含まれるエンコードデータと、VLESS共有リンクのURI構造は異なります。サブスクリプション全体のエンコード、個々のリンク内部のエンコード、URLのパーセントエンコードもそれぞれ別のものです。何度もデコードしたり、文字を手作業で補ったり、トークン内部の半角記号を全角に変えたりすると、正常なデータを壊すおそれがあります。長いテキストを手作業で修正するより、元の内容を取得し直してください。

6. 更新成功なのに一覧が空:表示状態を確認してから解析を調べる

「成功」と表示されても、リクエストが終了しただけで、ノードが追加されたとは限りません。まず画面で選択中のグループを確認し、検索欄を空にして、フィルターが有効になっていないか調べます。同じ名前のグループが複数ある場合は、対象グループに識別しやすい名前を一時的に付け、Aグループの更新ログとBグループの一覧を混同しないようにしましょう。

  1. 更新前後の件数を記録する:対象グループのノード数と、ログに表示されたインポート件数をそれぞれ記録します。画面では0件でもログにインポート済みと表示される場合は、グループとフィルター条件を優先して確認してください。
  2. 応答本文が空かどうかを確認する:今回の応答をローカルで確認し、内容を公開しないでください。応答が空ならサーバーとアカウントの状態を確認します。内容があるのにインポート件数が0の場合は、形式を調べてください。
  3. 単一リンクで問題を切り分ける:安全に完全な共有リンクを取得できる場合は、クライアントの「クリップボードからインポート」機能でテストします。単一リンクはインポートできるのに全体を読み込めない場合は、サブスクリプション全体の形式や、ノード以外のテキストの混入を確認してください。
  4. 実際の接続を確認する:インポートに成功したらノードをひとつ選び、実際の接続テストを行ってから、アプリがプロキシ経由でアクセスできることを確認します。一覧が戻ったのは解析が復旧したことを示すだけで、すべてのリモートノードが使えるとは限りません。

失敗するたびにすぐ更新を繰り返さないでください。短時間に何度もリクエストすると頻度制限がかかり、元の形式の問題とは別にアクセスできなくなるおそれがあります。ログに429が表示されたら、リクエストを止め、サーバーの案内に従って待ってから再試行してください。待ち時間の案内がない場合は、提供元に制限のルールを確認しましょう。

7. サブスクリプションのトラブル対処:よくある質問と復旧確認

ブラウザーではサブスクリプションを開けるのに、クライアントがタイムアウトするのはなぜ?

まずブラウザーに表示されているのがログインページではなくノード情報であることを確認し、ブラウザーとクライアントのネットワーク経路を比較してください。v2rayNでは、対象のサブスクリプションを直接接続とプロキシ経由の両方で更新し、それぞれのログを残します。ブラウザーのログイン状態がクライアントに引き継がれるわけではありません。

システムプロキシとTUNを両方有効にする必要はある?

2つのモードを同時に有効にする必要はありません。まず使えるノードと有効なアクセス経路をひとつずつ確認してから、サブスクリプションの更新を試してください。「プロキシ経由」を選んだ場合は、複数の通信モードを重ねるのではなく、クライアントが使うローカルプロキシを利用できるか確認します。

Androidでインポートしてもノードが表示されない場合、どこを確認すればよい?

v2rayNGまたはv2flyNGのメニューから「サブスクリプショングループ設定」を開き、URLとグループが保存されていることを確認してから更新します。メニュー名はバージョンによって多少異なる場合があります。単一の共有リンクを貼り付けた場合は、「クリップボードからインポート」を使ってください。

サブスクリプションURLを取得し直すと、古いノードはすぐに使えなくなる?

サブスクリプショントークンはノード一覧を取得する権限を管理し、ノードの認証情報は接続する権限を管理します。両者は別の情報ですが、提供元が同時にリセットする場合もあります。まずリセット操作の説明を確認し、使える設定を保存してください。リセット後はグループを更新して接続テストを行い、古いノードが引き続き使えると決めつけないでください。

クライアントをダウンロードWindows · Android · macOS · Linux