サブスクリプションを登録済みで、更新がタイムアウトする、証明書エラーが出る、更新後にサーバーが表示されない v2rayN ユーザー向けです。既存の設定を残したまま、リクエストの失敗と内容の解析失敗を切り分けます。直接接続とプロキシ経由でそれぞれ更新を試し、原因を絞り込んだら、グループのフィルターと自動更新間隔を確認しましょう。「サーバーに接続できること」と「サブスクリプション URL にアクセスできること」は別のテストです。
失敗した段階を特定し、使える設定を残す
サブスクリプションの更新は、サーバーへの接続とは異なります。v2rayN はまずサブスクリプション URL にリクエストを送り、応答を受け取ってからサーバー設定を解析し、該当グループに追加します。DNS名前解決、TLSハンドシェイク、サーバー側の認証、内容の形式、ローカルのフィルターなど、さまざまな原因で失敗する可能性があります。原因を確認せずにサーバーのプロトコルやルーティング規則を変更しても、解決しないことがあります。
まずメイン画面のログ欄で、今回の更新記録を確認します。発生時刻、対象グループ、エラーの原文、更新方法を記録してください。バージョンによってメニュー名が多少異なる場合があります。以下では「サブスクリプショングループ」「サブスクリプショングループの設定」、更新メニューの「プロキシ経由/プロキシを使わない」を目印にします。
- 既存のサーバーを残す:調査を始める前に、サーバー一覧全体を消去しないでください。引き続き使える設定をバックアップしましょう。バックアップにはアクセス情報が含まれる場合があるため、安全な場所に保管してください。
- グループを1つに絞る:複数のURLを同時に更新してエラーが混在しないよう、まず対象のグループだけを更新します。
- 2種類の結果を区別する:タイムアウトや証明書エラーは取得段階の問題です。取得に成功してもインポート数が0件なら、応答形式とフィルター条件を確認します。
- 機密情報を隠す:ログを共有する前に、サブスクリプション URL 全体、クエリパラメーター、ユーザー識別情報、サーバーのパスワードを削除し、エラーの種類と必要なステータスコードだけを残してください。
サブスクリプション URL を確認する:URL全体、認証状態、内容の形式
「サブスクリプショングループ」→「サブスクリプショングループの設定」を開き、エラーが発生したグループの URL を確認します。サービス提供元が案内しているクライアント用のサブスクリプション URL を貼り付けてください。アカウントのログインページ、プラン詳細ページ、ブラウザーのアドレス欄に表示された管理ページではありません。URLの前後にある空白や改行、全角の引用符、クエリパラメーターの欠落によって、正常な URL が使えなくなることがあります。
| 確認できた結果 | まず考えられる原因 | 次に行うこと |
|---|---|---|
| HTTP 401 または 403 | 認証の失効、アクセス制限、またはセキュリティ機能によるブロック | サービス提供元の管理ページで状態を確認し、有効なサブスクリプション URL をコピーし直します。ステータスコードだけでプランの期限切れと判断しないでください。 |
| HTTP 404 または 410 | URLのパスが無効、またはリソースが削除済み | 最新の URL を確認し、パスやパラメーターのコピー漏れがないか調べます。 |
| HTTP 429 | リクエスト頻度の制限 | 連続して更新するのをやめ、応答の Retry-After またはサービス提供元が指定する待ち時間に従います。 |
| HTTP 200 だが、内容がWebページ | ログインページ、認証ページ、またはエラー説明ページを受信している | 最終的な応答内容とサブスクリプション形式の設定を確認します。成功を示すステータスコードでも、内容をインポートできるとは限りません。 |
| 内容は取得できるが、インポート数が0件 | 形式に互換性がない、サブスクリプションが空、またはフィルター条件ですべて除外されている | v2rayN 対応のサブスクリプション形式を選び、グループのフィルターを確認します。 |
単体の vmess:// または vless:// 共有リンクと、継続的な更新に使う HTTPS サブスクリプション URL は用途が異なります。前者は通常「クリップボードからインポート」などの操作で取り込み、後者はサブスクリプショングループに登録します。任意の設定テキストをサブスクリプション URL として扱わないでください。また、エンコードされた文字列に見えるからといって、現在のクライアントと互換性があるとは限りません。
直接接続とプロキシ経由の更新を比較して、ネットワーク経路を確認する
「サブスクリプショングループ」メニューから「すべてのサブスクリプションを更新(プロキシを使わない)」と「すべてのサブスクリプションを更新(プロキシ経由)」をそれぞれ試します。使用中のバージョンに対象グループだけを更新するコマンドがあれば、そちらを優先してください。それぞれ1回ずつ試して結果を記録します。DNS、TUNモード、サーバーを同時に変更すると、どの変更が効果をもたらしたのか判断できません。
-
直接接続での結果を記録する
「プロキシを使わない」更新コマンドを選択します。ドメインを解決できないというエラーが出た場合は、まず端末のネットワーク、DNS、ネットワーク認証を確認してください。HTTPステータスコードが返る場合は、HTTP応答を返すエンドポイントまでリクエストが届いています。URL、認証、中間でのブロックを調べましょう。
-
プロキシが使えることを確認する
すでに使えることが分かっているサーバーを選び、コアを起動します。一覧の遅延時間を見るだけでなく、実際にアクセスして動作を確認してください。使えるサーバーがない場合、プロキシ経由の更新では「更新するには接続が必要だが、接続するには更新が必要」という状態になることがあります。
-
ローカルの待ち受けを確認する
「設定」→「パラメーター設定」を開き、ローカルの待ち受けポートと実際の動作状態を確認します。ログにローカルアドレスへの接続拒否が表示される場合は、まずコアの待ち受けを復旧してください。ポート番号は現在の設定に従い、ほかの解説記事にある数値をそのまま使わないでください。
-
続いてプロキシ経由で更新する
「プロキシ経由」の更新コマンドを選び、同じ URL での結果を比較します。プロキシ経由では成功し、直接接続では失敗する場合、2つのネットワーク経路に違いがあります。直接接続では成功し、プロキシ経由では失敗する場合は、使用中のサーバー、コア、プロキシの出口側のアクセス制限を優先して確認してください。
結論:成功する経路を固定してから、ほかの設定を変更する
一方の更新方法だけが成功する場合は、まずその方法でサブスクリプションを復旧し、使えるサーバーを残してください。システムプロキシのオン/オフは、更新メニューの経路選択の代わりにはなりません。また、「プロキシ経由」を選んでも、すべてのリクエストが必ず同じリモート出口を通るとは限りません。実際の動作はクライアントの実装やコアのルーティングに左右されます。
ブラウザーで URL を開けたとしても、参考情報にしかなりません。ブラウザーと v2rayN では、使用するプロキシ、ログイン状態、証明書の信頼環境が異なる場合があります。ブラウザーで使える条件が v2rayN に引き継がれるとは限りません。ホテルや公共のネットワークでは、認証ページではなくサブスクリプションの内容を取得できるよう、先にネットワーク認証を完了してください。
TLS証明書エラーに対処する(検証は無効にしない)
サブスクリプション URL が HTTPS の場合、クライアントはサーバー証明書の有効期間、ドメイン名、信頼チェーンを検証します。まずシステムの日付、時刻、タイムゾーンを正しく設定し、URLのホスト名がサービス提供元の案内と一致することを確認してください。ドメイン名を安易に IP アドレスへ置き換えないでください。証明書のホスト名不一致を招くほか、接続先サーバーの選択が変わることもあります。
エラー:The SSL connection could not be established, see inner exception.
原因:TLS接続の確立に失敗したことを示す概要メッセージです。この一文だけでは、証明書、プロトコル、中間機器のどれが原因か判断できません。対処:内部例外の内容を確認し、まずシステム時刻を調べてから、証明書チェーンまたは名称のエラーに対処します。
エラー:The remote certificate is invalid because of errors in the certificate chain: NotTimeValid
原因:証明書チェーンに有効期間外の証明書が含まれているか、端末の時計が正しくありません。対処:システム時刻を同期して再試行します。時刻が正しくてもエラーが続く場合は、証明書の有効期間についてサブスクリプションサービスの提供元に問い合わせてください。
エラー:The remote certificate is invalid according to the validation procedure: RemoteCertificateNameMismatch
原因:リクエスト先のホスト名が、証明書の対象ドメインと一致していません。対処:サブスクリプションのドメイン名とリダイレクト先を確認します。IP アドレスへの変更や証明書検証の無効化で回避しないでください。
具体的な英語のエラーメッセージは、システム、ランタイム、クライアントのバージョンによって異なります。証明書チェーンが信頼されていない場合は、OSの更新状態とルート証明書の状態を確認してください。社内ネットワークでのみ発生する場合は、管理された HTTPS 検査機器の有無を確認し、信頼設定の導入について管理者に相談します。出所不明のサイトからルート証明書をダウンロードして、システムにインストールしないでください。
更新に成功したのにサーバーが表示されない:グループとフィルターを確認する
ログにダウンロード完了と表示されても、一覧に項目が追加されたとは限りません。まず、更新したサブスクリプショングループに切り替え、メイン画面の検索条件をクリアしてから、「サブスクリプショングループの設定」でそのグループのフィルター条件を確認してください。キーワードや正規表現のフィルターが設定されている場合は、一時的に解除して保存し、もう一度更新します。結果を確認したら、フィルターを1つずつ戻してください。
- 応答内容を確認:サービス提供元から空のサブスクリプション、アカウント状態の説明、または現在のクライアントが対応していない設定形式が返されている可能性があります。v2rayN 向けの形式を優先し、出所の分からないWebサイトで変換しないでください。
- 対象グループを確認:操作対象が現在のグループか、すべてのグループかを確認します。また、表示中の一覧が別のサブスクリプションのサーバー一覧でないかも確認してください。
- 解析メッセージを確認:一部の項目がスキップされている場合は、使用中のバージョンがそのリンク形式やプロトコルパラメーターに対応しているか確認します。解析失敗をネットワークのタイムアウトと取り違えないでください。
- フィルター条件を確認:地域名のキーワード、除外条件、誤った正規表現によって、すべてのサーバーが除外されている可能性があります。まず一覧全体を表示し、必要最小限の条件から追加してください。
新しくインポートしたサーバーに接続できない場合は、次の段階の問題です。サーバーのアドレス、ポート、認証パラメーター、トランスポート設定、コアのログを確認し、サブスクリプションの更新を繰り返すのはやめましょう。VMess と VLESS は接続プロトコルに関する設定であり、サブスクリプションはそれらの設定を配布する手段です。両者を混同しないでください。
自動更新間隔を設定し、頻繁な再試行を防ぐ
まず手動で一度更新に成功してから、自動更新を有効にします。「サブスクリプショングループ」→「サブスクリプショングループの設定」→対象グループの編集を開き、「自動更新間隔(分)」を探してください。バージョンによっては「自動更新間隔」と表示され、単位が横に記載されている場合もあります。画面に表示された単位で入力して保存してください。分を秒と取り違えないようにしましょう。画面に「0 は無効」と表示される場合は、0 を入力するとそのグループの定期更新を停止できます。
上記は設定の目安であり、サービス提供元による保証でも、クライアントの初期設定値でもありません。設定の変更が少ない場合は、1440分から始めるとよいでしょう。変更をより早く反映したい場合は、サービス提供元の制限に合わせて間隔を短くします。429が返されたら、更新ボタンを連続で押すのをやめてください。間隔を1分にしても、認証、証明書、形式の問題は解決しません。
- 動作条件を確認:自動更新には、クライアントが起動していてネットワークが利用できることが必要です。PCがスリープ中、アプリが終了しているとき、ネットワークが切断されているときは、予定どおりに更新されるとは限りません。
- 更新経路を確認:自動更新時のプロキシの扱いはバージョンによって異なる場合があります。直前に手動メニューで選んだ設定が引き継がれると決めつけず、使用中のバージョンの関連設定を確認し、次回の実行後にログを確認してください。
- 1周期分を確認:設定を保存したら、次回以降の更新記録とグループの内容を確認します。検証のために一時的に間隔を短くする場合も、サービス提供元のリクエスト制限を守り、検証後は通常の値に戻してください。
- 問題の記録を残す:更新時刻、更新方法、ステータスコード、解析された項目数を記録します。それでも失敗する場合は、この情報を添えてサービス提供元またはクライアントのサポート窓口に問い合わせると、「更新できない」と伝えるだけの場合より原因を特定しやすくなります。
結論:手動更新に成功したら、定期更新を確認する
確認は「URLが有効」「リクエストに成功」「項目を解析」「一覧に表示」「定期的に実行」の順に進めます。最初の4項目が未完了なら、該当する段階の問題を先に解決してください。最初の4項目が成功していて自動更新だけが失敗する場合は、間隔の単位、クライアントの動作状態、定期更新時のネットワーク経路を確認します。