安裝與遷移 · Clash 技術部落格

FlClash v0.9.0 升級:DNS 與覆寫遷移

FlClash v0.9.0 升級後找不到 DNS 覆寫開關或舊的自訂覆寫?先備份,區分全域 DNS 欄位與獨立的自訂設定,再核對最終設定、切換與重新啟動;失敗時先還原可用的訂閱。

  • FlClash
  • v0.9.0
  • DNS
  • NTP
  • 自訂設定
本文目錄

FlClash 升級到 v0.9.0 後,DNS 頁面不再有原本的總覆寫開關,舊自訂覆寫中的代理群組和規則也可能消失。繼續照舊版操作,很容易改了設定卻得不到預期結果。先分清楚每項設定會套用到哪一種配置,再決定如何遷移。

升級後,舊的覆寫開關和設定去哪了?

v0.9.0 的正式發布紀錄明確移除了 DNS/NTP 覆寫開關和舊自訂覆寫。這是設定方式的改變,不能把開關消失直接當成訂閱失效,也不能保證升級會自動將原本的自訂內容轉成新設定。DNS 負責將網域名稱解析成位址,NTP 用於校時;先確認自己實際改過哪一項。

這些步驟適用於從舊版遷移的桌面與 Android 使用者。介面語言不同,項目名稱也可能不同;若選單結構或版本不符,先核對實際版本,不要照搬其他用戶端的操作入口。

先判斷你使用哪一種配置

你要調整的內容v0.9.0 的套用範圍
URL 或檔案配置的 DNS全域 DNS 頁面依照選取的欄位覆寫這些配置;未選取的欄位仍會合併原設定與預設值。
自訂配置的 DNS/NTP在該自訂配置內設定;DNS 在首頁,NTP 位於「更多」。不能假定全域 DNS 頁面也會覆寫它。
舊自訂覆寫中的組與規則需要重新建立獨立的自訂配置;新配置不會自動疊加到目前的訂閱。

先保留升級前的備份與可用配置

尚未升級時,從「工具」進入「備份與恢復」,在「本機」分頁選擇備份,並將檔案複製到應用程式資料目錄以外的位置。另外保存原訂閱位址、設定檔,以及自訂代理群組、規則和順序。備份包含敏感位址或帳號,分享前要遮蔽敏感資訊。

舊版自訂覆寫的資料遷移會移除為覆寫儲存的組、節點和規則,讓原訂閱改以一般配置運作。v0.9.0 還原舊備份時也會讀取並遷移舊資料,不能保證舊自訂覆寫會重新出現。

已經升級且沒有舊副本時,先備份目前狀態,保留仍可用的訂閱。不要刪除資料,也不要反覆覆蓋唯一的副本。缺少的舊值只能從既有檔案、截圖或獨立備份找回;本文無法憑空還原已遺失的規則。

升級前後,先完成這三件事

  1. 記下應用程式版本與目前配置

    核對實際 FlClash 版本,記錄目前配置名稱、節點選擇、代理模式,以及系統代理或 TUN 狀態。一併保存原 DNS 與需要保留的 NTP 值。

  2. 確認備份確實儲存成功

    找到剛匯出的檔案並複製到獨立位置,確認檔案可讀取且大小不為零。原備份保持不變,後續測試使用副本;不要把只存在應用程式內的紀錄當成獨立備份。

  3. 安排一次可以中斷的遷移

    只從專案正式 Release 選擇適合平台的版本。先保留原訂閱,升級後逐項遷移與測試,不要同時重設 DNS、規則、核心和所有代理開關。

DNS 按欄位覆寫,如何恢復原訂閱的設定?

全域 DNS 頁面只修改 URL 與檔案配置。開啟「工具 → 進階配置 → DNS」,用「新增覆寫項」選欄位並編輯值。例如只想改 nameserver,就只新增 nameserver;其他欄位不要選。

想撤銷某個覆寫時,在 DNS 頁面移除該欄位,再查看最終設定。只將值改回看似預設的位址,仍然保留著覆寫,不能說明已改由原訂閱決定。先記下原本加入的欄位,以便撤銷本次測試。

未選取的欄位,不代表最終檔案一定與訂閱完全相同:實作仍會合併預設 DNS。原 dns 未啟用時,會補入啟用、fake-ip 與 nameserver 等預設項目。判斷時必須比較原設定、選取的欄位與最終設定,不能只看開關是否消失。

一般配置可從配置選單的「更多」進入「最終配置」;自訂配置選單則直接提供「最終配置」。核對 dns 區段中的 enable、enhanced-mode 與 nameserver 是否符合預期,不要把訂閱原文當成目前正在執行的結果。

每次只修改一個 DNS 欄位

  • 保存原值與原本選取的欄位清單。
  • 加入需要的欄位並編輯值,查看最終設定,確認它確實出現。
  • 若結果不符,移除剛加入的欄位,重新檢查最終設定與同一網域的連線。

將舊自訂覆寫重建成獨立配置

從「配置」進入「添加配置」,選擇「自訂」。這裡建立的是獨立 Profile。配置清單只會選取一個目前配置,因此只建立空白的自訂配置,不會自動取得原訂閱的節點、代理群組與規則。

新的自訂配置可以引用原 URL 或檔案配置中的節點,但不會複製其策略群組與規則。保留原配置,只引用真正需要的集合;具體新增方式按下方步驟完成。

要修改自訂 DNS,請在這份設定自己的 DNS 頁面調整;要設定 NTP,從「更多」進入 NTP,依選取的欄位設定。

重建完成後,再切換配置

  1. 替新配置取一個容易辨識的名稱

    保留原訂閱作為可用配置,新建並命名遷移副本。不要刪除原訂閱,也不要把新配置當成可以同時啟用的覆寫層。

  2. 重建代理群組、節點引用與規則

    在新配置的策略群組中開啟節點選擇,使用新增節點,在代理集分類選取原配置名稱;再依原記錄重建規則,指向已有群組。外部資源頁只檢查或編輯已引用的集合,不用來匯入整份訂閱。找不到舊值或資源載入失敗時,繼續使用原訂閱。

  3. 檢查內容提示與最終設定

    修正缺少的資源引用、設定錯誤與空組,核對代理群組與規則順序。NTP 只會合併選取的欄位;需要哪些欄位與值,應依自己的原設定核對,不能把未選取任何欄位當成已重建全部舊 NTP 設定。

  4. 在配置清單選取新配置

    確認自訂內容完整後,才將它選為目前配置並進行實際連線測試。清單目前選取的項目、最終設定與實際使用的節點,必須對應同一個 Profile。

以切換、重新啟動與實際連線確認遷移結果

介面顯示儲存成功或節點測速正常,只能說明部分操作已完成。要確認遷移結果,使用同一配置、節點與目標網域進行比較,查看最終設定與連線日誌,再檢查原本依賴的規則是否命中。

全域 DNS 欄位會套用到 URL 與檔案配置,因此儲存了多份這類配置時,要逐一切換檢查;自訂配置則另行驗證。不要因為第一份配置可以連網,就認為其他配置也保留了各自的 DNS 行為。

遷移後的驗證清單

  • 目前配置名稱與應用程式版本正確,原訂閱與獨立備份仍在。
  • 最終 dns 中的 enable、enhanced-mode、nameserver 符合選取欄位與原設定的預期。
  • 常用網域可以解析,網頁或應用程式能完成實際請求,日誌沒有持續的解析或設定錯誤。
  • 自訂代理群組有可選節點,重要規則正確命中,外部資源引用沒有缺漏。
  • 切換其他 URL 或檔案配置後,再核對全域 DNS 的實際影響;自訂 DNS/NTP 分別驗證。
  • 完整結束並重新啟動後,目前配置、選取的欄位、節點與同一請求的結果仍正常。

遷移失敗時,先還原可用的訂閱

先將目前配置切回保留的原訂閱,撤銷本次新增的 DNS 覆寫欄位,再用相同請求核對。如果在 TUN 下持續無法連網,暫停 TUN;只有原方案本來支援系統代理時,才暫時使用它。系統代理的涵蓋範圍不同,不能當成 TUN 已修復。

需要還原舊版時,先保存新版狀態,再使用適合平台的官方舊版與升級前備份。從「工具」的「備份與恢復」進入「本機」還原,要還原舊組與規則時,核對「恢復所有資料」。舊版不保證能讀取新版備份或資料庫;不要讓舊程式覆蓋唯一的資料。

在 v0.9.0 中還原舊備份,仍然會進行遷移;「恢復所有資料」也不代表舊自訂覆寫會自動復原。還原前確認備份版本、內容與還原方式,保留原檔案;操作失敗時,不要用同一份副本反覆覆蓋目前可用的狀態。

沒有可靠的舊備份時,先讓原訂閱維持可用,逐項重建缺少的內容,或等待專案提供明確的遷移方法。向專案回報時,附上實際版本、配置類型、選取的 DNS/NTP 欄位、遮蔽敏感資訊後的最終設定片段,以及最短的錯誤日誌;不要傳送訂閱 Token、帳號或完整的敏感備份。

上述選單與遷移行為依據 v0.9.0 的官方發布資訊、固定版本原始碼與遷移測試,並未在所有平台完成實機升級驗證。若選單不同或遷移後仍有異常,請保留實際日誌,依專案後續回覆處理。

參考資料