這份清單適合處理 v2rayN、v2rayNG 或 v2flyNG 的訂閱下載失敗、解析錯誤,以及更新後節點清單為空的問題。檢查順序固定為連結、回應內容、編碼格式、更新通道、協定相容性與本機環境;每完成一步就重新更新並記錄結果,通常能將問題定位在用戶端、網路或訂閱服務的其中一層。
先確認失敗發生在哪個環節
「訂閱失效」不是單一故障。用戶端更新訂閱時,至少要完成讀取網址、解析網域名稱、建立連線、接收回應、解碼內容與識別節點六個環節。前四個環節失敗時,通常會出現逾時、連線遭拒或 HTTP 狀態錯誤;後兩個環節失敗時,常見情況是請求顯示成功,但節點數量為 0。
開始排查前,先保留原有訂閱分組,不要連續刪除、重建或批次修改節點。以 v2rayN 7.x 為例,可先開啟主視窗中的記錄區域,再執行「訂閱分組」→「更新全部訂閱」。Android 端則在 v2rayNG 或 v2flyNG 的訂閱分組頁面單獨更新目標分組,並記下彈出的完整錯誤訊息。
判斷位置時查看兩個結果:請求是否取得有效回應,以及回應是否產生節點。如果記錄停在連線階段,優先檢查第四項更新通道和第六項本機環境;如果已收到數千位元組內容卻沒有節點,優先檢查第二項回應類型、第三項編碼格式和第五項協定相容性。
第一項:檢查訂閱連結是否完整或已過期
訂閱網址最常見的問題是複製不完整。帶有查詢參數的連結通常包含問號、等號和多個參數,聊天軟體換行、瀏覽器省略顯示或手動選取文字,都可能截掉結尾的權杖。只少一個字元,伺服器就可能回傳未授權、空內容或一般錯誤頁面。
在 v2rayN 7.x 中進入「訂閱分組」→「訂閱分組設定」,選取目標分組後核對網址。不要只查看輸入框顯示的開頭和結尾,可全選後重新複製,再與來源頁面逐字比對。v2rayNG 和 v2flyNG 也應進入訂閱分組編輯頁,確認網址前後沒有空格、中文引號或換行。
錯誤:The remote server returned an error: (401) Unauthorized
原因與解法:訂閱權杖無效、已過期或複製不完整——重新取得完整訂閱網址,替換舊分組中的網址後再更新。
錯誤:unsupported protocol scheme
原因與解法:網址缺少正確的網路協定前綴,或開頭混入空格——確認連結以有效的 HTTPS 網址開頭,並刪除網址兩端的空白字元。
錯誤:404 Not Found
原因與解法:請求路徑已變更或網址遭截斷——從訂閱管理頁面重新複製,不要依照舊網址手動補寫路徑。
- 確認訂閱網址是一整行文字,開頭和結尾都沒有空格。
- 確認問號後的查詢參數完整,尤其不要遺漏等號後的權杖內容。
- 確認目前訂閱仍在有效期內,且伺服器端沒有產生新的網址。
- 只替換網址,不要先刪除現有節點,以便更新失敗時保留原有設定。
如果連結來自 QR Code,掃描後也要查看實際文字。QR Code 可能承載單一 VMess 或 VLESS 節點,而不是訂閱網址;將單節點連結填入訂閱輸入框,部分用戶端會直接顯示格式錯誤,另一些用戶端則會更新成功,但無法建立訂閱分組。
第二項:確認伺服器回傳的是訂閱內容
連結能開啟不代表回傳內容正確。訂閱伺服器可能回傳登入頁、到期提示頁、存取頻率限制頁或跳轉頁,這些內容在瀏覽器中看似正常,但用戶端期待的是節點連結清單或約定格式的資料。收到 HTML 後繼續按訂閱文字解析,就會出現字元錯誤或節點為空。
可在瀏覽器中開啟訂閱網址查看結果,但不要公開網址或將完整權杖貼到公開頁面。有效回應通常是一段連續編碼文字,或由多行協定連結組成;如果頁面出現「登入」「方案到期」「請求過於頻繁」等提示文字,應先處理帳戶狀態或等待限制解除。
有效的多行訂閱結構示意:
vmess://編碼後的節點資料
vless://使用者資訊@server.example.net:443?security=tls&type=ws
明顯不是訂閱內容的回應:
<html>
<title>Sign in</title>
</html>
| 查看結果 | 可判斷的問題 | 下一步 |
|---|---|---|
| 回傳 401 或 403 | 權杖無效、權限失效或不符合存取條件 | 重新產生訂閱網址並替換舊網址 |
| 回傳 404 | 訂閱路徑變更或連結遭截斷 | 從原管理頁面重新複製完整連結 |
| 回傳 429 | 短時間內更新次數過多 | 停止重複重新整理,間隔 10 至 30 分鐘後再試 |
| 回傳 HTML 頁面 | 跳轉至登入、到期或攔截頁面 | 處理頁面提示,不要繼續調整用戶端核心 |
| 回傳文字但大小為 0 位元組 | 伺服器產生任務異常或目前分組為空 | 在伺服器端確認訂閱至少包含一個有效節點 |
還要注意重新導向。某些訂閱網址會先回傳 301 或 302,再跳轉至暫時下載網址;如果中途跳轉要求額外驗證,用戶端可能無法取得最終內容。此時應使用伺服器端直接提供的用戶端訂閱網址,而不是從瀏覽器網址列複製跳轉後的暫時連結。
第三項:核對編碼方式與換行格式
伺服器已回傳內容,但解析仍失敗時,重點檢查編碼。常見訂閱是經過 Base64 編碼的多行節點清單,也有服務直接回傳以換行分隔的 VMess、VLESS 等連結。用戶端需要先識別外層格式,再逐行解析協定欄位;外層多出一個網頁標記、內部少一個字元或換行方式異常,都可能導致整份清單匯入失敗。
不要使用文書處理軟體編輯訂閱內容後再匯入。自動替換引號、插入段落符號和變更換行,都會破壞 URI。確實需要進行離線診斷時,只儲存為 UTF-8 純文字,並確認每個節點連結各自佔一行,行首沒有編號、項目符號或空格。
錯誤:illegal base64 data at input byte
原因與解法:外層編碼遭截斷、混入空格或使用了用戶端未正確識別的變體——重新取得原始回應,不要手動拼接編碼文字。
錯誤:invalid character '<' looking for beginning of value
原因與解法:用戶端將 HTML 頁面當作 JSON 或訂閱資料讀取——返回第二項檢查回應頁面和 HTTP 狀態。
錯誤:failed to parse subscription content
原因與解法:訂閱外層格式或其中某一行不符合用戶端可識別的結構——先匯入只含一個已知有效節點的測試訂閱,確認解析器本身可以正常運作。
- 回應開頭出現
<html或<!doctype:這是網頁,不是訂閱資料。 - 解碼後每行都以協定名稱開頭:檢查是否存在空行以外的說明文字。
- 只有某一行匯入失敗:單獨移除該行再測試,問題通常位於該節點欄位。
- 所有行都失敗:優先檢查外層編碼、字元集和用戶端支援的訂閱格式。
「節點數量為 0」也可能是伺服器端依用戶端類型回傳了不同格式。若管理頁面提供 v2rayN、v2rayNG 或通用訂閱選項,應選擇與目前用戶端對應的類型,不要將其他軟體使用的設定格式直接交給 V2Ray 用戶端解析。
第四項:切換訂閱更新通道
訂閱請求可以透過目前代理,也可以直接連線。目前網路無法直接連線至訂閱網域時,直接更新會逾時;反過來,如果選用的節點已失效,強制透過代理更新同樣會失敗。正確做法不是固定勾選某一種模式,而是根據目前連線狀態進行一次對照測試。
查看現有節點
先確認用戶端內是否還有可啟動的舊節點。若舊節點可以連線,保留目前設定,不要先清空清單。
檢查核心狀態
在 v2rayN 主視窗查看核心是否已啟動,並核對記錄中的本機監聽連接埠。常見 SOCKS 入站為 10808,但應以目前設定顯示的數值為準。
先進行直接連線更新
執行「訂閱分組」→「更新全部訂閱」,選擇不經過代理的更新方式,記錄耗時和錯誤原文。
再進行代理更新
連線至一個已驗證可用的節點,再選擇透過代理更新訂閱。若第二次成功,問題位於直接連線訂閱網域的網路路徑。
比對兩次結果
直接連線和代理均失敗時,檢查網址與伺服器回應;只有代理失敗時,檢查目前節點、核心狀態和 10808 等實際監聽連接埠。
v2rayN 中的「系統代理」開關與「訂閱是否透過代理更新」並不是完全相同的判斷項目。系統代理控制其他應用程式如何傳送請求,而訂閱更新可能由用戶端本身依選項發起。不要只根據瀏覽器能否開啟網頁來判斷更新通道,應以用戶端記錄中實際使用的連線方式為準。
第五項:檢查用戶端版本、核心與協定相容性
訂閱能夠下載和解碼,不代表其中每個節點都能由目前核心使用。VMess 和 VLESS 是不同協定,節點還可能組合 TLS、Reality、WebSocket、gRPC 等傳輸設定。舊版用戶端或不相容的核心遇到新欄位時,可能略過節點、匯入後無法啟動,或在核心記錄中回報未知設定項目。
桌面端使用 v2rayN 時,可進入「設定」→「參數設定」→「Core 類型」核對目前選擇。包含 VLESS、Reality 等 Xray 相關設定時,應使用能識別相應欄位的 Xray 核心,並將 v2rayN 與核心更新至同一時期的穩定版本。不要只替換主程式,卻保留明顯過舊的核心檔案。
錯誤:unknown field
原因與解法:設定包含目前核心不認識的欄位——更新用戶端和對應核心,並在 v2rayN 的「設定」→「參數設定」→「Core 類型」中核對選擇。
錯誤:failed to load config files
原因與解法:節點已匯入,但產生的核心設定無法通過檢查——查看其後緊接的欄位錯誤,定位具體協定、傳輸或安全參數。
錯誤:unknown transport protocol
原因與解法:節點使用的傳輸類型不受目前版本支援,或訂閱欄位拼寫異常——先更新核心,再請訂閱提供方核對該節點範本。
- v2rayN:桌面端先核對主程式版本,再核對實際啟用的 Core 類型和核心記錄。
- v2rayNG:Android 端採用 Xray 核心,適合檢查包含 VLESS、Reality 等欄位的訂閱。
- v2flyNG:Android 端採用 v2fly 核心,遇到特定 Xray 擴充欄位時,不應假定能夠直接相容。
- 同一訂閱部分節點正常、部分節點失敗:通常是節點協定或傳輸組合不同,不是整個訂閱網址失效。
判斷時應將「訂閱解析」和「節點連線」分開。節點已出現在清單中,表示下載與基本解析通常已完成;之後若出現握手失敗、無法解析伺服器位址或連線逾時,應轉入節點和線路排查,而不是繼續修改訂閱連結。
第六項:清理本機網路、時間與分組快取
前五項均正常時,再檢查本機環境。裝置時間偏差過大可能導致 TLS 憑證驗證失敗;DNS 回傳異常位址會讓訂閱網域無法連線;安全軟體或防火牆可能阻止用戶端核心存取網路;舊分組快取則可能使更新後的節點沒有依預期替換。
先校準系統日期、時間和時區,再完全退出用戶端並重新啟動。接著分別測試目前網路與另一個可用網路。如果同一訂閱在另一個網路可於 5 秒內完成更新,而原網路持續在約 30 秒後逾時,問題更可能位於 DNS、閘道或網路出口,而不是訂閱編碼。
訂閱更新一直顯示逾時?
先記下發生逾時的時間,再切換直接連線與代理更新。兩種方式都在固定時間後失敗時,檢查訂閱網域解析結果、系統時間和防火牆對外連線規則。
更新成功但節點清單還是空的?
開啟目標訂閱分組,確認回傳的節點數量,並檢查是否啟用了篩選條件。暫時取消名稱篩選和協定篩選,再更新一次查看原始清單。
電腦可以更新,Android 端卻無法更新?
在 v2rayNG 或 v2flyNG 中重新貼上同一個完整網址,關閉會改寫網路請求的私人 DNS 設定進行對照,並確認裝置日期和時區正確。
換網路後立即恢復,代表什麼?
表示訂閱連結和用戶端解析大致正常。回到原網路後,重點檢查 DNS、閘道限制和訂閱網域的連線路徑,不必重新建立所有節點。
需要直接刪除訂閱分組嗎?
先匯出或保留舊設定,只有在確認網址有效且快取異常後,才建立新的測試分組。測試分組成功匯入後,再決定是否移除舊分組。
- 系統時間:與標準時間的差異應控制在 1 分鐘內,時區也必須正確。
- DNS 對照:切換網路後重新解析訂閱網域,觀察是否仍回傳可連線的位址。
- 防火牆檢查:允許 v2rayN 主程式及實際核心程序發起對外連線。
- 連接埠檢查:確認 10808 等本機連接埠沒有被其他程序占用,具體數值以記錄為準。
- 分組檢查:取消篩選條件,確認新節點沒有被名稱、協定或分組規則隱藏。
建立測試分組時使用同一個網址,只更新該分組一次。如果測試分組正常而舊分組仍為空,表示問題集中在舊分組設定或快取;如果兩個分組結果完全一致,就應返回檢查伺服器回應和網路通道,不必重複建立分組。
修復後依四項結果完成驗證
修復不能以「沒有彈出視窗」為標準,而要確認訂閱請求、節點產生、核心啟動和實際連線四個層面都通過。先更新目標分組,再記錄節點總數;選擇一個節點啟動核心,檢查本機監聽連接埠;最後開啟需要連線的應用程式發出一次請求,並查看核心記錄是否出現新的對外連線記錄。
| 驗證層級 | 通過標準 | 失敗時回到哪一步 |
|---|---|---|
| 訂閱請求 | 沒有 401、404、429 或逾時,回應內容非空 | 第一、第二或第四項 |
| 節點產生 | 更新後節點數大於 0,名稱與協定清晰可見 | 第三或第五項 |
| 核心啟動 | 記錄顯示入站連接埠開始監聽,沒有設定欄位錯誤 | 第五或第六項 |
| 實際連線 | 應用程式請求產生對外連線記錄,連續測試 3 次結果穩定 | 節點、線路或系統代理設定 |
如果訂閱已恢復但單一節點仍無法連線,不要繼續重新整理訂閱。選擇同一分組中的另外兩個節點分別測試:三個節點全部失敗時檢查本機核心和網路;只有一個節點失敗時,問題通常屬於該節點的位址、連接埠或線路狀態。
完整的排查記錄應包含用戶端名稱與版本、核心類型、更新時間、錯誤原文、直接連線和代理兩次結果,以及回傳節點數。將這些資訊放在一起,才能準確區分「連結已過期」「伺服器回傳錯誤」「用戶端不相容」和「本機網路受阻」,避免只因「訂閱失效」四個字就反覆修改設定。