サブスクリプションは登録済みなのに、「サブスクリプションの更新」を押しても何も起きない——そんな v2rayN ユーザー向けの内容です。登録 URL の書き方、自動更新間隔、エラーメッセージ、システム時刻とプロキシ状態の 4 つの軸で解説し、失敗がダウンロード・デコード・設定書き込みのどの段階で止まっているかを判断できるようにします。あわせて自動更新間隔を 6 時間に安定して設定する方法も扱います。
サブスクリプション URL の 4 つの構成要素と書き方の誤り
サブスクリプション更新の失敗で最も多いのが、URL そのものが間違っているケースです。v2rayN が受け取った URL に対して行うのは、HTTPS リクエストを 1 回送り、返ってきた内容をノード一覧として解析する——この 2 つだけです。URL の 1 文字でも違えば、あとの設定が効くことはありません。
https://sub.example.com/api/v1/client/subscribe?token=8f3c1a7d&flag=v2rayn
// 構造:プロトコル + ドメイン + パス + クエリパラメータ(token)
// 以下の 2 行は単一ノードの共有リンクで、サブスクリプション URL ではありません
vmess://eyJ2IjoiMiIsInBzIjoi...
vless://[email protected]:443?security=tls
- プロトコルとドメイン:多くのパネルが発行するのは https で、一部の自建パネルは今も http です。両者を混ぜて書くことはできません。
- パス:/api/v1/client/subscribe のような形式で、大文字と小文字は区別されます。末尾にスラッシュが 1 つ余分にあるだけでも 404 が返ることがあります。
- クエリパラメータ:token はサーバー側で生成されるため、コピー時に末尾の文字を落としたり、余分な空白が入ったりしがちです。
- 返却内容:正常なら base64 テキストか素の JSON です。Web ページが返ってくるのは異常です。
一番手軽な自己チェックは、サブスクリプション URL をブラウザのアドレスバーに貼り付けて Enter を押す方法です。base64 の文字列か JSON が表示されれば URL は有効です。ログインページや 404 ページ、空白ページが出た場合は、まずプロバイダーに連絡して URL を再発行してもらい、その後でクライアント側の設定を調整してください。
サブスクリプションの自動更新:間隔を 6 時間に設定する
URL が有効だと確認できたら、次は更新のタイミングです。v2rayN のサブスクリプション更新には 2 つの入口があります。手動で実行する「サブスクリプション」メニューと、一定間隔で自動実行される更新です。間隔はパラメータ設定にあり、単位はバージョンによって変わるため、画面の表示に従って入力してください。
パラメータ設定を開く
メイン画面の上部メニュー「設定」→「パラメータ設定」を選び、設定ウィンドウを開きます。
サブスクリプションのタブに切り替え
設定ウィンドウの左側で「サブスクリプション」を選ぶと、右側に関連の入力項目が表示されます。
更新間隔を入力
「サブスクリプション更新間隔」を 6 時間に変更します。入力欄の単位が分の場合は 360 を入力してください。
設定を保存
「OK」を押して保存すると、設定はローカルの設定ファイルに書き込まれ、v2rayN を再起動しても有効なままです。
手動で 1 回確認する
メイン画面に戻り、「サブスクリプション」→「サブスクリプションの更新(プロキシ経由なし)」をクリックし、下部のログ欄で今回の更新時刻を確認します。
注意
間隔の単位はバージョンによって変わります。画面の表示が時間なら 6、分なら 360 を入力してください。分単位の入力欄に 6 をそのまま入れてはいけません。6 分ごとにサブスクリプションを要求することになり、サーバー側のレート制限に引っかかってかえって更新が失敗しやすくなります。
エラーメッセージと対処の対応表
エラーメッセージの全文はメイン画面下部のログ欄に表示され、ダイアログには要約しか出ません。切り分けはログの完全な文を基準にしてください。以下はサブスクリプション更新で最もよく見られる 4 つのメッセージです。
エラー:リモート サーバーがエラーを返しました: (404) 見つかりません。
原因と対処:サブスクリプションのパスまたは token が無効になり、サーバー側でこの URL が見つからない状態です。プロバイダーのパネルに戻ってサブスクリプション URL を丸ごとコピーし直し、「サブスクリプショングループ設定」で差し替えてから再度更新してください。
エラー:基になる接続が閉じられました: 送信時にエラーが発生しました。
原因と対処:システム時刻がサーバーと大きくずれ、TLS ハンドシェイクが拒否されています。OS の時刻自動同期を有効にし、ずれが 1 分以内であることを確認してから再試行してください。
エラー:リモート名を解決できませんでした: 'sub.example.com'
原因と対処:DNS の名前解決に失敗しています。システムの DNS を 223.5.5.5 や 1.1.1.1 といったパブリック DNS に変更し、コマンドラインで ipconfig /flushdns を 1 回実行してから再試行してください。
エラー:サブスクリプションの内容が空 / 更新後のノード数が 0
原因と対処:URL がログインページやエラーページを返しており、内容をノードとしてデコードできません。ブラウザでサブスクリプション URL を開くと、正常なら base64 テキストが表示されます。Web ページが表示される場合は URL かアクセス権限が間違っています。
切り分けの前にログ欄をクリアし、「サブスクリプションの更新」をもう一度クリックします。こうするとログには今回の操作の完全な記録、つまりリクエスト時刻・返却ステータス・解析結果だけが残ります。
サブスクリプション更新 1 回の流れ
この流れと上記のエラーを突き合わせれば、失敗した段階はほぼ特定できます。リクエスト段階の失敗は 404・タイムアウト・名前解決エラーとして現れます。ダウンロード段階では空の内容や Web ページが返ります。デコード段階ではノード数が想定より少なくなります。書き込み段階では更新は成功したのに一覧に表示されません。
- リクエスト段階:URL・DNS・プロキシ状態のいずれかが正しくなく、ログの文言が原因を直接示します。
- ダウンロード段階:接続は成功したものの内容がサブスクリプションではないケースで、URL の期限切れ、ログイン要求、サーバー側のエラーページ返却などが原因です。
- デコード段階:内容が途中で切れていたり説明文が混ざっていたりすると、base64 から取り出せるノード数が明らかに少なくなります。
- 書き込み段階:グループにキーワードフィルタを設定していると、除外されたノードは一覧に表示されないのに、更新ログは成功と表示されます。
システム時刻・DNS・プロキシ状態の確認方法
URL と間隔に問題がないのに更新が失敗する場合、残るのは 3 つのローカル要因です。いずれも v2rayN の設定項目ではありませんが、どれもサブスクリプション更新を止めてしまいます。
| ログの手がかり | 確認する項目 | 対処方法 |
|---|---|---|
| 基になる接続が閉じられました | システム時刻のずれ | 時刻の自動同期を有効にし、ずれを 1 分以内に収める |
| リモート名を解決できませんでした | DNS の名前解決 | 223.5.5.5 または 1.1.1.1 に変更し、ipconfig /flushdns を実行 |
| 操作がタイムアウト / 読み込みが終わらない | ローカルプロキシの状態 | システムプロキシをオフにし、「サブスクリプションの更新(プロキシ経由なし)」を使う |
| 更新は成功したのにノードが表示されない | グループとフィルタ | グループを展開して、キーワードフィルタを設定していないか確認 |
プロキシ状態は最も混乱しやすい項目です。v2rayN のシステムプロキシは 127.0.0.1:10809 を指しており、コアが起動していない、あるいは現在のノードが通じていないと、プロキシ経由のサブスクリプション要求はタイムアウトまで回り続けます。見分け方は簡単です。同じ URL で「サブスクリプションの更新」は失敗し、「サブスクリプションの更新(プロキシ経由なし)」は成功するなら、問題はサブスクリプション自体ではなくプロキシ経路にあります。
システム時刻も同じく具体的です。ずれが数分以上になると、まず HTTPS の証明書検証が失敗します。エラーメッセージはネットワーク障害のように見えますが、実際には OS の時刻自動同期を有効にするだけで解決します。
更新間隔の適切な値と 2 つの誤解
最初に触れた 6 時間に戻ります。間隔は短ければよいというものではなく、一度設定すれば永遠に放置してよいものでもありません。
- 5 分に設定した場合:1 日に 300 回近くリクエストすることになり、サーバー側のレート制限でかえって更新が失敗しやすくなります。ログにはタイムアウトや 429 などの応答が現れます。
- 7 日に設定した場合:ノードが差し替わってもローカルの一覧が長期間古いままになり、サブスクリプションは更新できても接続が失敗し続けるという症状になります。
- 6 時間に設定した場合:1 日 4 回のリクエストで、鮮度とリクエスト数のバランスが取れます。すぐに新しいノードを取得したいときは、「サブスクリプションの更新」を手動で 1 回クリックすれば済みます。
手順をもう一度確認します。まずブラウザでサブスクリプション URL を検証し、次に自動更新間隔を 6 時間に設定し、最後にログの文言に従ってシステム時刻・DNS・プロキシ状態に対処します。この 3 ステップを踏めば、サブスクリプション更新の失敗はほとんどが具体的な 1 か所に絞り込めます。
v2rayN をダウンロード
Windows・macOS・Linux のデスクトップ版と v2rayNG の Android 版の入口はダウンロードページにあり、メニューのパスは本記事と同じです。