先區分下載失敗與內容解析失敗,再依序檢查訂閱網址、HTTP 回應、編碼格式、代理路徑與用戶端版本。適合處理 v2rayN、v2rayNG 與 v2flyNG 更新後清單空白、部分節點遺失或直接出現格式錯誤的情況。
先判斷失敗發生在哪一層
訂閱更新不是單一動作,而是一條連續處理鏈。用戶端先讀取儲存的 URL,再透過直連或本機代理發出 HTTPS 請求;伺服器回傳本文後,用戶端辨識 Base64、分享連結清單或結構化設定,最後才將 VMess、VLESS 等項目寫入對應的訂閱群組。任一環節失敗,介面都可能只顯示「更新失敗」或節點數為零。
排查時不要一開始就刪除所有設定。先觀察更新時間、回應狀態與日誌關鍵字,判斷問題是「沒有取得內容」,還是「已取得內容但無法解析」。前者通常與網域解析、代理、憑證、存取權限和 HTTP 狀態有關;後者較常見於回應是網頁、編碼損毀,或協定欄位不受目前版本支援。
| 介面現象 | 優先檢查 | 常見判斷 |
|---|---|---|
| 立即提示連線失敗 | DNS、代理路徑、連接埠 | 請求尚未取得訂閱本文 |
| 等待數秒後顯示 403 或 404 | 連結有效期與存取權限 | 伺服器拒絕請求或資源已失效 |
| 更新成功但節點數為 0 | 回應內容與編碼 | 本文為空白、是網頁,或沒有可辨識的項目 |
| 僅匯入部分節點 | 用戶端版本與欄位支援 | 個別協定參數無法由目前用戶端辨識 |
結論:先區分請求錯誤與解析錯誤
日誌出現 HTTP 狀態碼、逾時或網域解析提示時,先修正網路請求;出現 Base64、JSON、URI 或欄位錯誤時,再檢查本文格式。顛倒順序只會增加無效操作。
依序執行六步自查
以下順序從低風險檢查開始,不會先覆蓋現有節點。以 v2rayN 7.14.3 的選單配置為參考,具體小版本可能調整文字位置,但訂閱群組、日誌與參數設定三類入口基本一致。Android 端可在 v2rayNG 或 v2flyNG 的訂閱設定與日誌頁面執行相同檢查。
備份目前設定
保留現有訂閱群組與可用節點,不要先清空清單。記下失敗群組的名稱、上次成功更新時間,以及本次錯誤原文,方便比較修復前後的變化。
核對完整連結
在 v2rayN 開啟「訂閱群組」→「訂閱群組設定」,確認 URL 開頭、網域、路徑、查詢參數與提供者給出的內容完全一致,尤其不要漏掉問號後的權杖。
先透過直連更新
選擇「訂閱群組」→「更新全部訂閱(不透過代理)」。如果直連成功,表示訂閱格式可被辨識,問題集中在本機代理連接埠、目前節點或路由規則。
再透過代理更新
切換回一般更新方式。如果只有透過代理才能成功,應檢查系統網路是否能直達訂閱網域;如果只有直連成功,則應檢查代理出口與訂閱網域分流。
查看日誌原文
開啟主視窗底部的日誌區域,在執行更新的時間點尋找 403、404、timeout、Base64、JSON、URI 等關鍵字,不要只根據頂部的簡短提示判斷。
更新用戶端後重新測試
保留群組設定並升級至下載頁提供的目前版本,重新啟動用戶端後只更新發生故障的群組,比較節點數量與日誌是否有變化。
單一群組失敗而其他群組正常時,通常不需要調整全域網路。優先檢查該 URL 的有效期、權限與回傳格式。所有群組同時失敗時,則應先檢查網路、系統時間、本機代理連接埠,以及用戶端是否遭防火牆阻止存取網路。
檢查訂閱連結與 HTTP 回應
訂閱 URL 通常包含用於識別帳戶的路徑或查詢參數。複製時少一個字元、連同結尾空格一起儲存,或只複製到換行位置,都會讓伺服器回傳不同結果。某些網址還帶有效期或裝置限制;即使舊連結的網域仍可存取,也可能回傳 401、403、404 或說明頁面。
瀏覽器能開啟連結,不代表用戶端一定能更新。瀏覽器可能已儲存登入狀態,也可能使用不同的系統代理;用戶端通常會直接請求 URL,並依訂閱格式解析本文。反過來,瀏覽器顯示一長串字元也不代表內容正確,只能表示伺服器確實回傳了文字。
錯誤:Response status code does not indicate success: 403 (Forbidden)
原因與解法:伺服器判定權杖無效、存取權限已變更,或請求來源不符合規則。重新取得目前的訂閱網址,完整取代舊 URL,不要只修改其中一段字元。
錯誤:Response status code does not indicate success: 404 (Not Found)
原因與解法:訂閱路徑已撤銷、遷移或複製不完整。返回訂閱提供頁面重新複製網址,並檢查路徑結尾與查詢參數是否齊全。
錯誤:The operation has timed out
原因與解法:請求在規定時間內未收到完整回應。分別測試直連更新與透過代理更新,再檢查 DNS、目前出口與伺服器連線狀況。
錯誤:The remote name could not be resolved
原因與解法:訂閱網域未取得有效的 DNS 結果。確認網域拼寫,切換至可用的 DNS 後重新連線,再執行一次單一群組更新。
如需進一步確認,可在可信任的環境中查看回應狀態、本文開頭與位元組數。正常訂閱通常回傳狀態 200,本文應包含可解碼文字、以協定前綴開頭的多行連結,或用戶端明確支援的結構化內容。若本文開頭是 HTML 標籤、登入提示、驗證碼說明或閘道錯誤文字,問題在伺服器回傳內容,而不是 VMess、VLESS 節點參數本身。
- 狀態 200 但本文長度只有幾十個位元組:檢查是否回傳「連結已失效」之類的純文字提示。
- 狀態 200 且本文以網頁標籤開頭:用戶端會將網頁當作訂閱解析,因此常出現 JSON 或 Base64 錯誤。
- 狀態 301 或 302:確認跳轉後的網址是否仍帶有授權參數,以及用戶端版本是否正確處理該跳轉。
- 狀態 429:短時間內請求次數過多,應停止連續重新整理,等待伺服器解除限制後再測試。
辨識 Base64、分享連結與格式錯位
傳統訂閱通常會將多行分享連結整體進行 Base64 編碼。用戶端下載本文後先解碼,再逐行辨識 vmess://、vless:// 等項目。也有訂閱直接回傳未編碼的分享連結清單,因此「不是 Base64」本身不一定是錯誤,關鍵在於用戶端能否辨識實際回傳格式。
VMess 單一節點連結與整份訂閱也可能各自包含編碼層。舊式 VMess 連結常在協定前綴後放置經過編碼的 JSON;VLESS 通常使用 URI 查詢參數表達傳輸方式、加密層與伺服器名稱。若提供端產生不完整的跳脫字元、遭截斷的編碼字串,或目前用戶端不支援新增欄位,可能只遺失個別節點,也可能讓整份訂閱停止解析。
dmxlc3M6Ly9leGFtcGxl
vless://[email protected]:443?type=ws&security=tls
<html>Access denied</html>
上面三類開頭分別可能代表 Base64 文字、明文分享連結與錯誤網頁。實際檢查只需查看類型特徵,不要將含有存取權杖的完整訂閱本文提交至公開解碼頁面。訂閱網址本身通常具備讀取節點清單的權限,應按照帳戶憑據妥善處理。
| 本文特徵 | 可能格式 | 處理方式 |
|---|---|---|
| 連續字母、數字及少量等號 | 整體 Base64 編碼 | 檢查是否遭截斷、混入空格或使用不相容字元 |
| 每行皆以協定前綴開頭 | 明文分享連結清單 | 確認用戶端版本支援對應協定與查詢欄位 |
| 以左大括號或方括號開頭 | JSON 或結構化清單 | 確認該結構屬於用戶端支援的訂閱格式 |
| 出現 html、title、Access denied | 網頁或閘道錯誤 | 修復連結權限、網路入口或伺服器回應 |
| 本文為空白 | 空白回應 | 重新產生訂閱,並確認帳戶中存在可用項目 |
錯誤:The input is not a valid Base-64 string
原因與解法:本文被當作 Base64 處理,但其中混入網頁提示、空格、非法字元,或內容遭到截斷。先確認 HTTP 回傳的實際本文,再重新取得完整訂閱。
錯誤:Unexpected character encountered while parsing value: <
原因與解法:解析器預期收到 JSON,卻在第一個位置讀到網頁標籤。檢查登入頁面、存取限制、閘道錯誤與跳轉結果,不要繼續修改節點欄位。
錯誤:Invalid URI: The format of the URI could not be determined
原因與解法:解碼後的某一行不是完整分享連結,常見原因包括換行錯誤、缺少協定前綴,或參數未正確跳脫。重新產生訂閱,並使用新版用戶端匯入。
結論:先看本文類型,再討論節點參數
只要回應實際上是網頁、空白文字或存取提示,調整 UUID、連接埠與傳輸參數都無法修復訂閱;應先讓用戶端取得正確清單。
排查代理、DNS 與本機連接埠
訂閱請求可以直連,也可以透過目前的代理出口。透過代理更新時,用戶端必須先有一個能啟動並連上網路的現有節點;如果目前節點已失效,訂閱請求也會一併卡住,形成「需要更新才能連線,但更新又依賴目前連線」的循環。此時使用不透過代理的更新入口,最容易確認問題。
本機連接埠也必須以用戶端的實際設定為準。v2rayN 常見的本機連接埠範例是 10808,但使用者修改參數、遷移設定或同時執行多個執行個體後,連接埠可能改變。不要因為系統代理仍寫著 127.0.0.1:10808,就認定用戶端目前仍在監聽該連接埠。
- 在「設定」→「參數設定」中核對本機監聽連接埠,並確認該連接埠未被其他程序占用。
- 暫時退出重複執行的 v2rayN 執行個體,再啟動一個主程式進行測試。
- 先停用依賴失效節點的代理更新方式,執行一次「更新全部訂閱(不透過代理)」。
- 如果直連失敗而代理成功,請檢查訂閱網域的 DNS 解析結果與直連路由。
- 如果代理失敗而直連成功,請檢查目前節點狀態、代理出站,以及訂閱網域是否被錯誤分流。
- 校準系統日期、時間與時區;明顯錯誤的系統時間會影響 HTTPS 憑證有效期判斷。
路由規則也可能將訂閱網域送往不可用的出口。例如規則依網域比對後指定一個已刪除的出站標籤,普通網頁仍能存取,但該網域的請求會持續失敗。暫時使用直連更新成功後,應回到路由設定核對網域規則、規則順序與出口標籤,而不是長期依賴反覆切換。
Android 端的排查邏輯相同。v2rayNG 使用 Xray 核心,v2flyNG 使用 v2fly 核心;訂閱下載由用戶端完成,節點連線才會交由對應核心處理。若訂閱在下載階段已回傳 403 或錯誤網頁,切換 Core 類型不會改變伺服器回應。
如何判斷用戶端版本與核心類型
用戶端版本過舊時,常見情況不是所有訂閱都失敗,而是新格式節點遺失、某些查詢參數被忽略,或匯入後無法產生有效設定。若訂閱提供端調整欄位命名、傳輸組合或輸出結構,舊版解析器可能無法相容。升級用戶端後應保留原有群組,針對相同 URL 重新更新,並以節點數量與日誌變化作為判斷依據。
| 現象 | 較可能的環節 | 建議動作 |
|---|---|---|
| 所有 URL 都無法下載 | 網路或用戶端請求層 | 檢查直連、代理、DNS、系統時間與防火牆 |
| 同一訂閱可在新版匯入 | 舊版解析器相容性 | 升級用戶端並重新更新該群組 |
| 可以匯入但核心啟動失敗 | 節點欄位或核心支援 | 查看核心日誌並核對 Core 類型 |
| 僅個別 VLESS 項目失敗 | 傳輸、安全參數或欄位組合 | 比較失敗項目與可用項目的查詢參數 |
| 節點數量正常但無法連線 | 連線階段而非訂閱階段 | 檢查伺服器位址、連接埠、路由與目前出口 |
在 v2rayN 中,「設定」→「參數設定」→「Core 類型」用於決定特定協定設定交由哪一類核心執行。此設定會影響節點啟動與設定產生,但不應被視為所有訂閱解析錯誤的通用開關。日誌明確顯示回應狀態、下載逾時或 Base64 失敗時,應優先處理上游問題。
Android 端需要區分 v2rayNG 與 v2flyNG 的核心路線。兩者都能讀取常見分享連結,但對特定新增欄位的支援進度可能不同。遷移訂閱時應先確認清單包含的協定與傳輸參數,再選擇相符的用戶端,不要只依據應用程式能否儲存 URL 來判斷相容性。
錯誤:Failed to parse subscription content
原因與解法:用戶端已取得本文,但沒有辨識出有效的訂閱項目。檢查本文類型並升級用戶端;若新版仍然失敗,應請訂閱提供端重新產生相容格式。
錯誤:Unsupported protocol
原因與解法:訂閱中包含目前用戶端或核心不支援的協定識別標記。確認項目確實屬於 VMess、VLESS 等支援類型,並更新至適用該格式的用戶端版本。
修復後如何驗證結果
單次更新顯示「成功」還不足以證明問題已完全解決。還應檢查群組更新時間、節點數量、節點欄位與實際連線。若原有 24 個節點更新後只剩 3 個,可能是訂閱端調整了清單,也可能是解析器略過其餘 21 個項目;此時日誌中的逐項警告比成功提示更有價值。
- 確認目標訂閱群組的更新時間已變更,而不是更新了另一個同名群組。
- 記錄更新前後的節點數量,例如從 0 恢復至 24,或從 24 異常降至 3。
- 隨機檢查一個 VMess 與一個 VLESS 項目的位址、連接埠、傳輸類型和伺服器名稱欄位。
- 啟動其中一個節點,確認核心日誌沒有設定產生錯誤或欄位不支援錯誤。
- 退出並重新啟動用戶端,再單獨更新一次該群組,確認結果可以重現。
如果更換網路後立即恢復,而原本的網路持續失敗,應重點檢查 DNS、存取策略與出口路由。如果重新產生 URL 後恢復,表示舊權杖或舊路徑已失效。如果只有升級用戶端後恢復,則應保留新版,並檢查其他訂閱群組是否也有被舊解析器略過的項目。
更新成功但清單仍然空白怎麼辦?
先確認更新的是目前顯示的訂閱群組,再檢查回應本文是否為空白、是否為網頁,以及群組篩選條件是否隱藏了新項目。日誌沒有解析出任何協定連結時,應重新取得訂閱。
瀏覽器能開啟,為什麼 v2rayN 仍顯示失敗?
瀏覽器與用戶端可能使用不同的代理路徑、DNS 與登入狀態。應比較用戶端日誌中的 HTTP 狀態與瀏覽器的最終回應,而不是只看頁面能否開啟。
可以反覆點選更新直到成功嗎?
不建議連續發出請求。若伺服器回傳 429 或設有頻率限制,反覆重新整理會延長等待時間。記錄一次完整錯誤,修正網路或連結後再重新測試,效率更高。
切換核心能修復 Base64 錯誤嗎?
通常不能。Base64 錯誤發生在訂閱本文解析階段,早於節點交由核心執行。應先檢查回應內容是否完整、是否混入網頁文字,以及用戶端解析器版本。
最終判斷:以可重現的結果結束排查
同一群組連續兩次更新得到一致的節點數量,重新啟動後仍能更新,且至少有一個節點可以正常產生設定,才能表示連結、解析與執行鏈路都已恢復。