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

OpenClash 怎麼升級不丟設定?外掛程式、核心、訂閱與備份恢復教學

OpenClash 的外掛程式、核心、設定和覆寫並不是同一個更新項。分開備份、分步升級,哪一步出錯就停在哪一步,才不會一次更新後全屋斷網。

  • OpenClash
  • OpenWrt
  • 升級
  • 備份恢復
本文目錄

準備更新路由器上的代理外掛時,除了在意自訂規則會不會遺失,也要考慮失敗後能否進入管理頁面、找到可用備份。網頁外掛、代理核心和訂閱應分開處理,先讓一台裝置驗證恢復,再接回其他裝置,避免一次升級變成全屋排障。

升級 OpenClash 前,確認包格式、空間與路由器備用入口

LuCI 是路由器的網頁管理介面,Mihomo 是處理代理連線的核心。OpenClash 升級時分別驗證網頁外掛程式、核心和訂閱設定,不要同時更換它們及覆寫設定;儲存對應備份,出現問題才能恢復出錯的部分。

截至 2026-07-16,OpenClash 官方 Latest 為 v0.47.116,同時提供 luci-app-openclash_0.47.116_all.ipk 與 luci-app-openclash-0.47.116.apk。

傳統 opkg 系統使用 IPK,採用 apk 包管理的新 OpenWrt 分支使用 APK,不能因為擴展名相近就混裝。

透過有線或區域網路確認即使 OpenClash 停止也能開啟路由器管理頁,再檢查 /overlay 與 /tmp。遠端異地維護沒有備用入口時,不應直接升級全屋網路的外掛程式或核心。

空間與目前版本,相容 opkg 與 apk 系統
df -h /overlay /tmp
if command -v opkg >/dev/null 2>&1; then
  opkg list-installed | grep -i openclash
else
  apk list --installed | grep -i openclash
fi
uci show openclash.config.config_path

同時保留應用內備份和一份手動封存

官方 Release 說明寫明:外掛程式設定可備份,並能在「設定檔管理」上傳壓縮檔還原。先用介面產生一份備份並下載到電腦,再做手動封存,後者便於確認哪些檔案真的被儲存。

常用關鍵位置包括 /etc/config/openclash、/etc/openclash/config、custom、overwrite 與 core。設定和訂閱含實際認證資訊,封存不要放在公開雲端硬碟。

透過 SSH 建立手動備份,只收集本機實際存在的目錄
BACKUP=/tmp/openclash-backup-$(date +%F-%H%M).tgz
set --
for ITEM in etc/config/openclash etc/openclash/config etc/openclash/custom etc/openclash/overwrite etc/openclash/core; do
  [ -e "/$ITEM" ] && set -- "$@" "$ITEM"
done
[ "$#" -gt 0 ] || { echo 'No OpenClash files found'; exit 1; }
tar -C / -czf "$BACKUP" "$@"
ls -lh "$BACKUP"
tar -tzf "$BACKUP" | sed -n '1,40p'

更新 LuCI 外掛程式後,頁面和原設定清單應仍能開啟

備份確認能列出檔案後,先只更新網頁外掛程式。此時繼續使用原來的核心和設定,頁面若出錯就能把原因鎖定在 LuCI 包與依賴上。

下方只執行目前路由器套件管理器對應的安裝命令:opkg 系統用 IPK,apk 系統用 APK。先確認檔案來自已核對的專案發布頁,不要把兩條命令整段貼上執行。

把包名換成實際下載檔案
# opkg 系统
opkg install /tmp/luci-app-openclash_0.47.116_all.ipk

# apk 系统只使用对应 APK,不执行上面的 opkg 命令
apk add --force-overwrite --clean-protected --allow-untrusted /tmp/luci-app-openclash-0.47.116.apk

安裝結束後重新整理 LuCI,查看 OpenClash 頁面、設定檔清單和版本更新頁。頁面空白、依賴發生錯誤或選單消失,問題就在外掛程式與系統套件;此時不要繼續換 Mihomo 核心或更新訂閱。

clash_meta 要匹配 CPU 架構,並保留舊核心

OpenClash 官方說明要求先在版本更新頁確認核心編譯版本。手動安裝時,核心解壓縮到 /etc/openclash/core/ 並命名為 clash_meta,還要與路由器 CPU 架構匹配且具有執行權限。

保留舊核心副本,更新後先載入原來的同一份設定。日誌若出現 Exec format error,通常是架構錯誤;Permission denied 則看執行權限;YAML 解析失敗才回到設定欄位。

下方第一行用於備份,後兩行用於檢查替換後的新核心,不要整段連續執行。先確認備份成功,再放入已核對架構的新檔案;替換完成後,才執行 chmod 和版本命令。任何一步失敗就停止。

第一行在替換前備份;後兩行在替換完成後檢查
cp -a /etc/openclash/core/clash_meta /etc/openclash/core/clash_meta.before-upgrade
chmod 0755 /etc/openclash/core/clash_meta
/etc/openclash/core/clash_meta -v

在“設定檔訂閱”手動更新,核對節點與自訂規則

升級驗證階段先繼續使用原來的設定和節點,確認故障沒有來自外掛程式或核心。頁面、核心版本、DNS 和規則都正常後,再在「設定檔訂閱」中只更新一份常用訂閱,並記錄更新時間、節點數量和第一條錯誤。不要在升級當天同時更換訂閱位址、轉換模板和覆寫。

訂閱 URL 或 token 一般儲存在 OpenClash 設定與 UCI 設定中,備份檔案屬於敏感資料。恢復後如果清單有名稱卻不能更新,應先檢查 URL 是否完整、系統時間與 401/403 狀態,不要再次覆蓋外掛程式包。

更新回傳 401 / 403

訂閱認證資訊或服務權限有問題;保留舊設定執行,重新取得合法 URL。

下載成功但 YAML 解析失敗

比較更新前後的設定和目前 Mihomo 支援欄位,不還原 LuCI 外掛程式。

節點更新了,自訂規則消失

恢復 custom/overwrite,並確認覆寫載入順序;不要把快取當備份。

恢復時只選一種方法:介面匯入或完整封存

普通情況下優先使用 OpenClash 自己匯出的備份。只有頁面已經無法使用、而且你確認手動封存內容正確時,才從 SSH 恢復原路徑。兩種方式不要在同一次恢復裡交叉執行。

恢復順序

  1. 停止 OpenClash

    避免處理程序在解壓縮時繼續寫設定和快取。

  2. 優先用設定檔管理匯入官方備份

    這是普通使用者最穩妥的入口,匯入後先檢查設定路徑。

  3. 只有手動封存時再用 SSH

    先另存目前目錄,再把封存按原路徑解壓縮。

  4. 恢復權限並啟動

    確認 clash_meta 可執行,提交 UCI 後啟動 OpenClash。

  5. 先接入一台裝置

    直連、代理、DNS 和路由器管理都正常後再恢復全屋。

手動封存恢復示例,BACKUP 路徑先替換為實際檔案
BACKUP='/tmp/openclash-backup-YYYY-MM-DD-HHMM.tgz'
tar -tzf "$BACKUP" &&
/etc/init.d/openclash stop &&
cp -a /etc/openclash /etc/openclash.failed-$(date +%F-%H%M) &&
cp -a /etc/config/openclash /etc/config/openclash.failed-$(date +%F-%H%M) &&
tar -C / -xzf "$BACKUP" &&
chmod 0755 /etc/openclash/core/clash_meta &&
uci commit openclash &&
/etc/init.d/openclash restart

這組命令以 && 串接,前一步回傳失敗時,後續命令不會繼續。出現錯誤後先檢查失敗步驟;若已解壓縮部分檔案,別直接重新啟動服務,先確認配置與核心是否完整,再決定繼續還原或維持停止狀態。

頁面、核心、DNS 或個別裝置出錯,分別怎樣恢復?

LuCI 頁面空白或 404

還原外掛程式包、修依賴或清瀏覽器快取;不動核心和訂閱。

clash_meta 無法執行

恢復 before-upgrade 檔案,檢查 CPU 架構與權限。

核心啟動但所有終端 DNS 失敗

切回舊核心或舊設定,檢查 DNS 劫持與防火牆變更。

自訂規則或覆寫消失

從 custom/overwrite 或官方備份恢復,不覆蓋整個 OpenWrt。

只有電視或遊戲機異常

先重新連線該裝置,重新取得 DHCP 設定並清除舊 DNS 快取;不要繼續升級其他元件。

恢復全屋前

  • LuCI 頁面能開啟,外掛程式版本與安裝套件一致
  • clash_meta -v 能執行,啟動日誌沒有架構、權限或解析錯誤
  • 常用訂閱能更新,自訂規則和覆寫仍在
  • 先用一台電腦分別測試直連、代理、DNS 和路由器管理頁
  • 最後再讓手機、電視和遊戲機重新取得 DHCP 與 DNS

參考資料