連線疑難排解 · Clash 技術部落格

Clash Verge Rev 設定遺失怎麼辦?Profile 還原與備份

Clash Verge Rev v2.5.2 重新啟動後,若訂閱、Profile 或 Merge/Script 設定消失,請先停止寫入並從本機備份還原;本文說明如何辨識問題、還原設定、驗證結果,以及穩定版的適用範圍。

  • Clash Verge Rev
  • Profile
  • 設定遺失
  • 本機備份
  • v2.5.2
本文目錄

先確認是不是同一種 Profile 清理異常

本文只處理一種明確情況:Clash Verge Rev v2.5.2 原本已有訂閱、本機 Profile 或全域 Merge/Script,正常結束、關機或重新啟動後再次開啟,設定清單突然只剩少數項目,原本的覆寫設定也可能變回空白範本。

官方 issue #7577 記錄了 macOS 啟動時 32 個 Profile 檔案被刪除 30 個;issue #7804 記錄了 Fedora 正常關機後的下一次啟動刪除 20 個檔案中的 18 個,後續評論還出現 Windows 與 macOS 報告。這些記錄都指向啟動階段的孤兒檔案清理,而不是訂閱服務同時清空了所有節點。

先開啟應用程式日誌,搜尋 Removed file、Profile 文件清理完成,以及單次啟動中異常大量的檔案刪除記錄。若磁碟中的 Profile 仍在、只有代理頁面空白,應先檢查核心通訊;若檔案存在但顯示 Invalid YAML,先修正格式或欄位;若只有一個訂閱更新失敗而其他 Profile 仍在,也不要直接還原整份應用程式備份。

四個訊號同時出現時,再依本文處理

檢查項目符合本文不符合時
用戶端版本Clash Verge Rev v2.5.2 或基於該程式碼的建置按實際版本的 Release 與 issue 檢查
丟失範圍多個訂閱、本機 Profile 或 Merge/Script 同時消失單一訂閱先檢查回應與更新日誌
發生時機退出、關機或重啟後的首次啟動編輯後立即丟失應檢查儲存與驗證錯誤
日誌證據Removed file 或清理完成且刪除數異常沒有證據時先儲存日誌,不推斷誤刪

還原前先保留整個應用程式資料目錄

還原時會把備份壓縮檔中的 config.yaml、verge.yaml、profiles.yaml 與 profiles 目錄重新寫入應用程式資料目錄。請先將目前的完整目錄和 clash-verge-rev-backup 子目錄複製到其他位置。

即使目前目錄看起來已不完整,也要先保留副本。如此一來,若選錯備份,或舊設定覆蓋新變更,仍可回復至原始狀態。

一般安裝通常會將資料放在系統資料目錄下的 io.github.clash-verge-rev.clash-verge-rev 資料夾;可攜版則放在程式旁的 .config 目錄。若不確定,請以用戶端設定中的應用程式目錄入口為準,不要只憑相似的資料夾名稱刪除資料。

常見應用資料位置

系統普通安裝的常見位置
Windows%APPDATA%\io.github.clash-verge-rev.clash-verge-rev
macOS~/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev
Linux$XDG_DATA_HOME/io.github.clash-verge-rev.clash-verge-rev;未設定時通常在 ~/.local/share 下
可攜版程式目錄/.config/io.github.clash-verge-rev.clash-verge-rev

恢復前必須保留的內容

  • 整個應用資料目錄的只讀副本
  • clash-verge-rev-backup 中現有的全部 ZIP
  • logs 目錄和出現異常時的 latest.log
  • 仍存在的 profiles.yaml、profiles 目錄、Merge.yaml 與 Script.js
  • 原始訂閱 URL 或服務供應商提供的重新匯入入口

先找最新的完整本機備份

Clash Verge Rev v2.5.2 的本機備份位於應用資料目錄中的 clash-verge-rev-backup。自動備份檔案名可能帶有 -auto-scheduled、-auto-merge 或 -auto-script。

issue #7804 的報告者就是從三天前的 auto-script ZIP 找回全域指令碼。

官方 v2.5.2 備份實作會把 profiles 目錄、config.yaml、verge.yaml、可選 DNS 設定和 profiles.yaml 放進同一個 ZIP。

不要只因 ZIP 能開啟就直接還原:先複製一份,再確認備份壓縮檔內同時包含 profiles.yaml 與 profiles/,並選擇故障發生前且時間最近的備份。

有故障前的完整 ZIP

優先使用內建備份記錄恢復,並保留 ZIP 副本。

只有 auto-script 或 auto-merge ZIP

檢查時間與內容;它仍可能包含完整設定集,而不只是單個指令碼。

ZIP 缺少 profiles.yaml 或無法開啟

不要寫入活動目錄,改用更早備份或原始訂閱重建。

沒有任何 ZIP

儲存現存 profiles 檔案,再按原始來源逐項重建。

能開啟用戶端時,用備份記錄恢復

請保持系統代理與 TUN 關閉,開啟設定中的「備份設定」,在「本機備份」下選擇「查看記錄」。找到故障前的備份後,先按「匯出」另存一份,再按「還原」並確認。還原完成後,官方介面會重新啟動應用程式。

如果 ZIP 已經移到其他位置,先使用“匯入備份”把副本加入本機備份清單,再從記錄中恢復。不要把 ZIP 直接解壓縮到正在執行的應用目錄;內建恢復會在寫入後重新載入 config、profiles 與介面設定,手動覆蓋則容易讓磁碟檔案和記憶體狀態不一致。

內建恢復順序

  1. 關閉接管開關

    先關 TUN 與系統代理,確認恢復失敗時裝置仍能直連。

  2. 開啟備份記錄

    進入設定 → 備份設定 → 本機備份 → 查看記錄。

  3. 匯出唯一副本

    把準備恢復的 ZIP 另存到應用資料目錄之外。

  4. 選擇故障前備份

    按檔案名時間確認,不使用故障發生後的空設定備份。

  5. 確認恢復並等待重啟

    還原期間不要強制結束處理程序;重新啟動後,先檢查 Profile,再開啟代理。

沒有完整備份時,按來源逐項重建

沒有可用 ZIP 時,不要編造 profiles.yaml 引用或隨意改隨機檔案名。先從儲存的訂閱 URL 重新匯入遠端 Profile;本機手寫設定則從故障前複製出的 profiles 檔案中逐個辨認,在新增本機 Profile 後貼上內容並讓用戶端重新產生索引關係。

全域 Merge.yaml 與 Script.js 若仍有舊副本,應先在離線副本中比較,再透過用戶端的全域擴展編輯入口恢復。只有備份中沒有舊內容時才重新編寫;不要從公開截圖反推其中可能含金鑰或內部網域的完整規則。

如果訂閱 URL 也丟失,應到原服務提供方重新取得或重置,而不是從瀏覽器歷史、公開日誌或他人的設定中拼接 token。恢復一個來源後就儲存一次狀態,避免一次性匯入所有內容後無法定位哪一步出錯。

按內容來源選擇恢復方式

丟失內容優先來源恢復方式
遠端訂閱原服務供應商帳戶或已儲存的 URL重新匯入並核對節點數量與更新時間
本機 Profile儲存的 YAML 或應用目錄副本新增本機設定後匯入內容並驗證
Merge/Script故障前 ZIP 或離線副本透過全域擴展入口恢復並儲存
只有零散隨機檔案複製出的 profiles 目錄逐個讀取辨認,不直接覆蓋索引

恢復後驗證 Profile、覆寫和實際連線

應用重啟後先不要立刻開啟 TUN。核對 Profile 數量、名稱、類型與目前選中項,再分別開啟 Merge 和 Script,確認關鍵規則不是空模板。遠端訂閱應能手動更新,本機 Profile 應透過設定驗證。

隨後固定一條已知可用節點,僅開啟系統代理完成一次實際 HTTPS 請求,並在連線記錄中確認網域、規則和出站。最後完整退出並重新開啟一次,再核對 Profile 數量與日誌;只有第二次啟動也沒有異常刪除,恢復才算穩定。

恢復完成標準

  • 訂閱和本機 Profile 的數量、名稱及類型符合備份時狀態
  • Merge.yaml 與 Script.js 的關鍵內容存在且能儲存
  • 目前 Profile 能透過設定驗證並啟動 Mihomo
  • 固定節點完成實際 HTTPS 請求,連線記錄顯示預期出站
  • 完整退出後再次啟動,Profile 仍存在
  • 新日誌中沒有異常的 Removed file 或大量刪除記錄

還原失敗時回復至先前保留的狀態

若恢復後應用無法啟動、Profile 數量更少或新設定驗證失敗,先關閉應用,不要連續嘗試多個 ZIP。把這次恢復後的應用資料目錄另存一份,再用最初儲存的現場副本恢復到修改前狀態。

裝置必須先保持 TUN 與系統代理關閉。還原後如果用戶端仍不可用,可以暫時不啟動它,保留日誌、備份 ZIP 與目錄副本,再在官方 issue 中提交脫敏的版本、系統、刪除計數和首條錯誤。不要為修復設定而卸載虛擬網路介面卡、重置整個系統網路或刪除所有應用資料。

失敗還原

  1. 停止繼續寫入

    完整退出 Clash Verge Rev,確認相關處理程式結束。

  2. 儲存失敗結果

    另存恢復後的目錄和日誌,便於比較是哪份檔案導致失敗。

  3. 還原原始現場

    使用恢復前儲存的整個目錄副本,不混入第二份未知 ZIP。

  4. 保持直連等待處理

    不要開啟系統代理或 TUN,使用已遮蔽敏感資訊的證據向官方回報。

修正已合併至開發分支,但尚未納入穩定版

2026 年 9 月 2 日,維護者在 issue #7804 中確認提交 44f6f6e 已移除不可靠的清理邏輯並關閉問題。該提交標題為“preserve files until explicit deletion”,程式碼直接刪除了啟動時 cleanup_orphaned_files 的呼叫和整套自動刪除實作。

截至 2026 年 9 月 3 日,官方 Releases 中最新穩定版仍是 2026 年 7 月 19 日發布的 v2.5.2,發布說明沒有包含這項後續修復。因此不能把“issue 已關閉”寫成“v2.5.2 已修復”,也不應僅為規避風險把日常裝置切到開發建置。

穩妥做法是先完成備份和恢復,減少不必要的重複啟動,等待官方發布明確包含 44f6f6e 的穩定版。新穩定版發布後仍要保留目前備份,核對 Release,再用完整退出、重啟和實際連線做一次回歸驗證。

以後同時保留自動備份和外部副本

恢復完成後,在備份設定中開啟定時本機備份,並保留“關鍵變更時自動備份”。v2.5.2 的實作會在計劃時間以及全域 Merge/Script 變更後建立封存,自動封存最多保留 20 份。這個數量限制意味著本機目錄不是永久歷史庫。

至少再把一份已驗證 ZIP 匯出到應用資料目錄之外,或設定自己控制的 WebDAV。每次大改訂閱覆寫、遷移用戶端或升級前手動建立並匯出一份;恢復演練時只在有還原副本的前提下進行。

長期保護清單

  • 定時本機備份已開啟,頻率符合自己的修改節奏
  • 關鍵變更時自動備份保持開啟
  • 最近一份 ZIP 已匯出到應用資料目錄之外
  • 封存已確認包含 profiles.yaml 與 profiles/
  • 訂閱 URL、Profile 與備份從不公開分享
  • 升級前核對穩定 Release 是否明確包含 44f6f6e 或後續等價修復

參考資料