Skip to content

BlockNexus v0.7.0

Latest

Choose a tag to compare

@live-ling live-ling released this 26 Oct 12:03
· 3 commits to main since this release

Minecraft 服务器管理面板:本地 Web 面板 + SSH 部署远程 Agent,token 加密通道,浏览器即开即用,面板无需公网地址。

⚠️ 升级须知:本版是 0.7.0(更新引擎 v2),为 1.0.0 正式版做铺垫。
0.6.0 用户:设置 →「版本与更新」→「检查更新」→「立即更新」→「开始更新」即可(旧三步流程,不需要输入下载源;若之前填过自定义源且失败,先清空它)。
0.5.0 及更早:Release 里没有应用包/更新元数据,请手动下载 BlockNexus-v0.7.0-portable.zip 覆盖程序文件(保留 data/)。
0.6.0 的「检查更新」仍依赖 GitHub API;如果这一步不可达,需要手动装一次 0.7.0,之后才能用「不依赖 API 的发现 + 镜像 + 签名」。

更新体验:一键更新(0.7.0 起)

  • 设置页「版本与更新」不再需要「立即更新 → 预览 → 开始更新」两次点击:直接显示 「更新到 vX」,下载量、迁移条数、来源、签名状态内联展示;不可逆更新仍然要求勾选确认。
  • 版本卡上的「下载源」降为高级项;留空即自动(默认 GitHub,可配置镜像)。
  • 更新完成后面板自动重启,页面自动刷新。

发现与校验:不再被 GitHub API 卡住

  • 主路径改为 releases/latest/download/update.json,不消耗 GitHub API 速率限制;API 只用于更新日志/资产大小。
  • 资产 URL 按版本 + 命名约定构造,不再依赖 Release assets 列表。
  • 新增 Ed25519 签名清单:update.json.sig + update.json.files(三个 zip 的 SHA256)。签名通过时镜像也可信;无签名时退回「只认 GitHub 的 SHA256SUMS.txt」。
  • 解压前先列出 zip 条目并拒绝 ../、绝对路径、盘符、NUL;下载失败自动重试一次;磁盘空间不足提前拒绝。

跨版本与恢复

  • 修复 bridge 路径必失败:预检支持目标版本,桥接按钮现在真的能把这一跳限制在中间版本;同时禁止绕过桥接直接硬升最新版。
  • 修复 git-clean 更新一次后变 git-dirty、后续永久禁用更新:plan.mode(能不能跳)与 applyMode(git/payload)拆成两个维度。
  • 修复 Release 缺 app zip 仍放行、旧 Release 缺 update.json 一律拒绝(现在用 tag 合成安全默认,需人工确认)。
  • 更新器新增 pending.json / heartbeat.json:面板等更新器真的起来才退出;更新器没起来/中途死了,下次启动显示「上次更新未完成」,可重试或回滚。
  • 新增鉴权前的 GET /api/health;/api/version 对未认证请求只回版本号,保证 0.6.0 的旧更新器在开启登录保护时也能通过健康检查(否则 0.6.0 → 0.7.0 会被误判失败并回滚)。
  • 回滚前会停掉已知的新面板进程;/api/health 上报 pid,避免 Windows 上替换文件被占用。

systemd

  • 新增 scripts/start-panel.sh:面板内更新期间等待 data/update/in-progress,避免 Restart=always 在换文件途中把面板拉起来。部署文档的 unit 已改为调用它;旧写法仍可运行,但可能和更新器抢时间。

发布门禁

  • 新增 scripts/finalize-release.js(补 files + 签名 + SHA256SUMS)与 scripts/check-release.js(版本/资产/dataSchema/minSourceVersion/lockHash/shellHash/签名全量断言)。
  • 门禁拦下了 0.6.0 遗留的两个元数据错误:dataSchema 写成 1、minSourceVersion 为空。

兼容性与边界

  • 依赖与外壳未变:package-lock.json 与 BlockNexus.exe/dll 保持 0.6.0 字节一致(lockHash / shellHash 相同),所以 0.6.0 用户可以用应用包(~5.5 MB)直接升级,不需要完整便携包。
  • Agent 未变(0.5.5),无需重装。
  • 本版仍是 payload 更新:不替换外壳、node_modules 或 runtime;未来若依赖/外壳变化,会先发带完整包能力的版本。
  • 暂未包含:GitHub Actions 自动发布、多跳自动续跑(bridge 已可用,需再点一次)、HTTP 代理支持。

便携版

BlockNexus-v0.7.0-portable.zip:内置 Node 运行时、依赖与已构建前端,解压到任意目录双击 BlockNexus.exe 即用,数据在 data/ 目录内。

BlockNexus-shell-v0.7.0.zip:仅托盘外壳,需要本机已装 Node ≥ 18。

校验

BlockNexus-v0.7.0-app.zip
  5F11C2FB6C5EFC3BCA58E6ABB6E5C90224927B549514AE69F3F24DE7A09201A
BlockNexus-v0.7.0-portable.zip
  067BC9CD62564F8398DFFBAA694432AFB00D3D6B972D3A345B681B3D4C4EC648
BlockNexus-shell-v0.7.0.zip
  6662418B8D81BC6A057EB34A17D0975393A441DDA0420372B35AB7B3D110EF50

完整校验值见 Release 资产 SHA256SUMS.txt;update.json 的签名见 update.json.sig。