先釐清:下載失敗、解析失敗,還是設定載入失敗

Clash 用戶端顯示「訂閱失敗」,不代表訂閱連結一定過期。匯入時通常會經過連線請求、接收內容、解析設定,再交由核心載入等步驟。錯誤發生在哪個階段,決定接下來該檢查網路、文字格式,還是核心相容性。

  1. 先保留可用設定。不要刪除舊訂閱,也不要覆寫唯一的本機備份。更新失敗時,原有設定可能仍可正常使用。
  2. 記下完整錯誤訊息。查看用戶端日誌或匯入提示中的失敗時間、HTTP 狀態碼、錯誤欄位與行號。只截取「失敗」兩個字,無法協助定位問題。
  3. 確認用戶端與核心版本。記下用戶端名稱、版本,以及核心是否為 Clash Meta(現名 mihomo)。介面版本與核心版本是不同概念。
  4. 一次只調整一項。先檢查連結與伺服器回應,再檢查 YAML,最後處理代理群組與規則。每次修改後手動更新一次,避免同時變更多項設定。

依錯誤訊息決定檢查順序

不同用戶端顯示的提示文字可能不同,但底層錯誤通常可歸納如下表。狀態碼只能說明伺服器如何回應,無法單獨證明帳號餘額、訂閱期限或裝置數量的具體狀況。

錯誤或狀況 優先判斷 下一步
401、403 驗證失敗、存取受限或遭防護機制封鎖 重新複製訂閱連結,確認帳號狀態與服務商提示
404、410 網址失效、路徑變更或資源已撤除 從後台取得目前使用的連結,不要沿用舊書籤
429 請求過於頻繁 停止連續重新整理,依伺服器提示稍候再試
timeout、no such host 連線逾時或網域名稱解析失敗 更換網路,比較直連與透過代理更新的結果
x509、憑證錯誤 系統時間、憑證鏈或 HTTPS 攔截異常 校正系統時間,檢查網路驗證與憑證環境
yaml: line … 文字語法錯誤,或伺服器回應內容不是設定檔 查看回應內容與錯誤行前後文
unsupported proxy type 核心不支援該節點通訊協定或欄位組合 確認設定需求與實際執行的核心
代理群組或規則引用了不存在的名稱 名稱不一致、節點遭篩除或設定不完整 依引用關係逐一核對節點、代理群組與規則

檢查訂閱連結:複製完整網址,再確認帳號狀態

排除複製錯誤與選錯連結

回到服務商後台,使用訂閱連結旁的複製按鈕。確認網址開頭是 https://,結尾沒有多出換行、空格或中文標點。不要手動刪除問號後的參數,也不要把通訊軟體中顯示的省略文字當成完整網址。

  • 分清後台網頁與訂閱介面:能開啟帳號頁面,不代表取得了可供用戶端讀取的設定網址。
  • 分清單一節點與訂閱:ss://、vmess:// 等可能是節點分享 URI,不是可直接更新的完整 Clash 設定。
  • 確認連結是否已重設:變更密碼、重設訂閱權杖或遷移服務後,舊連結可能失效。
  • 確認服務狀態:查看後台是否明確顯示已到期、流量用盡或服務暫停,不要只根據用戶端錯誤自行推斷。

瀏覽器可以開啟,為什麼用戶端還是失敗?

瀏覽器可能帶有登入 Cookie,也可能已自動通過網頁驗證;用戶端的請求通常沒有相同的登入狀態。即使瀏覽器顯示「存取成功」,實際內容也可能是登入頁、驗證碼或訂閱說明頁。請確認回應內容是否為設定文字,不要只看網頁能否開啟。

即使狀態碼是 200,回應內容仍可能以 <!DOCTYPE html> 開頭,或是附有錯誤說明的 JSON。此時 YAML 錯誤只是後續現象,真正需要處理的是介面存取或帳號驗證。

檢查訂閱格式:Clash 設定與節點清單並不相同

完整的 Clash 設定通常是 YAML 對應結構,可能包含 proxies、proxy-groups、rules 等頂層欄位。其他訂閱可能回傳 Base64 編碼的節點清單,或專供其他用戶端使用的設定。它們都可能被稱為「訂閱」,但匯入方式不一定相同。

完整設定、節點提供者與單一節點的差異

  • 完整設定:通常從用戶端的設定或訂閱管理功能匯入,包含代理群組、規則等執行所需設定。
  • 節點提供者檔案:供 proxy-providers 引用,通常主要包含 proxies 清單,並不等於完整的使用設定。
  • 單一節點 URI 或編碼清單:需要用戶端明確支援相應的匯入方式;若不支援,請向服務商取得相容的 Clash 或 mihomo 格式。

優先使用服務商明確標示適用於目前用戶端或核心的連結。部分服務會依據請求中的 User-Agent 回傳不同格式,因此同一網址在瀏覽器與用戶端收到的內容不一定相同。不要隨意偽造請求標頭碰運氣,請先確認服務商的連線說明。

檢查 YAML:先看行號,再查看前一行

確認回應內容確實是設定檔後,再開始檢查 YAML。將設定儲存至本機,並用可顯示行號、空格與定位字元的編輯器開啟。解析器標示的行號,是「發現無法繼續解析的位置」;真正的錯誤可能在前一行的引號、冒號或縮排。

常見語法錯誤與正確寫法

  1. 使用空格縮排。建議每層縮排 2 個空格,不要用 Tab 表示層級。同一層的欄位必須對齊。
  2. 冒號後加空格。mixed-port: 7890 是鍵值寫法,mixed-port:7890 無法表示相同的對應結構。
  3. 使用半形標點。全形冒號、彎引號與全形空格都會改變語法,請勿使用文書編輯器修改設定。
  4. 確認清單項目的連字號。rules 等清單中的每個項目前都要有 - ;連字號後的空格不可省略。
  5. 避免重複的頂層鍵。不要再新增一段同名的 dns 或 rules;不同解析器處理重複鍵的方式可能不同。

以下僅示範基本欄位語法,不含遠端節點,也不能取代訂閱。範例呈現連接埠、模式、巢狀欄位與規則清單的層級:

mixed-port: 7890
allow-lan: false
mode: rule
log-level: info

dns:
  enable: true
  nameserver:
    - 1.1.1.1
    - 8.8.8.8

rules:
  - DOMAIN-SUFFIX,example.com,DIRECT
  - MATCH,DIRECT

這裡的 7890 是範例監聽連接埠,不是下載訂閱的連接埠;修改它通常無法修復遠端訂閱解析錯誤。範例中的 DNS 位址也不保證所有網路都能連線,正式設定應依網路環境選擇。不要為了修正縮排,就整段覆寫現有的 DNS 設定。

語法正確後,還要檢查名稱引用

YAML 可以解析,不代表核心一定能載入。假設規則寫成 MATCH,Proxy,設定中就必須有名為 Proxy 的有效出站目標,例如代理群組。群組名稱的大小寫、空格與符號都必須一致。如果節點篩選條件排除了所有候選節點,也要確認代理群組是否仍有可用選項。

在本機修改由訂閱產生的檔案,可能會在下次更新時被覆寫。若要長期保留變更,請使用用戶端支援的覆寫、合併或擴充設定機制,並先確認其適用範圍。

檢查網路:分開測試訂閱下載與節點連線

節點可以連線,不代表訂閱網域也能存取;訂閱下載成功,也不代表每個節點都可用。如果日誌顯示逾時、網域名稱解析或 TLS 錯誤,應先排除請求連線問題,不要立刻修改節點通訊協定與分流規則。

  1. 確認一般網頁能正常存取。公共 Wi-Fi 可能需要先在瀏覽器完成驗證。系統日期或時區錯誤,也可能導致 HTTPS 憑證驗證失敗。
  2. 切換網路進行比較。例如從家用寬頻切換至手機熱點,並在同一個用戶端手動更新一次。只更換網路、保留其他設定,方便判斷是否受到目前網路限制。
  3. 分別測試直連更新與代理更新。若用戶端支援選擇訂閱更新的連線方式,請分別測試。有些用戶端的更新請求不會使用系統代理,因此不能只看系統代理開關來推斷實際連線路徑。
  4. 檢查失效的本機代理。Windows 11 可前往「設定」→「網路和網際網路」→「Proxy」查看手動代理位址。若仍指向已關閉的 127.0.0.1:7890,使用該設定的請求可能會失敗;實際連接埠請以用戶端設定為準。
  5. 避免陷入更新循環。若必須使用現有代理才能下載訂閱,請先保留一份可用設定,再執行更新。刪除舊設定可能導致訂閱請求也失去可用的連線出口。

遇到 429 時,請停止頻繁點擊更新;若伺服器提供 Retry-After,請依指示等待。遇到 5xx 時,記下時間與狀態碼,再聯絡服務商。連續重新整理通常無法修復伺服器錯誤,還可能觸發更多限制。

匯入成功後的驗證與求助清單

匯入成功只代表設定已被接受,不代表流量已由它接管。請先確認目前選取的設定,再檢查代理群組、規則模式,以及系統代理或 TUN 狀態。TUN 用來接管流量,不是修復訂閱文字格式的開關。

從三個層面驗證結果

  • 設定層:確認更新時間已變更、節點與代理群組正常顯示,且日誌不再出現語法或引用錯誤。
  • 連線層:選擇一個節點測試連線。延遲測試失敗與訂閱解析失敗發生於不同階段,請分別記錄。
  • 流量層:造訪預期會經過代理的網站,並在連線記錄中確認符合的規則與實際出口。在規則模式下,部分請求直連是正常的設定行為。

仍然失敗時,請提供以下資訊

向服務商或用戶端維護者求助時,請提供用戶端版本、核心版本、作業系統版本、失敗時間、HTTP 狀態碼,以及已遮蔽敏感資訊的完整錯誤訊息。若提示 YAML 行號,請附上該行及前後各 3 行的去識別內容;若是網路問題,請說明直連、代理與手機熱點測試的結果。

不要只傳「Clash 不能用」,也不要公開整份訂閱檔案。清楚區分「請求失敗」、「解析失敗」、「載入失敗」與「連線失敗」,通常能減少來回確認。若要確認流量接管設定,可繼續查看系統代理入門步驟;設定欄位與網路中斷問題,則可前往疑難手冊的 config.yaml 章節繼續檢查。