更新タイムアウト、エラーステータスコード、更新後にノードが表示されない、定期更新が実行されない場合に役立ちます。既存のノードを残したまま、「URL・リクエスト経路・レスポンス内容・自動更新の条件」の順に確認しましょう。一度に変更するのは1項目だけにし、同じグループを手動更新した結果で改善を判断します。
まず確認:失敗しているのはサブスクリプションの取得か、ノードへの接続か
サブスクリプションの更新では、クライアントがHTTPまたはHTTPSのURLにアクセスして設定一覧を取得します。一方、ノードへの接続では、コアが一覧に含まれるサーバー情報を使って接続します。この2つは別の処理です。以前からあるノードが使えてもサブスクリプションURLが有効とは限らず、更新に成功しても新しいノードすべてに接続できるとは限りません。
どの段階で失敗したかを記録しましょう。403が表示される場合、リクエストは何らかのHTTPサービスに届いていると考えられます。connection refusedの場合は、ローカルのプロキシポートとリモートサービスのどちらが接続を拒否しているのかを確認してください。すべてのエラーを「ノードの障害」と決めつけないようにしましょう。
- 現在使えるグループは残し、ノード数、選択中のサーバー、エラー発生時刻を記録します。最初に一覧を消去しないでください。
- 問題のあるグループだけを更新し、複数グループのログが混ざらないようにします。v2rayNのメイン画面で今回のサブスクリプション操作の出力を確認し、プロキシ経路の確認にはコアのログも参照します。
- プロキシを使わない更新か、プロキシ経由の更新かを記録します。比較するときは同じURLを使用してください。
- エラーのキーワードとステータスコードを記録します。サービス提供元に問い合わせる際は、サブスクリプションURL全体、アクセストークン、アカウント情報を伏せてください。
サブスクリプションURLを確認:期限切れ、ログインページ、形式の不一致
v2rayNでは「サブスクリプショングループ」→「サブスクリプショングループの設定」を開き、対象グループを編集してURLを確認します。v2rayNGではサイドバーから「サブスクリプショングループの設定」を開き、該当項目のURLを確認してください。メニュー名はバージョンによって多少異なる場合がありますが、グループ名とURLを編集する画面を開く点は共通です。
サービス提供元のアカウントページからクライアント用サブスクリプションURLをコピーし直し、前後の空白、改行、日本語の引用符、チャットアプリによるパラメーターの欠落がないか確認します。URLにはアクセス情報が含まれることがあります。認証情報をリセットすると、見た目が似ていても古いURLはすぐに無効になる場合があります。
| 表示された内容 | 考えられる原因 | 次の対応 |
|---|---|---|
| HTTP 401 / 403 | 認証情報が無効、権限がない、またはゲートウェイに拒否された | アカウントの状態と新しいサブスクリプションURLを確認します。解決しない場合は、リクエスト元に制限があるかサービス提供元に問い合わせてください。 |
| HTTP 404 / 410 | URLのパスが存在しない、または古い入口が廃止されている | アカウントページからURLを取得し直してください。URLのパスを推測して変更しないでください。 |
| HTTP 429 | リクエスト頻度が制限されている | 連続で再試行せず、サーバーの案内に従って待ってから更新間隔を長くします。 |
| HTTP 200だが解析に失敗する | ログインページ、認証画面、または互換性のない設定形式が返されている可能性があります。 | レスポンスの種類を確認し、使用中のクライアントに合ったサブスクリプション形式を選びます。 |
| 更新成功だがノードが1つも追加されない | サブスクリプションが空、内容に変更がない、または項目を解析できない可能性があります。 | 「追加」件数だけで判断せず、更新前後の合計数とログを比較します。 |
同じURLで直結とプロキシ経由の更新を比較する
v2rayNの「サブスクリプショングループ」メニューには通常、「現在のサブスクリプションを更新(プロキシを使用しない)」や「現在のサブスクリプションを更新(プロキシを使用)」などの操作があります。すべてのサブスクリプションを更新する項目が別にある場合もあります。まず対象グループを選び、それぞれ1回ずつ試してください。システムプロキシのオン・オフと、サブスクリプションメニューで選ぶダウンロード方法は別の設定です。タスクバーのアイコンだけでリクエスト経路を判断しないでください。
- 直結では失敗し、プロキシ経由では成功する:プロキシ経由の更新を使い、ローカルネットワークからサブスクリプションのドメインを名前解決・接続できるか確認します。
- 直結では成功し、プロキシ経由では失敗する:まず使用中のノードやローカルのプロキシ待ち受けを修復します。サブスクリプションサービスがプロキシの出口を制限している可能性もあります。
- どちらも同じ403が返る:サブスクリプションの権限とサーバー側のルールを確認します。ローカルポートを何度も切り替えても、通常は解決しません。
- どちらもタイムアウトする:ネットワーク、DNSによる名前解決、サーバーの稼働状況を確認してから、サービス提供元に問い合わせるか判断します。
v2rayNGでは、まず使用できることが分かっている設定を起動し、メイン画面右上のメニューから「サブスクリプションを更新」を実行します。使用中のバージョンにプロキシ経由で更新する項目があれば、設定のオン・オフを記録してください。個別の項目がない場合、デスクトップ版のメニュー操作をそのまま当てはめることはできません。AndroidのVPN接続中という表示だけでは、サブスクリプションのリクエストが必ずリモートノード経由になっているとは判断できません。
結論:まず更新できる経路を1つ確保する
直結で更新できるなら、まずは直結を使います。プロキシ経由でしか更新できない場合は、使えるノードを少なくとも1つ残してください。古いグループを削除してから試すと、サブスクリプションの取得先と、ダウンロードに必要なプロキシ接続の両方を失うおそれがあります。
エラーのキーワード:タイムアウト、証明書、名前解決、ポート競合
エラーメッセージの表示言語は、OSやクライアントによって異なります。以下はよくある低レベルエラーの断片です。原因を特定するときは接続先と前後のログも確認し、1つのキーワードだけを根拠にネットワーク設定を一律に変更しないでください。
connection refused
原因と対処:接続先のポートが接続を拒否しています。接続先が127.0.0.1の場合は、ローカルのコアが起動しているか、プロキシポートが一致しているかを確認します。リモートアドレスの場合は、サーバーポートと稼働状況を確認してください。
context deadline exceeded
原因と対処:制限時間内にリクエストが完了しませんでした。直結とプロキシ経由の更新を比較し、接続、TLSハンドシェイク、レスポンスの読み込みのどこで止まるかを確認します。タイムアウト時間を延ばすだけでは、無効なURLは直りません。
no such host
原因と対処:ドメインを名前解決できません。サブスクリプションのドメインに誤りがないか、端末がネットワークに接続されているか確認してください。コアのログにノードのドメインが記録されている場合は、使用中のノードを調べます。すぐにサブスクリプションURLを変更しないでください。
x509: certificate has expired or is not yet valid
原因と対処:証明書の有効期間を確認できませんでした。端末の日付、時刻、タイムゾーンを合わせてください。時刻が正しい場合はサービス提供元に証明書の確認を依頼し、証明書検証を無効にして回避しないでください。
address already in use
原因と対処:ローカルの待ち受けポートが使用中です。重複して起動しているクライアントを終了するか、待ち受けポートを変更します。コアが正常に起動したことを確認してから、プロキシ経由で更新を試してください。
ローカルポートの確認例
「設定」→「パラメーター設定」でローカルの待ち受けポートに10808が設定されているとします。Windowsターミナルで次のコマンドを実行してください。このポート番号は調査用の例です。使用中のクライアントに表示されている値に置き換えます。HTTP、SOCKS、または混合のどの待ち受け方式を使うかも、現在の設定に合わせてください。
netstat -ano | findstr ":10808"
ローカルアドレスと、状態がLISTENINGの行を確認します。最後の列にあるPIDを控え、タスクマネージャーの「詳細」タブでプロセスを確認してください。使用中のコアが待ち受けているのは正常です。同じ待ち受けアドレスとポートを別のプロセスが使用している場合に限り、対処が必要です。ポート番号だけを見てプロセスを終了しないでください。また、バージョンごとに異なる一般的なポート番号を、固定の既定値だと決めつけないでください。
自動更新の設定:v2rayNとv2rayNGを個別に確認
まず手動更新に成功することを確認してから、定期更新を設定します。自動更新は設定した間隔でダウンロードを繰り返す機能であり、403、誤ったURL、互換性のない形式は解決できません。特に時間の単位を確認してください。分と時間では60倍の差があります。
| クライアント | 設定画面 | 設定と確認方法 |
|---|---|---|
| v2rayN | 「サブスクリプショングループ」→「サブスクリプショングループの設定」→対象グループを編集 | 「自動更新間隔(分)」または同等の項目を探します。たとえば6時間ごとに更新する場合、分単位の欄には360を入力します。 |
| v2rayNG | サイドバーの「サブスクリプショングループの設定」→対象グループを編集。サイドバーの「設定」にサブスクリプション更新の項目があるかも確認します。 | 現在のバージョンに自動更新のスイッチと間隔の項目があるか確認してください。単位が時間の場合、6時間ごとの設定は6です。デスクトップ版の360をそのまま入力しないでください。 |
| 定期更新に対応していないバージョン | グループの編集画面にも設定画面にも該当する項目がない | メイン画面の「サブスクリプションを更新」から手動更新するか、先にバージョンの説明を確認してからアップデートを検討してください。 |
v2rayNの一般的なバージョンでは、自動更新間隔はグループごとに保存されます。1つのグループを設定しても、ほかのグループで自動更新が有効になるわけではありません。項目の説明で0が無効を意味する場合は、0より大きい間隔を入力して保存します。画面に有効化スイッチが別にある場合は、それもオンにしてください。無効値や実行タイミングは使用中のバージョンの説明を確認し、保存後すぐに更新が始まると決めつけないでください。
v2rayNGの定期更新機能と設定画面はバージョンによって異なります。「更新を許可」など、グループを更新対象に含めるための項目を自動更新スイッチと混同しないでください。画面に定期更新機能が明示されている場合のみ、スイッチと間隔を設定します。項目がない場合、すべてのバージョンで共通する隠し設定の手順はありません。
- 間隔:まずは6~12時間、つまり360~720分を目安に設定できます。これは設定例であり、ソフトウェアの既定値ではありません。サービス提供元から頻度の指定がある場合は、その案内に従ってください。
- デスクトップの動作条件:クライアントを起動したままにしてください。アプリを終了している間や端末がスリープしている間は、予定時刻どおりにダウンロードされるとは限りません。復帰後に直近の更新履歴を確認してください。
- Androidのバックグラウンド動作条件:システムの「設定」→「アプリ」→「v2rayNG」で、バッテリーやバックグラウンドデータの制限を確認します。メニュー名は端末によって異なります。制限を解除しても、バックグラウンドタスクが分単位で正確に実行されるとは限りません。
- 結果の確認:次回の予定時刻を過ぎたら、最終更新時刻、ログ、ノード数を確認します。確認できる履歴がない場合は手動更新でネットワーク経路を調べてください。ノードの並び順が変わらないことだけを根拠に、失敗と判断しないでください。
よくある質問:更新に成功したのに変化がない場合の確認点
更新は成功と表示されるのに、ノードが変わらないのはなぜですか?
サーバー側で新しい一覧が公開されていない可能性があります。まず選択中のグループと更新ログを確認してから、ノードの合計数を比較してください。「新規追加0件」でも、更新に失敗したとは限りません。新しい項目が隠れていないか、検索欄、グループの絞り込み、並べ替えも確認します。
古いノードがすべて使えず、プロキシ経由でしかサブスクリプションを取得できない場合は?
まずサービス提供元に、直結で利用できるサブスクリプションURLか、一時的に使える設定を問い合わせます。元のグループは残し、削除と再作成を繰り返さないでください。利用可能な送信先が1つもない場合、「プロキシ経由で更新」を有効にしても接続は確立できません。
サブスクリプションURLを変更したのに、自動更新でエラーが続くのはなぜですか?
グループの編集画面を開き、新しいURLが保存されていることを確認します。同じ名前の古いグループが残っていないかも確認してください。新しいグループだけを手動更新し、成功したらそのグループの自動更新間隔を確認します。
更新後、ノードの遅延テストは通るのにWebサイトを開けません。サブスクリプションに問題がありますか?
遅延テストで確認できるのは、テストに使われた経路の一部が接続できることだけです。選択中のサーバー、システムプロキシまたはVPNの状態を確認してから、ルーティングとDNSを調べます。サブスクリプションの解析に成功している場合は、同じ一覧を繰り返しダウンロードせず、接続の問題として調査してください。
問題の解決後に残す記録
修復後は、再現に必要な最小限の情報を残します。同じ問題が再発したときは、すべての設定をやり直すより、この記録と比較するほうが効率的です。サブスクリプションURLは認証情報にあたるため、記録にはマスキングしたドメインだけを残し、トークン全体を保存しないでください。
- クライアント名とバージョン、OSのバージョン、失敗・復旧した具体的な時刻。
- 更新に成功した方法(直結またはプロキシ経由)。プロキシ経由の場合は使用した設定名。
- 最後に発生したエラーのキーワード、HTTPステータスコード、修復内容、更新後のノード合計数。
- グループごとの自動更新スイッチ、間隔と単位、端末のスリープやバックグラウンド制限の状況。
安定したら、必要な更新頻度だけを設定します。複数の端末で同じサブスクリプションを使う場合は、更新時刻をなるべくずらしてください。サービス提供元が認証情報をリセットした場合は、各端末のURLを変更する必要があります。クライアントのインストール方法と基本的なプロキシ設定は、サイト内の入門ガイドも参照してください。