入門指南 預計閱讀 10 分鐘

Clash 訂閱連結更新失敗:常見原因與自動更新間隔設定

整理 Clash 訂閱更新失敗的常見原因,包括連結失效、格式不相容與代理路徑錯誤,並說明各用戶端的自動更新間隔及下載代理設定位置。

先確認問題出在哪個環節

Clash 用戶端的「更新訂閱」通常包含三個步驟:下載遠端內容、解析設定,以及儲存或載入設定。下載成功不代表設定一定能正常運作;現有節點仍可連線,也不表示訂閱網址依然有效。排查時應先查看錯誤訊息,再判斷要修改連結、網路路徑或核心。

  1. 保留目前可用的設定,記下訂閱名稱、上次成功更新時間和目前選用的設定檔。
  2. 只手動更新一個訂閱,記下操作時間,接著查看用戶端記錄中的對應訊息。
  3. 判斷錯誤屬於 HTTP 狀態碼、連線逾時、憑證驗證,還是 YAML 或通訊協定欄位解析問題。
  4. 每次只調整一項設定。修改更新路徑後先重試,不要同時更換 DNS、節點和核心。

依錯誤訊息選擇排查方向

錯誤或現象通常代表下一步
HTTP 401 / 403憑證、權限或存取政策拒絕要求確認訂閱狀態,並查看服務商說明
HTTP 404 / 410網址不存在,或資源已撤銷前往服務商控制台重新複製連結
HTTP 429要求頻率受到限制停止連續重試,並遵循 Retry-After
HTTP 500 / 502 / 503伺服器或上游服務異常稍後重試,並查看服務公告
timeout / deadline exceeded解析、建立連線或讀取回應逾時檢查直連與代理連線路徑
yaml / unmarshal / unsupported內容結構或欄位不相容檢查回應本文與核心支援能力

這些對應關係可用來縮小排查範圍,但不能只憑狀態碼就判定原因。例如 403 也可能是網站防護政策所致,不能直接推斷為帳號到期;即使回傳 200,內容也可能是登入頁面,而非有效的訂閱資料。

連結失效:檢查憑證、有效期限與回應本文

建議先從服務商控制台重新複製供 Clash 或 mihomo 使用的訂閱網址。不要複製瀏覽器網址列中的管理頁面連結,也不要把用於掃碼顯示的網頁當成訂閱 API。複製時請保留完整查詢參數,並確認末尾沒有空格、換行或中文標點。

依序確認以下四項

  • 帳號狀態:確認方案有效期限、流量額度和訂閱權限。有些服務在額度用盡後會回傳提示文字,另一些則仍會提供設定,但節點已無法使用。
  • 連結是否已重設:重設訂閱權杖後,舊網址可能立即失效。請修改既有訂閱的 URL,而不是一再點選更新。
  • 網址是否重新導向:若 301 或 302 重新導向至登入頁面,用戶端最終取得的內容可能是 HTML。請檢查最終回應,不要只看初始要求的狀態。
  • 是否觸發流量限制:多台裝置共用同一個連結並頻繁重新整理,可能觸發 429。請先暫停自動更新,等待限制解除後再逐台恢復。

瀏覽器能下載檔案,只能證明瀏覽器目前使用的要求路徑可行。瀏覽器可能帶有登入 Cookie、使用系統代理,或採用不同的 DNS;用戶端更新程式不一定使用相同設定。比較結果時,應記錄兩邊是否經過代理,而不是只以「瀏覽器能開啟」作結論。

如果錯誤訊息提到憑證過期、簽發者不受信任或主機名稱不符,請先檢查裝置日期、時區,以及目前網路是否需要登入驗證。確認訂閱服務的憑證狀態後再處理。不要關閉憑證驗證來掩蓋問題;訂閱憑證同樣需要 HTTPS 保護。

格式不相容:區分完整設定與節點提供器

「訂閱」並非單一固定的檔案格式。常見內容包括完整的 Clash YAML、僅含節點的 provider 檔案,以及以 Base64 編碼的分享連結集合。這些格式不能在所有匯入入口中互換。下載完成後若出現解析錯誤,請先確認內容類型,再檢查用戶端使用的核心。

內容類型常見結構使用位置
完整設定包含 proxies、proxy-groups、rules 等設定項目用戶端的遠端設定或訂閱匯入入口
節點提供器主要包含 proxies 清單由主設定中的 proxy-providers 引用
分享連結集合ss://、vmess:// 等連結或其編碼內容支援該格式的匯入工具或可信任的轉換流程
HTML 或提示文字登入頁面、驗證頁面、額度提示不能作為 YAML 設定載入

分開處理 YAML 語法錯誤與通訊協定錯誤

縮排錯誤、Tab 字元或未正確加上引號的特殊字元,都可能造成 YAML 解析錯誤。若記錄中有行號,可用本機編輯器檢查該行及上一行。完整訂閱包含敏感節點資訊,不建議上傳至公開的線上 YAML 檢查工具。

如果記錄已指出不支援某種代理類型,問題可能出在核心能力,而非縮排。Clash 是用戶端生態中常見的稱呼,Clash Meta 後來改用 mihomo 這個名稱;不同用戶端綁定的核心和版本也不相同。舊版核心無法只靠修改介面名稱取得新通訊協定支援,請到用戶端的「關於」或核心資訊頁面確認實際使用的核心。

修復時,優先採用服務商提供的對應格式,或改用支援目標設定的用戶端。不要直接刪除報錯的通訊協定欄位:設定可能因此通過解析,卻在連線階段失敗。遠端設定的本機修改也可能在下次更新時遭覆蓋;需要長期保留的變更,請使用用戶端支援的覆寫或合併功能。

更新流量走錯代理:區分系統代理與訂閱下載器

開啟系統代理不代表訂閱下載一定會經過代理。用戶端可能使用獨立的 HTTP 下載器,並提供「使用代理」、「透過代理更新」或「使用系統代理」等不同選項;由核心管理的 provider 則走另一條要求路徑。TUN 可以改變部分流量的路由,但不能因此斷定所有更新要求都會使用特定節點。

透過兩次受控要求比較連線路徑

  1. 保留一份可用的設定,並選取可連線的節點,確認用戶端本機代理的監聽連接埠。
  2. 在該訂閱的編輯頁面記下原本設定,關閉專供訂閱更新使用的代理選項,手動更新一次並查看記錄。
  3. 開啟對應的代理選項後再更新一次,比較連線逾時、HTTP 狀態碼及最終解析結果。
  4. 若直連成功而代理失敗,請檢查出口節點和策略選擇;若代理成功而直連失敗,則保留有效的更新路徑。

假設本機實際的 HTTP 或 mixed 監聽連接埠為 7890,明確填寫的代理網址可使用 http://127.0.0.1:7890。此處的 7890 僅為說明用連接埠,並非所有用戶端的預設值。請以用戶端的連接埠設定為準;SOCKS 連接埠、HTTP 連接埠和控制介面連接埠也不可互換。

如果同一個連結在行動網路上更新成功,在目前的 Wi-Fi 環境卻逾時,可進一步檢查網路登入狀態、DNS 解析和目標網站是否可連線。切換網路只是排查手段,不必同時啟用 TUN 或全面修改 DNS 設定。測試 DNS 時,也應記錄修改前後的解析結果,避免將暫時恢復誤認為永久修復。

自動更新間隔:分別設定用戶端訂閱與 provider

完整遠端設定的定時下載通常由用戶端負責;mihomo 的 HTTP 節點提供器則由 proxy-providers 底下的設定控制。兩者可以同時存在,但計時單位和執行條件不同。不要在完整設定的最上層任意加入 interval,並期待用戶端自動辨識。

各用戶端的設定位置

  • Clash Verge Rev:進入「訂閱」,開啟目標遠端訂閱卡片的選單,再進入編輯資訊頁面。確認訂閱 URL、更新間隔和下載代理相關選項。欄位名稱可能因版本而異,請以頁面顯示的單位為準。
  • Clash for Windows:在「Profiles」中找到遠端設定,透過右鍵選單查看設定編輯和更新相關選項。不同舊版的表單和選項可能有所差異,請勿直接套用其他用戶端的選單路徑。
  • Clash for Android:進入「設定」,編輯對應的遠端設定,確認自動更新開關和間隔。也請確認系統沒有禁止該應用程式在背景執行;設定間隔不代表裝置休眠期間一定會準時更新。
  • 直接執行 mihomo:檢查主設定中的 proxy-providers。HTTP provider 的 interval 單位為秒;完整主設定檔的定時重新下載仍須由外部管理程式負責。

先在用戶端的「關於」頁面記下版本,再依照該版本的介面操作。若找不到「更新時使用代理」選項,不能據此推斷預設為啟用;請查閱該版本的設定說明,或從記錄確認更新程式的實際行為。

換算時間單位,避免頻繁送出要求

目標週期以分鐘為單位的表單以秒為單位的 interval
1 小時603600
6 小時36021600
24 小時144086400

個人裝置可先設定為每 6 小時更新一次,再依服務商建議調整。若持續運作並嚴格每 6 小時更新一次,每個訂閱每天約會送出 4 次排程要求;每 10 分鐘更新一次則約有 144 次,還不包括手動更新和失敗重試。對節點變動較少的訂閱而言,頻繁更新通常只會增加要求次數。

如果已有名為 primary 的 HTTP provider,以下只示範其排程和下載路徑欄位。這是合併用的設定片段,並非可獨立執行的完整設定;原有的 type、url、path 等欄位都必須保留:

proxy-providers:
  primary:
    interval: 21600
    proxy: DIRECT

在支援此欄位的 mihomo 版本中,provider 的 proxy 用來指定下載所經過的出口,DIRECT 則代表直連。若改用代理或策略群組,名稱必須存在於目前的設定中,並避免依賴只有透過此 provider 才能取得的節點。此欄位不會控制用戶端外部下載整份訂閱的行為。

節點健康檢查中的 health-check.interval 是另一種計時器,用來偵測節點是否可用,不會重新下載節點清單。同樣地,rule-providers 的更新週期只影響規則集,不等於訂閱節點的更新週期。

儲存後驗證:更新時間、節點變化與設定載入

設定自動更新後,先手動更新一次確認連線流程正常,再觀察下一次排程執行。裝置進入睡眠、程序結束、Android 背景執行限制,以及用戶端採用的排程機制,都可能讓實際執行時間晚於設定時間。請勿將更新間隔視為系統層級的精準排程工作。

  1. 確認下載完成:查看目標訂閱的更新時間和記錄,不要只看介面短暫顯示的成功通知。
  2. 確認更新對象正確:確認剛才更新的是目前選用的設定檔,以及 provider 是否已重新整理。
  3. 確認內容可用:檢查節點清單和代理群組是否仍有效。節點數量沒有變化不代表未更新,也可能只是伺服器上的內容沒有變動。
  4. 確認載入結果:檢查設定是否已成功套用、原先手動選取的節點是否遭刪除或重新命名,必要時重新選擇出口。
  5. 確認排程執行:記錄一次預定更新時間和實際執行時間。若只有手動更新成功,請優先檢查自動更新開關、背景執行權限和程式運作狀態。

仍然失敗時,回報哪些資訊?

向服務商或用戶端維護者回報時,請提供用戶端版本、核心版本、系統版本、錯誤發生時間、HTTP 狀態碼,以及直連和代理測試的差異。記錄中涉及訂閱 URL、節點密碼和授權標頭的內容,請先刪除。這些資訊足以協助判斷問題來自伺服器拒絕、下載連線異常或設定解析失敗。

排查順序可固定為:先確認連結和權限,再核對回應格式,接著比較更新路徑,最後設定合理的更新週期。只有單次更新已穩定成功,自動更新才有意義;單純縮短間隔無法修復失效連結或不相容的設定。

下載用戶端