訂閱更新失敗排查:v2rayN、v2rayNG 自動更新設定

整理訂閱連結失效、代理更新、憑證與格式錯誤等原因,並說明 v2rayN、v2rayNG 的定時更新設定。

本文重點

適用於訂閱更新逾時、匯入後沒有節點、手動更新正常但排程更新未執行等情況。先分辨連結、網路與內容格式,再分別設定桌面版和 Android 版的更新排程。排查時保留原有分組,每次只變更一個條件;確認手動更新成功後,再啟用自動更新。

訂閱更新流程:先找出失敗環節

訂閱是用戶端管理節點清單的功能,不是 V2Ray 或 Xray 核心 JSON 的頂層欄位。更新時,用戶端會連線至訂閱網址、取得回應內容,再將其中的節點轉換成本機設定。修改 routing 無法修復已失效的訂閱權杖;更換核心也無法讓登入頁面變成有效訂閱。

讀取訂閱網址 建立網路連線 取得回應內容 解析節點格式 寫入訂閱分組

「更新失敗」和「節點無法使用」是兩回事。前者發生在取得或解析清單時;後者則發生在節點匯入後,實際建立代理連線時。舊節點仍可使用但更新失敗,應優先檢查訂閱網址和更新通道;更新成功但無法開啟網頁,則需另外確認節點參數、本機代理與路由設定。

連結失效與狀態碼:先確認訂閱網址有效

請從服務商的帳戶頁面重新複製「訂閱網址」,不要複製帳戶首頁、節點詳情頁或 QR Code 圖片網址。連結中的查詢參數通常包含授權權杖,少一個字元、貼上時帶入換行,或仍使用已重設的舊權杖,都可能造成更新失敗。方案到期是否會使訂閱失效,取決於服務端政策,不能只看單一狀態碼就下結論。

401
缺少授權或憑證無效
403
伺服器拒絕存取
429
請求過於頻繁

以上數字是 HTTP 狀態碼,不是用戶端錯誤編號。403 也可能來自存取政策或防護頁面;404 可能表示舊路徑已撤除;即使回傳 200 也不代表內容正確,因為登入頁面同樣可能回傳成功狀態。

  1. 在原有分組中確認連結的開頭與結尾,清除複製時帶入的空格和換行,不要手動刪改權杖參數。
  2. 前往服務商帳戶頁面確認有效期限及訂閱是否已重設;必要時重新複製網址並取代舊網址。
  3. 收到 429 後,請勿連續點選更新;若回應中提供 Retry-After,請依指示等待。
  4. 需要尋求協助時,只提供時間、狀態碼、用戶端版本與已遮蔽敏感資訊的記錄,不要公開完整訂閱連結。

結論:授權錯誤先換連結,不要先換網路

若連續收到相同的授權錯誤,請先確認帳戶與權杖。只有確認網址有效後,比較直連與代理的測試結果才有判斷價值。

透過代理更新:避免失效節點卡住訂閱更新

「透過代理更新訂閱」控制的是取得訂閱內容時使用的網路通道,不代表將所有應用程式改為全域代理。v2rayN 的「更新訂閱(不透過代理)」與「更新訂閱(透過代理)」可用來比較:使用同一分組與同一網址,依序測試兩種通道並記錄結果。

測試結果優先判斷下一步
直連成功,代理失敗目前的代理連線不可用暫時使用直連更新,再檢查所選節點
直連失敗,代理成功目前網路無法直接連線至訂閱來源保留可用節點,再設定透過代理更新
兩種通道都回傳 401需要確認連結憑證重新取得有效的訂閱網址
兩種通道都逾時訂閱來源或網路連線異常更換網路後重新測試,並確認服務端狀態

如果更新必須透過代理,而目前分組中的節點全都失效,就會形成循環依賴。此時可先嘗試直連更新,或使用已確認可用的其他節點取得新清單;反覆重新啟動同一個失效節點,通常無法打破這個循環。

憑證、逾時與格式錯誤:依記錄內容排查

請針對單次更新查看記錄。先記下更新時間,再查看相應的錯誤行,避免將節點測速或瀏覽網頁的錯誤混在一起。以下是常見的底層錯誤片段,不同系統與版本可能會附帶更多資訊。

錯誤:certificate has expired

原因:服務端憑證已過期,或本機時間錯誤,導致有效期限判斷異常。解決方式:先校正日期、時間與時區;若時間正確,請聯絡訂閱服務商處理憑證問題,不要長期關閉憑證驗證。

錯誤:Connection refused

原因:目標連接埠未接受連線,也可能是本機代理尚未啟動。解決方式:先查看錯誤中的目標位址,分辨本機代理連接埠與遠端訂閱伺服器,再檢查對應服務。

錯誤:timeout

原因:請求未能在指定時間內完成,可能卡在解析、連線或讀取階段。解決方式:比較直連與代理的結果,並更換網路重新測試;只有確認回應確實緩慢時才適度延長逾時時間,避免用漫長等待掩蓋錯誤網址。

錯誤:Illegal base64 character

原因:解碼器收到不符合預期編碼的內容,常見情況是回應內容為錯誤頁面,或訂閱格式不相符。解決方式:確認回應本文與用戶端支援的格式,不要對錯誤內容一再嘗試解碼。

訂閱回應可能是由節點分享連結組成的文字,也可能採用 Base64 編碼。瀏覽器下載到看似隨機的一段文字,不一定代表內容已損毀;若出現 <html>、登入表單或存取驗證提示,就應回到服務端處理授權或存取限制。瀏覽器可能帶有登入 Cookie,而用戶端通常沒有,因此「瀏覽器能開啟」不能單獨證明用戶端能正常訂閱。

v2rayN 自動更新訂閱:依分組設定更新間隔

v2rayN 桌面版請先手動更新一次,再設定定時工作。常見介面路徑為主視窗「訂閱分組」→「訂閱分組設定」,接著在目標分組的編輯視窗設定「自動更新間隔」。不同介面版本的按鈕位置和欄位單位可能不同,請以目前視窗顯示的單位為準。

  1. 確認目標分組

    開啟「訂閱分組」→「訂閱分組設定」,編輯需要更新的分組,確認訂閱網址與啟用狀態。先保留原有節點,避免排查期間遺失可用設定。

  2. 手動更新確認

    儲存後返回「訂閱分組」,選擇「更新訂閱(不透過代理)」;若訂閱來源需要代理,再選取可用節點並測試「更新訂閱(透過代理)」。確認記錄顯示成功,且節點清單有預期的變化。

  3. 設定更新間隔

    返回分組編輯視窗,設定自動更新間隔。建議先設為每 6 小時更新一次:欄位標示「分鐘」時填入 360,標示「小時」時填入 6;不要直接照抄不同版本的數字。

  4. 儲存並觀察

    儲存設定並讓程式保持執行,在預定時間過後查看記錄。若另有更新通道選項,請使用前一步已確認成功的通道;手動選擇透過代理更新,不一定會變更背景工作的通道設定。

自動更新不是常駐於系統的下載服務。程式結束、電腦關機或進入睡眠期間,都不能期待它依照原定時間連線更新。恢復後是否會補執行取決於版本的實作方式,因此請查看記錄中的實際更新時間,不要只憑系統匣圖示判斷工作已完成。

v2rayNG 自動更新訂閱:同時確認設定與背景權限

Android 版先從側邊選單的「訂閱分組設定」確認網址,再返回主畫面,透過右上角選單執行「更新訂閱」。是否支援定時更新、間隔能否編輯,請以已安裝的版本為準;不要將「啟動時更新」視為持續執行的定時工作。

  1. 確認手動更新

    進入「訂閱分組設定」並儲存有效網址;返回主畫面,開啟右上角選單→「更新訂閱」。確認至少成功更新一次後,再設定背景執行。

  2. 啟用自動更新

    開啟側邊選單→「設定」,找到「自動更新訂閱」並啟用。若目前版本提供更新間隔欄位,可先設為 6 小時;若欄位以分鐘計算,請填入 360。若沒有間隔欄位,請使用應用程式提供的排程方式,不要假設另有隱藏開關。

  3. 允許背景執行

    長按應用程式圖示→「應用程式資訊」→「電池」,允許背景活動;部分裝置會顯示為「不受限制」。也請檢查「行動數據和 Wi-Fi」或「數據用量」中的背景數據權限,選項名稱依系統而異。

  4. 確認鎖定螢幕後的結果

    記下手動更新時間,鎖定螢幕後等待一個設定週期,再查看更新記錄或時間紀錄。若該版本未顯示時間,可透過記錄與節點內容變化輔助判斷;節點數量未變不代表更新失敗。

v2rayNG 使用 Xray 核心,但訂閱取得與背景排程是由用戶端實作。不要為了修復定時工作而修改核心的 policy,或自行新增不存在的 subscription 欄位;這些修改無法取代應用程式設定。

更新後的確認:清單更新成功不代表連線成功

訂閱更新通常會重建分組內容。節點名稱、順序與數量都可能改變,服務商撤下的舊節點也可能消失。若有手動維護的節點,請先匯出或移至獨立分組,避免與訂閱管理的項目混在一起。

結論:先確認更新成功,再設定排程

將有效連結、可用的更新通道與成功記錄作為自動更新的前提。一般節點清單不需要每分鐘請求一次;先從每 6 小時更新開始,再依服務商規則調整,避免頻繁失敗而觸發流量限制。

排查記錄保留四項即可:用戶端版本、發生時間、直連或代理,以及完整錯誤片段。對外傳送前,請移除訂閱權杖與帳戶資訊。這樣既能區分本機背景限制與服務端故障,也方便升級或更換網路後再次測試。

下載 v2rayN