4.5 KiB
软件、内核与规则升级
三个部分分别更新:Clash Web 管理程序(包含 Web UI)、Mihomo 代理内核、大陆规则库。管理员、订阅与选择在数据目录中,升级程序时不覆盖它们。
检查版本
「系统设置 → Mihomo 服务 → 内核更新」可手动检查 GitHub 官方最新稳定版,显示当前版本、最新版本和发布说明链接。查询结果缓存 10 分钟,避免反复请求 GitHub。内核离线或运行开发版时仍可查最新稳定版,但不能确认版本高低。网络或 GitHub 限流错误会明确提示。
检查仅获取版本信息,不下载程序、不自动升级;未开启无人值守更新。管理程序从仓库获取源码构建,或使用维护者提供的更新包。内核更新检查不等同于管理程序更新。
升级 Mihomo
先在 UI 导出配置备份。正式 VM 升级前建议做 PVE 快照,便于恢复完整服务状态。浏览官方发布说明,选择明确的稳定版版本号。
在项目/解压目录下载到新文件;将 vX.Y.Z 替换为所选真实版本:
python3 scripts/fetch-mihomo.py --version vX.Y.Z --output bin/mihomo.next
下载脚本选择当前机器架构对应的官方资产,根据 GitHub 的 SHA-256 digest 校验,然后解压。缺少校验值或校验失败会终止,不覆盖现有内核。此步会产生一次新的内核下载。
正式 VM 上,先放置候选内核并用现有配置验证,成功后再替换:
sudo install -m 0755 -o root -g root bin/mihomo.next /usr/local/bin/mihomo.next
sudo -u clashweb-mihomo /usr/local/bin/mihomo.next -t \
-d /var/lib/clashweb-core -f /var/lib/clashweb-core/config.yaml
只有校验成功才执行:
sudo install -m 0755 -o root -g root /usr/local/bin/mihomo /usr/local/bin/mihomo.previous
sudo mv /usr/local/bin/mihomo.next /usr/local/bin/mihomo
sudo systemctl restart clashweb-mihomo
sudo systemctl status clashweb-mihomo --no-pager
在 UI 确认内核版本和节点选择,并用测试客户端验证大陆/国外访问。重启期间代理连接会中断。新版本异常时恢复旧程序:
sudo install -m 0755 -o root -g root /usr/local/bin/mihomo.previous /usr/local/bin/mihomo.rollback
sudo mv /usr/local/bin/mihomo.rollback /usr/local/bin/mihomo
sudo systemctl restart clashweb-mihomo
本机开发预览也可先下载 bin/mihomo.next,使用 -t -d ./data/mihomo -f ./data/mihomo/config.yaml 校验;成功后停止预览内核,保留旧二进制再替换 bin/mihomo 并重新启动。保持 TUN 关闭。不要在开发机执行上述正式 VM 的 systemd 操作。
升级 Clash Web 管理程序
取得新的项目源码,在开发机执行 make build。只复制新的 bin/clashweb 到目标 VM,保留数据目录:
sudo install -m 0755 -o root -g root /usr/local/bin/clashweb /usr/local/bin/clashweb.previous
sudo install -m 0755 -o root -g root bin/clashweb /usr/local/bin/clashweb.next
sudo mv /usr/local/bin/clashweb.next /usr/local/bin/clashweb
sudo systemctl restart clashweb
重新打开页面确认登录、订阅和节点。失败时将 clashweb.previous 复制到新临时文件,再移动回 clashweb 并重启。未来若更新涉及数据库格式变更,应遵循相应发布说明;不能只替换旧二进制就假定数据必然兼容。
更新规则
正式 VM 上在项目/解压目录运行:
sudo scripts/update-rules.sh
下载后校验当前配置、重启内核,失败时恢复旧规则。与程序更新互相独立。
预构建管理程序更新包
打包脚本生成 clashweb-update-linux-amd64.tar.gz(仅管理服务与嵌入 UI)与 clashweb-linux-amd64.tar.gz(完整安装)。已有部署使用更新包即可,无需升级 Mihomo 或重配网络。
将更新包传到 VM,在包所在目录执行:
tar -xzf clashweb-update-linux-amd64.tar.gz
cd clashweb-update-linux-amd64
sha256sum -c SHA256SUMS
sudo install -m 0755 -o root -g root /usr/local/bin/clashweb /usr/local/bin/clashweb.previous
sudo install -m 0755 -o root -g root bin/clashweb /usr/local/bin/clashweb.next
sudo mv /usr/local/bin/clashweb.next /usr/local/bin/clashweb
sudo systemctl restart clashweb
sudo systemctl status clashweb --no-pager
成功后刷新管理页面,确认登录、订阅和节点状态。管理服务重启不重启独立 Mihomo;管理员、订阅和网络配置保留。
出现异常可按前面的步骤用 clashweb.previous 回退;数据库格式变更应按对应版本说明处理。