Clash 訂閱更新失敗怎麼辦?常見錯誤與自動更新間隔設定
整理 Clash 訂閱逾時、憑證錯誤及回傳內容不是 YAML 等常見問題,並說明 interval 自動更新間隔與手動更新的設定方式。
先確認失敗環節:下載、解析還是啟用
訂閱更新通常會經過三個步驟:用戶端連線至訂閱網址、檢查回傳內容,再儲存或載入設定檔。顯示「更新失敗」不一定代表節點失效;節點仍可連線,也不代表訂閱網址依然有效。排查時先保留目前可用的設定檔,不要刪除後重新匯入,也別連續按更新。
- 記錄更新項目:是「設定檔 / Profiles」中的整份遠端設定,還是「代理伺服器集合 / Proxy Providers」中的某個節點集合。
- 記錄錯誤訊息:開啟用戶端的「記錄 / Logs」,手動更新一次,保存同一時間附近的錯誤訊息、HTTP 狀態碼及設定檔名稱。不同用戶端的選單名稱可能不同。
- 確認目前狀態:確認舊設定檔是否仍可使用、上次成功更新的時間是否有變,以及更新後是否仍選取目標設定檔。
| 記錄訊息或狀態 | 優先檢查項目 | 接下來的步驟 |
|---|---|---|
no such host | 訂閱網域解析 | 檢查網域拼字及目前網路的 DNS |
i/o timeout | 連線或讀取逾時 | 切換網路,比較直連與透過代理下載 |
x509 | 系統時間與憑證鏈 | 同步系統時間,核對完整憑證錯誤訊息 |
401 / 403 | 授權、權杖或存取政策 | 前往服務商帳戶頁面確認訂閱狀態 |
429 | 更新頻率限制 | 停止重試,依照伺服器指定的等待時間操作 |
yaml: unmarshal errors | 格式或欄位型別 | 檢查回應本文、訂閱類型及核心相容性 |
下載逾時:分別檢查網域、網路及下載路徑
先切換網路,再調整設定
context deadline exceeded 表示操作超過期限,但單憑這句訊息無法判斷問題出在 DNS、TCP 連線、TLS 交握,還是回應讀取過慢。先比對記錄中的具體階段,再在同一台裝置上從 Wi-Fi 切換至手機熱點,使用同一個訂閱網址手動更新一次。每次只變更一個條件,才能判斷問題是否與原本的網路有關。
- 網域解析失敗:檢查網址是否多了空格、換行或少了字元。能開啟其他網站,不代表訂閱網域一定能解析。
- 連線遭拒:
connection refused通常表示目標連接埠拒絕連線,請檢查伺服器位址或本機代理程式的監聽狀態。 - 讀取逾時:伺服器可能已接受連線,但遲遲沒有完成回應。記下發生時間與網路環境,再向服務商回報。
系統代理、TUN 與訂閱下載是不同設定
整份設定檔可能由用戶端介面程序下載,也可能交由其他元件處理;proxy-providers 的遠端資源則通常由核心取得。因此,「瀏覽器已透過代理連線」不代表訂閱請求也走相同路徑。TUN 能接管哪些連線,也會受到路由、程序排除設定及用戶端實作方式影響。
如果用戶端有「透過代理更新」之類的選項,先確認已有可用節點,再切換選項比較一次。若舊節點全數失效,強制依賴舊節點下載新訂閱可能形成循環依賴;此時可嘗試直連,或改用能存取訂閱網址的網路。
憑證錯誤:先修正時間與信任鏈
HTTPS 訂閱需要驗證伺服器身分。遇到憑證錯誤時,先查看完整提示,不要直接關閉驗證。節點設定中的 skip-cert-verify 主要影響對應代理節點的 TLS 驗證,並不是用戶端訂閱下載器通用的修復選項。
- 同步系統時間:開啟作業系統的自動設定日期與時間,並檢查年份、時區及同步狀態。系統時鐘偏差可能會讓有效憑證被判定為尚未生效或已過期。
- 核對網域:
certificate is valid for這類錯誤通常與主機名稱不符有關。不要擅自將訂閱網域換成 IP 位址,這可能同時破壞憑證驗證與虛擬主機選擇。 - 排除網路驗證問題:公共 Wi-Fi 可能需要先開啟驗證頁面;登入完成後再更新。機關或公司網路的 HTTPS 檢查也可能改變憑證鏈,請聯絡網路管理員確認。
- 檢查信任環境:
certificate signed by unknown authority可能是伺服器憑證鏈不完整,也可能與裝置的信任存放區或網路攔截有關。改用個人手機熱點測試,有助於縮小問題範圍。
如果裝置時間正確,且在不同網路上都出現同一訂閱網域的憑證過期錯誤,應請服務商修復。不要將 HTTPS 網址改成 HTTP,也不要安裝來路不明的根憑證來略過警告。
回傳內容不是 YAML:檢查狀態碼與訂閱類型
HTTP 請求成功,不代表取得了可用設定。即使狀態碼是 200,本文仍可能是登入頁面、存取驗證頁或帳戶到期通知。反過來說,Content-Type 標示為 text/plain 也不能直接判定失敗,有些服務會用這種格式回傳有效的 YAML;最後仍須檢查本文結構。
常見回應及處理方式
- 本文以
<!DOCTYPE html>開頭:取得的是網頁。請確認複製的是用戶端訂閱網址,而不是帳戶管理頁面的網址;不要把網頁內容存成設定檔後強行載入。 - 本文是
vmess://等連結或一長串編碼文字:可能選到通用節點訂閱,而非適用於目前用戶端的設定格式。請回到服務商的訂閱匯出頁面,選擇相應類型。 - 本文是 JSON 錯誤訊息:先閱讀伺服器提供的錯誤說明。修改 YAML 縮排無法修復帳戶失效或權杖錯誤。
- 本文確實是 YAML:接著檢查欄位層級、資料型別及核心支援情況。YAML 語法能通過解析,不代表符合 Clash 或 mihomo 的設定檔結構。
不要混用完整設定檔與節點集合
完整設定檔可以包含 proxies、proxy-groups、rules,也可以透過 proxy-providers 引用節點集合。常見的 provider YAML 則會以 proxies: 列出節點;這不等同於包含策略群組與規則的完整設定檔。將完整設定檔網址填入僅接受節點集合的欄位,或把節點集合當成完整設定檔匯入,都可能造成解析或執行問題。
如果記錄明確指出不支援某種節點類型或欄位,請核對用戶端「關於」頁面顯示的核心名稱與版本。傳統 Clash 與 Clash Meta(現稱 mihomo)的支援範圍不同,不能只看應用程式名稱是否包含 Clash。欄位層級可參考設定檔結構說明,格式轉換限制則可參考訂閱轉換說明。
自動更新間隔:分清三種 interval
「每小時更新訂閱」不是在 YAML 任意位置加入 interval: 3600。整份遠端設定檔的定時重新整理通常屬於用戶端的設定檔管理功能;provider 下載與節點健康檢查則各有對應欄位。混淆這三者,常會造成延遲測試持續執行,節點清單卻沒有更新。
| 設定位置 | 實際作用 | 單位與範例 |
|---|---|---|
| 用戶端遠端設定檔編輯頁面 | 重新下載整份訂閱設定 | 依介面標示;60 分鐘等於 1 小時 |
proxy-providers.名稱.interval | 更新 HTTP 節點集合 | 秒;3600 等於 1 小時 |
health-check.interval | 檢查集合中的節點是否可用 | 秒;300 等於 5 分鐘 |
url-test 策略群組的 interval | 定期進行延遲測試 | 秒;不會下載訂閱 |
整份訂閱:在遠端設定檔項目中設定
常見路徑是「設定檔 / Profiles」→目標遠端設定檔的選單→「編輯 / Edit」→自動更新或更新間隔;這只是常見入口,實際名稱請以用戶端介面為準。如果輸入欄位的單位是分鐘,填入 60 才是 1 小時;如果單位是秒,則應填入 3600。不要直接照抄其他用戶端的數值。
建議先設定每 6 小時或每天更新一次,再依服務商要求調整。訂閱網址穩定、節點也很少變動時,過於頻繁地更新通常沒有幫助。也不要假設填入 0 一定代表關閉;優先使用明確的關閉選項,並查閱目前用戶端的說明。
HTTP provider:在對應集合中設定
以下是 mihomo 常見 HTTP provider 設定片段,並非完整且可直接執行的設定檔。example.com 是文件中的示範網域,不會提供實際節點;使用時請填入帳戶提供的節點集合網址,並讓策略群組透過 use 引用集合名稱。
proxy-providers:
daily-nodes:
type: http
url: "https://example.com/subscription.yaml"
path: ./providers/daily-nodes.yaml
interval: 21600
health-check:
enable: true
url: "https://www.gstatic.com/generate_204"
interval: 300
此處的 21600 秒為 6 小時,用來設定下載節點集合的週期;300 秒為健康檢查間隔,不會更新節點清單。健康檢查網址也應能透過目前選取的節點正常連線。多個 provider 應使用不同的快取檔案路徑,避免寫入同一個檔案。
手動更新:驗證一次並確認結果
手動更新適合用來確認修正是否有效,不適合反覆嘗試碰運氣。尤其遇到 429 時,應停止連續點擊;若回應包含 Retry-After,請依伺服器指定的時間等待。若出現 500、502、503 等伺服器錯誤,先保留舊設定檔,稍後再試或查詢服務狀態。
- 保留備份:使用用戶端支援的匯出功能,保存目前可用的設定檔,並另外記錄本機覆寫、策略選擇及訂閱來源。
- 確認更新目標:在遠端設定檔項目中執行更新,不要誤按策略群組的延遲測試按鈕;更新 provider 時也要確認集合名稱。
- 一次只修改一項:例如只切換網路或修正系統時間,接著手動更新一次,並記錄錯誤訊息是否有變化。
- 確認儲存與載入:確認更新時間已變更、記錄中沒有後續解析錯誤,並核對目前啟用的設定檔。部分用戶端更新非目前使用的設定檔後,不會自動切換。
- 確認實際連線:確認策略群組仍選取有效節點,再連線至常用服務;「下載成功」與「服務正常使用」是兩個不同的驗收步驟。
如果更新後節點恢復正常,但自訂規則消失,通常需要確認是否直接修改了遠端設定檔。後續下載可能會覆寫該檔案;長期使用的規則應放入用戶端明確支援的覆寫、合併或擴充功能,並確認最終產生的設定檔。匯入與切換步驟請參考訂閱匯入教學。
向服務商或用戶端維護者回報時,請提供發生時間、作業系統與用戶端版本、核心版本、已遮蔽敏感資訊的狀態碼,以及「同一網址切換網路後是否成功」的比較結果。這些資訊比一再回報「更新失敗」更能協助定位問題;請先移除訂閱權杖、完整節點憑證及帳戶頁面截圖中的敏感資訊。