先確認失敗發生在下載、解析,還是套用階段

Clash 手機版顯示「更新失敗」,不一定代表同一種問題。一次訂閱更新通常會經過發出請求、下載回應、解析設定檔、儲存檔案及套用設定等步驟。節點仍可連線,不代表訂閱網址依然有效;訂閱下載成功,也不代表目前使用的核心能載入新設定檔。先找出失敗階段,才能判斷該更換連結、調整網路,還是處理設定相容性。

  1. 保留目前可用的設定檔。記下設定檔名稱、上次更新時間及用戶端名稱。若用戶端支援匯出,請先在本機儲存備份;備份可能包含節點密碼,應妥善保管。
  2. 手動更新一次。前往訂閱或設定檔清單,對目標項目執行「更新」,並記錄完整錯誤訊息。請勿同時反覆更新所有訂閱。
  3. 查看同一時間的記錄。記下失敗時間,精確到分鐘,並分辨 HTTP 狀態碼、連線逾時、TLS 憑證錯誤及 YAML 解析錯誤。
  4. 每次只變更一個條件。例如只切換 Wi-Fi 與行動網路,或只調整更新請求使用的代理方式,再比較結果。
提示或現象優先檢查項目下一步
401 / 403權杖、帳號狀態、存取限制前往訂閱服務後台確認網址及授權狀態
404 / 410確認介面網址是否已遷移或停用重新複製後台提供的訂閱網址
429短時間內請求次數過多停止連續更新,依照伺服器要求等待
5xx伺服器或上游服務異常保留舊設定檔,稍後再試
timeout / lookup連線路徑或網域解析切換網路,並確認請求是否經由代理
yaml / unmarshal回應內容與設定檔格式確認下載內容不是網頁或其他用戶端的格式

狀態碼只能提供線索,不能直接當作結論。例如 403 也可能是網站防護機制所致,不一定代表訂閱已到期。請綜合訂閱服務後台、用戶端記錄及服務公告判斷。

訂閱連結失效:確認權杖、有效期限及回應內容

從服務後台重新複製,不要從聊天記錄拼湊

訂閱 URL 通常帶有帳號專屬權杖。重設訂閱網址、變更安全設定或服務遷移,都可能使舊網址失效。複製時請保留完整查詢參數,並確認沒有多出尾端空格、換行、中文標點,或聊天軟體顯示的截斷內容。連結中的 & 用來分隔參數,請勿在網址欄位中誤輸入為 HTML 實體文字。

先到服務後台確認方案有效期限、剩餘流量及訂閱狀態,再使用後台目前提供的網址更新原有項目。若用戶端沒有編輯網址的選項,可先新增訂閱項目測試;確認成功後再處理舊項目,避免先刪除唯一可用的設定檔。

HTTP 200 也可能回傳錯誤內容

伺服器回傳 200,只代表請求收到回應。實際內容仍可能是登入頁、驗證頁、方案到期通知,或只有一行錯誤訊息。若解析錯誤附近出現 <html>、<!DOCTYPE,應先檢查網址與存取限制,而不是調整 YAML 縮排。

格式不相容:分辨完整設定檔與節點訂閱

「支援訂閱」不代表所有用戶端都能讀取相同格式的回應。常見內容包括完整的 Clash YAML、節點提供者檔案、URI 清單,以及經 Base64 編碼的節點集合。完整設定檔通常包含 proxies、proxy-groups、rules 等欄位;節點提供者檔案則主要提供節點,不一定包含策略群組與分流規則。

排查時可在用戶端的「關於」或核心資訊頁面確認實際使用的核心,再對照設定檔來源的說明。應用程式名稱中有 Clash,不代表一定支援某個新欄位。若記錄明確指出通訊協定未知或欄位不受支援,請改用服務方提供的相容格式,或選擇支援該功能的用戶端;不要逐行刪除設定碰碰運氣。

錯誤行號僅供定位,不一定就是根本原因

YAML 依賴縮排,不能任意用 Tab 取代空格。錯誤可能在記錄標示的那一行,也可能是前一行的引號或括號未閉合。遠端訂閱應優先向提供者確認原始內容;直接在手機上編輯下載的檔案,通常會在下次更新時被覆蓋。本機自訂內容應使用用戶端支援的覆寫或合併功能,相關概念請參閱技術參考。

更新請求未經代理:節點可用不代表訂閱連得上

手機用戶端可能由應用程式自行下載完整訂閱,也可能由核心下載遠端提供者。這兩種請求的網路路徑不一定相同。瀏覽器能開啟服務後台,只能證明瀏覽器目前使用的連線路徑可用,不能證明用戶端的訂閱請求也經由相同出口。

比較兩種網路路徑

  1. 保留舊設定檔,確認目前選取的節點確實能連上網路,而不只是確認 VPN 圖示有亮起。
  2. 在訂閱編輯頁或更新設定中,尋找「透過代理更新」或「更新代理」等選項;實際名稱依用戶端而異,請勿將某款用戶端的選單路徑套用到所有手機用戶端。
  3. 若有這項設定,分別使用直連及代理手動更新一次,並記錄結果。若只有代理模式成功,再將該訂閱的更新方式設為代理。
  4. 若兩種方式都失敗,請切換 Wi-Fi 與行動網路重試。不要同時變更 DNS、節點及訂閱格式,否則難以判斷哪項變更有效。

切換至全域模式不一定會改變訂閱下載路徑,因為下載作業可能由應用程式直接發起,並略過核心。相反地,在支援相應欄位的 mihomo 中,設定檔的 proxy-providers 可指定下載所使用的 proxy;此設定只適用於該提供者,不會自動變更整份用戶端設定檔的更新方式。

手機上的 VPN 權限、TUN 接管及應用程式排除清單,也可能影響請求路徑。尤其是排除用戶端本身或啟用分應用程式代理時,不能只因其他應用程式能上網,就排除網路問題。若記錄出現 no such host,請先檢查網域解析;若是連線逾時,再檢查線路、代理出口及伺服器連線狀況。

憑證驗證失敗:先校正時間,再檢查網路環境

x509: certificate has expired or is not yet valid、主機名稱不符及憑證鏈不受信任,都屬於 TLS 驗證問題。這些問題發生在 YAML 解析之前,也不應靠修改節點密碼解決。

  1. 啟用系統自動設定時間。Android 通常可在系統設定的「日期與時間」中啟用自動設定;iOS 可前往「設定」→「一般」→「日期與時間」,確認「自動設定」已開啟。日期時間不準,可能導致有效憑證被判定為已過期或尚未生效。
  2. 確認公共 Wi-Fi 已登入。飯店或校園網路可能需要先完成網頁驗證。請先依正常流程登入網路,再重新發出訂閱請求。
  3. 切換網路重新測試。若只有特定 Wi-Fi 連線失敗,請檢查該網路是否進行 HTTPS 檢查或網域重新導向。請勿隨意安裝來路不明的根憑證。
  4. 請服務方檢查網域憑證。若在多個網路上都出現相同的憑證過期或主機名稱錯誤,應由服務方修復憑證部署,或提供已正確設定的訂閱入口。

設定檔中的節點參數 skip-cert-verify 通常用於節點連線的憑證驗證,並不等同於訂閱下載的 TLS 設定。請勿為了消除訂閱錯誤提示而批次修改節點參數,也不要將未加密的 HTTP 網址當成長期替代方案,因為訂閱回應本身可能包含存取憑證。

自動更新間隔:先分清兩種計時器

用戶端的「訂閱自動更新」通常會更新整份遠端設定檔;核心中 proxy-providers 的 interval 則控制特定節點提供者的更新頻率。兩者可以同時使用,但不能互相取代。另一個容易混淆的欄位是 health-check.interval:它控制健康檢查頻率,不會重新下載節點清單。

更新對象設定位置建議起始值
完整遠端設定檔用戶端的訂閱編輯或更新設定24 小時,依服務方要求調整
HTTP 節點提供者proxy-providers 下的對應項目interval: 86400
HTTP 規則提供者rule-providers 下的對應項目依規則來源的更新頻率設定
節點健康檢查health-check 相關設定個別評估,不應視為訂閱更新間隔

完整設定檔:先從每天更新一次開始

若訂閱中的節點變動不頻繁,可先將間隔設為 24 小時;若確實需要更頻繁更新,可考慮每 6~12 小時更新一次,並遵守服務方的流量限制。這只是設定建議,並非所有服務通用的標準。若伺服器回傳 429 並提供 Retry-After,請優先遵守指定的等待時間,避免每隔幾秒就按一次更新。

設定前請先確認時間單位。24 小時等於 1440 分鐘,也等於 86400 秒。用戶端介面可能使用分鐘或小時,核心提供者的 interval 則以秒為單位,不能將同一個數字直接套用到不同位置。數值 0 代表什麼也應以用戶端說明為準,請勿預設它表示「立即更新」。

提供者:只修改既有項目的更新欄位

如果使用 mihomo 的 HTTP 節點提供者,且需要每天更新一次,可在既有提供者項目中設定以下這一行。這只是欄位範例,並非可單獨匯入的完整設定檔;請保留原有名稱、網址、路徑及其他必要設定。

# 位於既有 proxy-providers 項目的下一層,單位為秒
interval: 86400

修改後請先確認設定檔可正常載入,再查看記錄中的提供者更新時間。請勿將這一行直接放在設定檔最上層,並期待它能控制整個用戶端的遠端訂閱。若使用的是本機檔案型提供者,也不能直接套用 HTTP 定時下載的行為。

手機鎖定後沒有更新:檢查排程限制與成功時間

自動更新間隔通常代表用戶端或核心嘗試排程更新的週期,不保證手機會在精確時間執行。Android 省電策略、廠商的背景執行限制、網路中斷,以及 iOS 對背景工作與網路延伸功能的限制,都可能延後更新。VPN 圖示仍顯示連線,也不代表負責下載設定檔的應用程式介面程序仍在執行。

完成設定後,先在前景手動更新一次,確認新設定檔已儲存且能正常載入。等過一個設定週期後,再確認成功時間,不要只看自動更新開關是否已啟用。重新啟動手機後,也請確認設定檔仍為選取狀態、VPN 權限正常,且自動更新設定未被系統還原或清除。

回報問題前,先整理基本排查記錄

若問題持續發生,整理出可重現的記錄,比一再刪除重裝更有效。清除應用程式資料可能同時移除訂閱、覆寫設定及策略群組選擇,應先完成備份,並在其他排查方法都無效後再考慮。

  1. 記下用戶端名稱、應用程式版本、實際核心資訊及手機作業系統版本。
  2. 記下失敗時間、使用 Wi-Fi 或行動網路,以及請求採用直連或代理。
  3. 保留已移除敏感資訊的完整錯誤行,例如 HTTP 狀態碼、TLS 錯誤或設定解析的行號。
  4. 說明手動更新是否成功、失敗的是完整設定檔還是提供者,以及舊設定檔是否仍可使用。
  5. 訂閱網址授權或回應異常,請回報訂閱服務方;下載、解析或排程異常,請提供可重現的資訊給用戶端維護者。

最後請確認三件事:訂閱下載成功、新設定檔載入成功、實際連線正常。只有更新時間變動,但設定檔無法套用,仍不算完成排查。手機初次設定及權限檢查,請參閱安裝與使用教學。