安全與隱私 · Clash 技術部落格

Clash 訂閱連結怎麼匯入?格式識別、更新失敗與洩露處理

匯入訂閱不是把網址儲存下來就結束了。先看連結回傳的是設定、錯誤頁面還是已失效回應,再完成更新、啟用和實際連線驗證。

  • 訂閱匯入
  • 設定更新
  • 連結安全
本文目錄

匯入前先確認連結回傳 Clash 或 Mihomo 設定

Clash 能直接匯入的不是任意網址,而是服務方提供的 Clash 或 Mihomo 相容訂閱。用戶端存取連結後,伺服器端可能回傳帶 proxies、proxy-groups、rules 的 YAML,也可能回傳編碼文字、登入頁或錯誤頁面;回傳內容決定了能不能解析。

把連結粘進用戶端後,「新增成功」只能說明位址被儲存,不能說明設定已經下載,更不能說明裡面的節點能用。

訂閱位址中的 token 通常等同於讀取認證資訊。後面的檢查只需要錯誤狀態、回應類型和時間,不需要公開完整 URL。聊天截圖、錄屏和日誌分享前,把問號後的參數遮住。

401、網頁 HTML 和 YAML,代表的是三種問題

更新結果怎麼讀

看到的結果含義與處理
401 / 403token 失效、帳號狀態異常或伺服器拒絕存取
404位址路徑已變或連結複製不完整
200,但內容以 <html 開頭回傳了登入頁、驗證頁或錯誤網頁,不是設定
200,包含 proxies / proxy-groups / rules看起來是 Clash/Mihomo YAML,可繼續解析
download failed / timeout用戶端沒有在時限內拿到回應,檢查網路和伺服器端

有些訂閱服務會根據 User-Agent 回傳不同格式。瀏覽器直接開啟得到一串內容,不代表 Clash 請求時一定相同;反過來,瀏覽器看到網頁也不一定說明連結失效。把用戶端版本、更新時間和狀態碼交給提供方,比反覆刪除設定更有用。

把儲存、更新和啟用放在同一次操作裡

一次完整的遠端匯入

  1. 複製服務方標示的 Clash 或 Mihomo 連結

    從開頭的 https 到最後一個參數完整複製,不帶多餘空格。

  2. 在 Profiles 或設定頁新增遠端訂閱

    名稱寫成自己能認出的來源,不要把 token 放在名稱裡。

  3. 立即按一下更新

    留意狀態碼、解析提示和新的更新時間。

  4. 把這份設定設為目前使用

    到 Proxies 頁確認策略群組和節點已經出現。

如果用戶端提供直接連結、設定連結或 URL Scheme 等多種入口,先用普通遠端連結。某一種方式報 client error(Connect) 時,可以換用戶端文件列出的另一種匯入入口,但不要把「允許無效憑證」長期開啟。

parse error 說明內容到了,格式沒過關

出現 parse、yaml: unmarshal、field not found 一類錯誤,說明網路請求大多已經完成,用戶端卡在讀取內容。常見原因是伺服器端回傳了其他用戶端格式、YAML 縮進損壞,或設定使用了目前核心不支援的欄位。

此時換節點通常沒有幫助。保留第一行具體發生錯誤和行號,核對用戶端的 Mihomo 版本,再讓訂閱提供方產生相容格式。不要手動修遠端設定中的幾十處內容,因為下一次更新會全部覆蓋。

unexpected character '<'

回應很可能是 HTML 頁面,檢查登入、驗證或伺服器端錯誤。

mapping values are not allowed

YAML 縮進或符號被破壞,請提供方重新產生。

unsupported proxy type / field not found

核心版本與設定欄位不匹配,升級受支援版本或換相容訂閱。

更新時間變了,代理頁為空,要看設定裡有沒有可用組

遠端更新顯示成功,但 Proxies 頁面沒有節點,可能是回傳內容只有規則,可能所有節點被篩選掉,也可能目前選中的仍是舊設定。回到 Profiles 看選中標記,再檢查設定是否包含 proxies 或 proxy-providers,以及 proxy-groups 是否引用了它們。

節點存在卻全部顯示在一個未被使用的組裡,也會讓主策略停在 DIRECT。選擇一個實際包含節點的策略群組並固定節點,隨後用 Connections 觀察一條請求;這比只看延遲按鈕更能說明設定是否接通。

空清單時逐項對照

  • 目前設定是不是剛更新的那一份
  • 設定中是否聲明 proxies 或 proxy-providers
  • proxy-groups 是否正確引用節點或 provider
  • 覆寫指令碼有沒有把所有節點過濾掉

還能上網,不代表今天的訂閱更新成功

Clash 通常會繼續使用上一次下載成功的本機副本。因此訂閱已經過期或伺服器端正在發生錯誤時,現有節點仍可能暫時可用。判斷更新狀態要看「最後更新時間」和本次錯誤,而不是只看網頁能不能開啟。

舊設定能用時不要急著刪除。先匯出錯誤資訊、確認帳號和連結狀態,等新位址更新成功後再移除舊記錄。直接刪掉唯一可用副本,會讓原本可檢查的問題變成立即斷網。

舊節點正常,新更新 401
伺服器端拒絕了目前認證資訊;登入服務面板檢查訂閱位址。
家庭網路更新超時,手機熱點成功
問題更靠近目前網路路徑,而不是 YAML 格式。
多個用戶端同一時間失敗
優先查看服務公告和訂閱狀態,不要逐台重裝。

用一條實際請求結束匯入流程

選中新的 Profile,到 Proxies 固定一條節點,保持 Rule 模式並開啟系統代理。存取一個熟悉的網頁時,Connections 應出現目標網域、命中規則和出口。延遲測試只說明探測位址有回應,不能替代這次實際請求。

如果請求進入 Clash 後顯示 timeout,換另一條節點;若完全沒有記錄,檢查系統代理;若顯示 DIRECT,查看規則。頁面正常開啟並且記錄與選擇一致,才說明這條訂閱已經完成下載、解析、啟用和轉發。

一旦完整訂閱出現在公開截圖、群聊、工單或陌生轉換站,應到服務面板重置訂閱位址。新 token 生效後,在自己的用戶端替換連結並更新;舊位址應回傳無效狀態。只修改 Profile 的顯示名稱不會讓舊認證資訊失效。

  1. 產生新的訂閱位址

    使用服務方提供的重置或重新整理 token 功能。

  2. 更新受控裝置

    逐台替換舊 URL,並確認新的更新時間和節點清單。

  3. 驗證舊位址失效

    不要繼續在聊天中傳送舊連結,只檢查服務面板給出的狀態。

  4. 檢查異常用量

    發現陌生裝置或流量變化時,按服務方帳號安全流程處理。