Skip to content

Releases: live-ling/BlockNexus

BlockNexus v0.7.0

Choose a tag to compare

@live-ling live-ling released this 26 Oct 12:03

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。

BlockNexus v0.6.0

Choose a tag to compare

@live-ling live-ling released this 15 Oct 13:21

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

⚠️ 升级须知:本版起面板支持应用内自更新。从 0.5.0 升上来仍按老办法:下载 BlockNexus-0.6.0-portable.zip 覆盖程序文件(保留 data/ 目录),或源码方式 git pull && npm install && npm run build:web。从下一版开始,设置页「版本与更新」点「立即更新」即可就地升级。Agent 版本与协议未变,无需重装。

新功能:面板应用内自更新

设置页「版本与更新」不再只是"检查更新 + 跳 GitHub",可以直接把面板升掉:点「立即更新」→ 看升级预览 → 面板替换程序文件并自动重启。

判定与执行分离:所有"能不能升、怎么升、要迁移什么、失败要不要回滚"的判定都收在 panel/update.js(纯函数,97 个单测钉住),执行交给 detached 进程 scripts/panel-updater.js——面板必须先真正退出,它才能替换 node 正在使用的程序文件。顺序是:等端口释放 → 备份将被替换的文件 → 替换 → 拉起 → 健康检查(GET /api/version 期望新版本)→ 失败则回滚程序与数据快照。

跨版本升级:Release 可声明"可直跳的最低来源版本"与"逐跳桥接路径"。源版本差距过大时,面板不会硬升,而是提示"先升到 vX"并把这一跳限制在桥接版本上;没有桥接路径时给手动路径(下载便携包 + 保留 data/)。迁移链覆盖不到的旧数据同样会被这条规则挡住。

数据自迁移:data/config.json 现在带 schemaVersion,新版启动时执行迁移——迁移代码属于新版,所以便携包替换、应用包更新、手动覆盖、git 检出四条路径都自动生效。迁移前备份原文件,失败即拒绝启动,不会带着半成品数据跑起来。

更新推荐分级:security(红色横幅,安全更新)/ critical / recommended / optional,带一句话摘要与更新说明链接,可「跳过此版本」;本地版本高于线上时不提示。

自动更新:设置页三选一 off / notify / auto(默认 notify 只提示)。auto 也必须发布方显式声明该版本可安全自动安装才会真的自动装,且要求:非破坏性、不需要重装 Agent、迁移可逆、面板空闲(没有实例启停/备份在跑)、未连续失败 3 次、24 小时冷却。本项目 v1.0 之前 semver 不严格,所以不按"minor 就安全"猜——一切以发布方声明为准。

完整性与安全边界:

  • 校验值只认 GitHub 的 SHA256SUMS.txt(下载可走自建镜像,但镜像不在信任链上),拿不到校验值就拒绝更新;
  • 解压与写入按白名单(panel/、web/dist/、agent/agent.js、scripts/、images/、package.json 等),data/、root.txt、.git/、web/src/、agent/src/、docs/ 一律拒绝;
  • 面板对外且未开启登录保护时禁止触发更新;有实例启停 / 备份 / 安装在跑时拒绝;
  • 源码工作区有未提交改动时禁用应用内更新(避免覆盖你的工作区);
  • 过程与结果都落在 data/update/(日志、last-result.json、最近 3 份备份),可追溯、可一键回滚;声明为不可逆的迁移在升级后拒绝程序回滚(备份仍保留)。

Linux 面板:同样的网页入口。git 干净检出走 git fetch --tags + 切 Release 标签 + 重建前端;解压目录走应用包替换;systemd 托管时优先让它自己重启,等不到再由更新器补拉起。

新功能:实例总览页(默认落地页)

所有服务器的所有实例按服务器分组展示,一眼看到"哪些实例在跑、各有多少人",点卡片直接进详情。保持只读——在大视野列表里放启停按钮容易误操作,控制仍在实例详情页与服务器设置页。分组统计、Agent 不可达与"实例名在不同服务器重名"等坑都有单测覆盖。

新功能:玩家在线时长统计与聊天记录

  • 在线时长:Agent 侧解析控制台日志的加入/离开,累计每个玩家的在线时长、会话数与最近在线时间;面板离线期间由服务器上的 Agent 继续记录;
  • 聊天记录:玩家聊天 / 表情 / 私聊以明文追加写入实例目录 .blocknexus-data/chat.ndjson(目录 0700、文件 0600,随备份保留),支持按玩家与关键词过滤、清空;
  • 入口都在实例详情页(聊天页签、玩家统计对话框)。聊天正文只作为 React 文本节点渲染、绝不拼 HTML,防玩家名/发言注入。

界面:实例详情页重构

指挥条(主操作位不随状态漂移)+ 5 张等高指标卡 + 三栏(实例与工具 | 终端 | 玩家)。整页不再滚动——终端填满剩余高度,需要滚动的只有日志、玩家名单这些内部区域;终端支持关键字过滤;停止态的空数据一律显式写「—」或原因,不留白。

界面:服务器设置页

Agent 卡与系统信息卡重排:连接方式那行只说方向、地址单独一行(同一串地址不再在一张卡里说两遍);Agent 安装目录与实例目录并进连接卡(它们讲的是"Agent 落在哪",与连接信息本就是一回事);系统信息卡不再重复实例目录;Java 版本列表默认收起(装过五六个版本时原来能占掉半屏)。

修复

  • 版本比较:semverGreater 把缺段当空串比较,于是 0.6.0 > 0.6 判为真——遇到两段版本号的 Release 标签会误报"有新版本";同时预发布段现在正确地低于正式段;
  • 通知去重:离线 / 恢复提醒不再重复发送(含 24 小时补发规则与"同一故障只发一封"),SMTP 失败会退回"未通知"并保留重试机会;
  • 启动单飞:同一实例的并发启动只执行一次;
  • 文件管理:归档解压/压缩超时放宽到 180 秒,Linux 上 zip 优先 unzip、缺失退 bsdtar。

安装与升级

  • 便携版(推荐,无需 Node.js):下载 BlockNexus-0.6.0-portable.zip,解压到任意目录双击 BlockNexus.exe;数据保存在解压目录的 data/ 下,删除目录即完全卸载;
  • 源码运行:git pull && npm install && npm run build:web && npm start(前端为构建产物,更新后需要重新构建);
  • 从 0.5.0 升级:保留 data/ 即可,配置按 schema 自动迁移,无需手工处理。

BlockNexus v0.5.0

Choose a tag to compare

@live-ling live-ling released this 14 Oct 07:05

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

⚠️ 升级须知:Agent 版本 0.3.8 → 0.4.5,含地图与托盘相关变更,请在面板设置页更新一次 Agent。协议未变,自动更新可用。

新功能:网页地图

实例详情页新增「地图」页签,把世界的方块俯视图画出来:可拖动、滚轮缩放(以光标为锚点)、跳坐标、切换世界。

做法与常见的「把方块数据传给浏览器用 wasm 渲染」不同:解析 .mca 与渲染都放在 Agent 侧完成,直接产出 PNG,浏览器原生解码。带来几个直接好处:

  • 前端零解码代码,也不需要自研二进制瓦片协议;
  • 粒度是一个区域文件(512×512 方块 = 一张 512×512 PNG),一屏只覆盖几个区域 → 每次交互只发几个请求(按单区块出图要上千个);
  • PNG 天然可被 HTTP 缓存协商(ETag/304),拖回看过的区域零请求。

Anvil 解析是零依赖实现:NBT 解析、调色板位解包、gzip/zlib/未压缩、.mcc 外置标志,以及自写 CRC32 的 PNG 编码器 —— 目标机不需要 npm 装任何东西。

其他细节:

  • 维度切换:Paper 的独立目录(world_nether)与原版的嵌套布局(world/DIM-1、world/DIM1)都支持;
  • 缓存:落盘在实例目录下的 .blocknexus-map/(已排除在备份与文件管理器之外,避免污染存档备份);缓存签名含渲染版本,升级 Agent 后旧图自动失效重渲染,无需手动清理;
  • 「重新生成」:工具条一键清掉服务端与前端缓存并重渲染;
  • 缺色自报:色表里没有的方块会显示为紫色,并在工具条直接列出方块名(悬停可看),便于精确补齐;
  • 缩放量级与参考实现对齐:每方块 1.75~10 像素(默认 2)。早先版本默认 1 像素/方块,方块会小到看不出形状。

界面

  • 全局语言切换搬到「设置 → 语言」;首次访问按浏览器语言自动判定,英文用户不再对着中文登录页。

修复

地图(每一条都有回归测试):

  • 位解包用错了版本布局 —— MC 1.16 起改为「填充式」(每个 long 固定塞 floor(64/bits) 个值、不跨边界),我按 1.15- 的「连续式」实现,调色板 17+ 项时从第 12 个值起全错 → 随机方块 → 满屏噪点。这一条也解释了早期地图为什么不可用;
  • 区块读取的 length 少减 1(该字段含压缩类型字节)→ gzip 压缩的区块全部解压失败;
  • 调色板可能是字符串列表或使用 id 键(不只 Name),未兼容时那些列会被静默丢弃;
  • 世界最低高度改用区块 yPos(原先的启发式在候选相差 16 整数倍时会取错);
  • 明暗第一行方向与参考实现相反(有坡度时每张图顶部一条色线);
  • 滚轮监听与 ResizeObserver 从未挂上(effect 依赖不全,挂在尚不存在的 ref 上)→ 滚轮不缩放且页面跟着滚;
  • 初始视角硬编码导致世界原点不在画布正中;滚轮锚点 border/content box 错配导致反复缩放时画面漂移。

托盘:无法注册托盘图标的环境下降级而不是失效 —— 主窗口保持可见并显示常驻提示,关闭窗口时给出「以管理员重启 / 直接退出」选项(此前会静默隐藏,用户既无图标又无窗口,只能去任务管理器结束进程,表现成「程序坏了」)。另外重试放宽到 60 秒(覆盖开机自启时 Explorer 托盘尚未就绪这一最常见原因),并修了提权重启会被单实例互斥锁静默吞掉的问题。

便携版

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

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

校验

BlockNexus-v0.5.0-portable.zip
  1FE464A3EDE8E2C089B416E6E66A0A482062AA3D36D89665081874B04CD3683C
BlockNexus-shell-v0.5.0.zip
  D2042BAFBE411FC3A02C64FA1C455127A4C096D99D805ED1C458999EBD6D5747

BlockNexus v0.4.0

Choose a tag to compare

@live-ling live-ling released this 07 Oct 04:27

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

⚠️ 升级须知:本版含协议与 Agent 行为变更,旧版 Agent 必须重装一次(面板设置页的 Agent 安装/更新按钮即可)。旧 Agent 无法靠自动更新自救——它在握手阶段就会被拒绝,因而发不出触发更新的上报。

安全(本版重点)

对面板与 Agent 做了一轮完整的安全审计(5 份报告,发现的问题全部处理),其中 6 个高危:

  • Agent 解压逃逸:恶意压缩包里的符号链接/硬链接可逃出实例目录,而 Agent 以 root 运行 → root 任意读/写/截断。现在解压先进隔离目录,校验链接与体积后才启用;
  • tar 参数注入:文件名以 - 开头会被当作 tar 的选项(如 --checkpoint-action=exec=…)→ root 任意命令执行。已用 -- 终止选项解析;
  • AI 接口地址的 SSRF:baseUrl 原先只校验协议,可被用来探内网/读云元数据,且响应体会回显到界面。现拒绝链路本地与云元数据地址;
  • SSH 不校验主机密钥 → 中间人可拿到 SSH 凭据并完全接管服务器。现改为 TOFU(首次记录、之后不一致即拒绝);
  • 压缩炸弹 + 上传上限形同虚设:上传的 200MB 限制原先只在客户端自报 size 时检查,不带该字段即可绕过;解压无体积/条目数上限。现按真实写入字节与解压后实际体积判定;
  • 面板默认免密 + 对外暴露 = 任何人可完全接管。现检测到该组合时在界面顶部显示持久告警(默认行为不变)。

其余修复:畸形请求体泄露内部堆栈、找回密码可被用来枚举管理员邮箱(响应差异构成预言机)、限流表可被唯一键洪水打爆内存、/tmp 固定文件名竞态导致的本地提权、无鉴权连接可耗尽 fd/内存、Agent token 响应未禁缓存、邮件正文未转义、以及三处「环境变量写 false 反而开启功能」的解析缺陷。

新功能

  • 中英双语界面:全界面文案支持中英切换(右上角),后端错误按错误码本地化,语言选择记忆在本地;
  • 统一错误码表:45 个错误码带中英文案与 HTTP 状态,前端单点渲染,脚本/curl 调用方也能拿到稳定的 code。

改进

  • Agent 打包器支持内联第三方依赖:交付物仍是单文件(SSH 只传一个文件、支持 curl 一行安装),目标机无需 npm install;
  • 找回密码流程纳入 CI 端到端测试(此前长期无人执行);
  • 基础安全响应头(禁止 iframe 嵌套、禁止 MIME 嗅探、跨站不带 Referer)。

修复

  • Agent 安装时改用私有临时目录下载解压(原先在 /tmp 用固定文件名);
  • 找回密码发信失败不再把 SMTP 原始报错回给未认证调用方;
  • 面板会话表补上过期回收。

便携版

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

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

校验

BlockNexus-v0.4.0-portable.zip
  A9F3DC591B67BC07DE9F30D80D6EAECA1E3E42D6BE210F7AA1C87878BE0B97E5
BlockNexus-shell-v0.4.0.zip
  05F7424AED01E38BDEAA61387826AF004E763BB77434F37AEB57DC0962E45AB1

BlockNexus v0.3.0

Choose a tag to compare

@live-ling live-ling released this 06 Oct 05:26

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

新功能

  • 插件配置可视化编辑:实例详情页新增「插件配置」(实例目录存在 plugins/ 或 config/ 时显示),自动发现并分组列出配置文件;YAML/JSON 按值类型生成表单(布尔=开关、嵌套=可折叠分组、数组=可增删改的列表),保存只写改动路径——未触碰的键、注释与键序完整保留;TOML、锚点/别名等无法安全表单化的文件自动降级为原文编辑;
  • Java 环境多版本管理:服务器设置页新增「Java 环境」卡,可选安装 Temurin JRE 8 / 11 / 17 / 21 / 25(清华 TUNA 镜像 → Adoptium 官方兜底),每个版本独立目录落位 /opt/blocknexus-java,互不覆盖;完整安装列表(含系统包 Java)单选勾选即生效,支持卸载(卸载使用中的版本自动回退);旧版 MC(Java 8)到最新版全覆盖,启动不再按 Java 版本硬性拦截。

改进

  • Agent 交付物改为「模块化源码 agent/src/** + build.js 打包单文件」,附 npm run test:agent 完整零依赖测试链(产物新鲜度校验:改了源码忘打包会直接失败);
  • 面板 HTTP 请求的 User-Agent 由版本号派生(清华 TUNA 对无 UA 请求 403、MSL 要求 UA 含应用名),版本升级不再停留在旧字面量;
  • 面板设置页「检查更新」真正跳过缓存(?refresh=1 此前未实现)。

修复

  • Java 8 的 Temurin 解压目录名(jdk8u*,无连字符)无法识别导致安装失败。

便携版

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

SHA256: AC39370DFD717525D86D65480FA26B6CD5AB90EC305E730E69A2494019808B43

Windows 桌面外壳(可选)

BlockNexus-shell-v0.3.0.zip:仅外壳,解压到项目根目录(已完成 npm install 与 npm run build:web)后运行;Node ≥ 18 需在 PATH 中。未签名,SmartScreen 提示点「仍要运行」。

SHA256: F07A45572956991150DF1282D6300D21B3EBB60B788350B6A46C73731AEC3E7F

详见 README。

Full Changelog: v0.2.0...v0.3.0

BlockNexus v0.2.0

Choose a tag to compare

@live-ling live-ling released this 05 Oct 04:29

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

新功能

  • Agent 版本管理与自动更新:远端 Agent 上报版本,落后于面板时自动经 SSH 替换脚本并重启服务(失败退避 + 手动兜底按钮);
  • Mod 管理:实例 mods 目录的列表、启用/禁用(.disabled 约定)、删除与上传;
  • 玩家快捷管理:踢出 / 封禁 / 封禁 IP 统一确认框(可填原因);封禁目录查看与解封(含理由与期限);
  • server-icon:编辑实例时上传图片,本地裁切并压缩到 64×64 PNG;
  • 域名连通检测:解析域名(含 _minecraft._tcp SRV)并 TCP 探测实例端口;
  • 版本与更新检查:设置页对比当前版本与 GitHub 最新 Release,附更新日志;
  • 终端着色:日志按级别显示(ERROR 红 / WARN 黄 / 就绪绿 / DEBUG 灰);
  • history 路由:/settings 等路径直达,旧 #/ 链接自动迁移。

修复

  • 启动器首次运行未创建 data 目录;
  • agent.js 下载路由缺失根路径(手动安装命令 404);
  • 外壳:外链转系统默认浏览器、禁止加载外部网页、找不到项目根时给出提示。

便携版

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

SHA256: 2538DC35FF8C20686317F8203C7EC0F73015341E1BCC07B3EF0F3E0DE7AADCB8

Windows 桌面外壳(可选)

BlockNexus-shell-v0.2.0.zip:仅外壳,解压到项目根目录(已完成 npm install 与 npm run build:web)后运行;Node ≥ 18 需在 PATH 中。未签名,SmartScreen 提示点「仍要运行」。

SHA256: F20E1200331062DA45CDA6E5BB324262D321826B0C250452B0272CEBD58F4C72

详见 README。

Full Changelog: v0.1.0...v0.2.0

BlockNexus v0.1.0

Choose a tag to compare

@live-ling live-ling released this 04 Oct 12:17

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

便携版(推荐,开箱即用)

BlockNexus-v0.1.0-portable.zip:内置 Node 运行时、全部依赖与已构建的前端,解压到任意目录后双击 BlockNexus.exe 即可使用,无需安装 Node.js 或任何工具链。

  • 面板地址 http://127.0.0.1:3080,系统托盘图标可打开主窗口或退出;
  • 全部数据与配置保存在解压目录的 data/ 下,删除目录即完全卸载;
  • Windows 10/11 自带 WebView2 Runtime,无需额外安装。

SHA256: 6FA23EA4E8D860672020AB8AF1F77760CEEB9FCA0A23F520635ECFB97F34CF8E

从源码运行

要求 Node.js ≥ 18:

npm install
npm run build:web
npm start          # 浏览器打开 http://127.0.0.1:3080

Windows 桌面外壳(可选)

BlockNexus-shell-v0.1.0.zip 是仅外壳(托盘 + 应用窗口),体积小,适合已用源码方式部署的环境:解压到项目根目录后双击 BlockNexus.exe。需要 Node ≥ 18 在 PATH 中;exe 未做正式签名,首次运行 SmartScreen 会提示,点「更多信息 → 仍要运行」。

SHA256: 3F359F94D6FB031DCFBE8A58C5CD1A05635FAC199FA146071858B2CA9EC61F13

详见 README。

Full Changelog: https://github.com/live-ling/BlockNexus/commits/v0.1.0