本文目錄
想升級不丟設定,先把外掛程式、核心、訂閱和備份拆開
OpenClash 升級最容易出問題的地方,是一次同時換 LuCI 外掛程式、Mihomo 核心、訂閱設定和覆寫。先備份,再只動一層;每一層透過後再繼續。這樣頁面打不開、核心起不來或訂閱更新失敗時,都有對應的還原檔案。
截至 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。遠端異地維護沒有備用入口時,不應直接升級全屋網路的外掛程式或核心。
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。設定和訂閱含實際認證資訊,封存不要放在公開雲端硬碟。
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 系统
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 核心
OpenClash 官方說明要求先在版本更新頁確認核心編譯版本。手動安裝時,核心解壓縮到 /etc/openclash/core/ 並命名為 clash_meta,還要與路由器 CPU 架構匹配且具有執行權限。
保留舊核心副本,更新後先載入原來的同一份設定。日誌若出現 Exec format error,通常是架構錯誤;Permission denied 則看執行權限;YAML 解析失敗才回到設定欄位。
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 恢復原路徑。兩種方式不要在同一次恢復裡交叉執行。
恢復順序
停止 OpenClash
避免處理程式在解壓縮時繼續寫設定和快取。
優先用設定檔管理匯入官方備份
這是普通使用者最穩妥的入口,匯入後先檢查設定路徑。
只有手動封存時再用 SSH
先另存目前目錄,再把封存按原路徑解壓縮。
恢復權限並啟動
確認 clash_meta 可執行,提交 UCI 後啟動 OpenClash。
先接入一台裝置
直連、代理、DNS 和路由器管理都正常後再恢復全屋。
BACKUP='/tmp/openclash-backup-YYYY-MM-DD-HHMM.tgz'
tar -tzf "$BACKUP" | sed -n '1,80p'
/etc/init.d/openclash stop
cp -a /etc/openclash /etc/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哪一層先失敗,就停在哪一層
升級結束不是以版本號變新為準,而是路由器頁面、核心、設定和終端都恢復正常。只要其中一層先發生錯誤,就回到剛才那一步,不再繼續更新下一層。
LuCI 頁面空白或 404
還原外掛程式包、修依賴或清瀏覽器快取;不動核心和訂閱。
clash_meta 無法執行
恢復 before-upgrade 檔案,檢查 CPU 架構與權限。
核心啟動但所有終端 DNS 失敗
切回舊核心或舊設定,檢查 DNS 劫持與防火牆變更。
自訂規則或覆寫消失
從 custom/overwrite 或官方備份恢復,不覆蓋整個 OpenWrt。
只有電視或遊戲機異常
先重連該裝置並清舊 DNS 租約,不繼續升級其他元件。
恢復全屋前
- LuCI 頁面能開啟,外掛程式版本與安裝套件一致
- clash_meta -v 能執行,啟動日誌沒有架構、權限或解析錯誤
- 常用訂閱能更新,自訂規則和覆寫仍在
- 先用一台電腦分別測試直連、代理、DNS 和路由器管理頁
- 最後再讓手機、電視和遊戲機重新取得 DHCP 與 DNS
