liandu2024 说明 Open-Box CIDR 解析导致部署失败的修复

liandu2024 在 Open-Box #672 中说明,v0.1.341 的直连 IP 段入口旁路把单条 ipCidr 字符串当数组处理,产生 e.map is not a function,导致整次部署回滚并停内核;只有配置含自定义 ipCidr 直连规则时才触发。v0.1.342 已将单字符串按一条网段处理,且入口放行解析失败只跳过该部分,不再使整次部署失败。作者称已在开发路由器复现并验证,以及完成 x64/arm64、Docker 的相关回归;升级后启动或重启内核复测,可保留原自定义规则。

作者原文

已修复并发布 v0.1.342:https://github.com/liandu2024/Open-Box/releases/tag/v0.1.342

原因:v0.1.341 新增的「直连 IP 段入口旁路」在读取前置自定义分流里的 ipCidr 规则时,把单条 CIDR 字符串当成数组处理,抛出 e.map is not a function,整次部署失败并回滚停掉内核。只有配置里存在「自定义分流 → ipCidr → 直连」这条规则时才会触发,所以有的机器正常、有的机器一升级内核就起不来。

v0.1.342 的修复:

  • 单条字符串 CIDR 按一条网段处理,部署正常完成,内核正常启动;
  • 直连 IP 段解析即使失败,也只跳过这部分的入口放行,不会再让整次部署失败、不会再停内核。

复测方法:升级到 v0.1.342 后,在面板点一次「启动 / 重启」,或执行 node /opt/open-box/panel/server/cli/deploy.mjs,应返回 {"ok":true,"stage":"running"} 且内核保持运行。自定义 ipCidr 直连规则可以保留,不需要删。

已在开发路由器上用「自定义 ipCidr → 直连 + tun autoRedirect」复现旧版报错,并验证新版部署成功、内核在跑;x64 / arm64 安装包和 Docker 镜像都做了安装 / 升级 / 启动 / 本机联网回归。