本文目錄
你在服務模式下更新了 GeoData,用戶端也顯示完成,但啟用含新 GEO 分類的設定時仍然失敗。先分清楚更新的是哪份資料、驗證又讀取哪份資料,不要急著刪除規則或重設應用程式。
顯示 GEO 已更新,為什麼新分類仍無法通過驗證?
Clash Verge Rev v2.5.10 的正式發布說明確認:服務核心更新的 GEO 資料庫沒有同步回應用程式目錄,會使使用新分類的規則無法通過驗證。這不是所有「找不到分類」的共同原因,也不代表你的資料來源一定包含所需分類。
同一來源的新資料庫確實包含該分類、服務更新也成功,但再次驗證仍讀取應用程式的舊資料庫時,才符合本文處理的情況。若只看到更新完成提示,卻不知道實際來源或檔案內容,先保留失敗規則及第一筆錯誤,不要直接判定是同步缺陷。
先依實際情況分辨問題
| 看到的情況 | 下一步 |
|---|---|
| 服務模式更新成功,已確認新資料庫包含分類,但原設定仍出現分類錯誤 | 依本文檢查應用程式更新及驗證前同步 |
| 更新過程出現下載失敗、逾時或檔案錯誤 | 先解決具體更新錯誤,不視為已有新資料庫 |
| 實際資料來源沒有該分類,或規則中的名稱拼錯 | 核對該來源的分類清單與規則名稱 |
| 失敗的是 rule-providers 檔案或規則語法 | 依對應檔案、格式及第一筆錯誤檢查,不當成 GEO 同步問題 |
服務執行目錄與應用程式目錄的資料可能不同
服務核心在自己的執行目錄更新資料,應用程式預先驗證時卻讀取應用程式設定目錄。服務能使用新資料庫,不代表再次啟用設定時,應用程式也已取得同一份資料。只重試原操作,可能一直出現相同的舊分類錯誤。
官方修復會在檔案預先驗證及產生設定的驗證之前,嘗試讀回服務資料庫;驗證快取也納入 GEO 檔案大小與修改時間。因此,只更新 Mihomo 核心或調整一次規則順序,都無法取代這次 Clash Verge Rev 應用程式更新。
自動同步有具體條件:目前服務工作階段須支援讀回 GEO 檔案,應用程式目錄中的目標檔案已存在,而且服務檔案的修改時間必須嚴格晚於應用程式副本。缺少這項能力、工作階段或本機檔案時,可能略過同步;應用程式本機檔案較新時,不會被服務的舊副本覆蓋。
固定版本實作會處理 Country.mmdb、ASN.mmdb、geoip.dat、geosite.dat、geoip.metadb 與 GeoSite.dat。這是可同步的檔案範圍,不表示每台裝置都必須使用所有檔案,也不表示任意自訂檔名都會同步。
Mihomo 的 geodata-mode 決定 GeoIP 使用 mmdb 或 dat;geox-url 則指定相應資料來源。先記錄實際格式與來源,不要為了通過驗證而把另一種格式改副檔名,或任意換成分類不同的資料庫。
保留可用設定,再更新應用程式與原來源資料
保存目前的 Profile、持續套用的覆寫、原模式與節點選擇,另外保留可還原的副本。記錄失敗的完整規則、分類名稱、資料來源與格式;手動維護的資料庫也保留原件。公開求助時另做已移除敏感資料的副本,不上傳訂閱權杖或完整設定封裝檔。
本文已核對的正式應用程式修復版為 v2.5.10。若使用有同項修復證據的後續正式版,無須降級;請從參考資料中的官方發布來源,依系統、架構與原安裝方式更新。本次網站維護不替換託管安裝檔。
讓更新與驗證使用同一份資料
正常退出後更新完整應用程式
先儲存工作,在允許中斷網路時記錄並停止目前的流量接管,從系統匣完整退出應用程式,再完成官方應用程式更新。保留資料目錄,不手動替換服務檔案或刪除資料庫。
重新開啟並核對應用程式與服務狀態
確認實際應用程式包含 v2.5.10 的修復,原設定與覆寫仍在。先啟用已確認可用的設定,讓服務核心先正常執行,再更新資料;若服務不相容或無法啟動,先處理該錯誤,不要反覆點選 GEO 更新。
依原來源更新 GeoData
開啟「設定 → Clash設定 → 更新GeoData」。保留原本的資料庫來源、格式及需要的代理路徑,等候更新回應;遇到下載或讀取錯誤時保留第一筆日誌,不要將提示關閉當成成功。
重新啟用原先失敗的設定
儲存自行維護的來源設定後,再啟用同一個有問題的 Profile,讓應用程式重新驗證。不要只看「已更新GeoData」,也不要直接編輯會重新產生的執行 YAML。
同步仍出錯時,先停止繼續修改
若日誌出現 failed to sync geo database,記錄具體檔案與後續驗證結果。更新提示只代表核心更新操作,不能單獨證明應用程式副本、分類存在及設定驗證都已成功。
同一條規則通過驗證後,再核對實際命中
先確認原先失敗的設定可以儲存並啟用,第一筆分類錯誤不再出現,且該規則仍保留原意。不要透過刪除 GEO 規則、改成全部直連或移除有問題的分類,讓「通過驗證」失去比較意義。
接著使用原本需要的系統代理或 TUN,重新發出一筆應命中該規則的實際請求。到用戶端「連線」頁檢查新連線符合的規則與實際出口,並確認實際使用成功;既有長連線、節點延遲或更新通知都不能取代這項檢查。
再正常重新開啟應用程式,啟用同一份設定複查。若重啟後再次失敗,保存新的第一筆錯誤,分辨資料是否又被其他來源覆蓋、服務讀回功能是否不可用,或資料庫確實缺少分類,不因一次更新通知就宣稱已長期恢復。
確認問題已解決的驗證清單
- 實際 Clash Verge Rev 應用程式已包含此同步修復,原服務模式可以正常執行。
- 實際資料來源與格式明確,使用的資料庫中確實有所需分類。
- 原本有問題的 Profile 能重新驗證並啟用,規則未被刪除或改成另一種含義。
- 新的實際請求命中預期規則與出口,日常工作正常。
- 正常重新開啟後,同一份設定仍可啟用;若有同步警告,已核對具體原因。
本站未安裝或實測真實用戶端來重現此問題。本文依據官方發布說明、固定版本原始碼與 Mihomo 文件;網站的多語言、原始碼層級及瀏覽器檢查,不能取代你裝置上的資料庫與實際分流驗證。
仍然失敗時,依檔案與分類錯誤恢復
GeoData 更新本身失敗
先核對原來源是否可連線、使用的代理路徑及第一筆下載或檔案錯誤,保留可用原件。不要從不明來源補資料庫,也不要修改整個磁碟的權限或系統時間來強行通過。
出現同步警告,或應用程式目錄缺少目標檔案
保留具體檔名與服務狀態,依專案支援的流程檢查相符的服務元件及應用程式本機資料。此修復不是自動補齊遺失檔案的工具;不要手動將檔案放進服務執行目錄。
已更新且已同步,仍顯示某分類不存在
重新核對資料來源的實際分類清單、名稱拼寫與使用格式;不同來源的分類不能互換,不要繼續將這個結果歸因於舊資料庫同步。
更新後,原本可用的設定也無法使用
另存目前狀態,先恢復升級前已驗證可用的設定、原來源與相符資料庫副本,暫時不要引用新分類。確實需要回復應用程式版本時,依專案支援的方式進行,避免新舊程式爭用唯一的資料目錄。
暫時無法更新應用程式或確認資料時,可先使用自己已驗證可用的舊設定繼續工作,並保留待處理規則。這只是恢復工作的方法,不代表舊版本的同步缺陷已修好,也不需要永久停用所有 GEO 規則。
回報時說明作業系統、完整應用程式版本、服務模式、已移除敏感資料的失敗規則、資料庫來源與格式,以及更新、同步、驗證各步驟的結果。不要只提供最後一筆錯誤,也不要公開敏感目標或完整日誌封裝檔。
