0.8.8
移除Portal相关逻辑：删除option.json、portal.sh及start.sh中的Portal调用。
自定义Portal能力迁移至独立插件custom-portal。
清理旧版本遗留的NAIXI_PORTAL_DOMAIN配置项。

0.8.7
- 新增ssh.sh守护：每10秒修复sshd shell为/bin/bash（防止被系统还原）。
- 修复start.sh中sed -i -r（BusyBox不兼容）→基础正则，解决310反复重启。
- start.sh中source脚本加了容错，CLI symlink改用ln -sf。

0.8.6
- 启动时修复sshd shell为/bin/bash（iKuai默认/sbin/nologin）。

0.8.5
- Naixi自身固定安装到 /etc/log。
- 统一使用 -disk=<name> 选择目标，-disk=system 映射到 /etc/log。
- 普通插件显式指定用户盘时不再被已有安装路径覆盖。

0.8.4
- Naixi自身固定安装到 /etc/log，避免用户盘不可用时失去管理入口。
- 统一使用 -disk=<name> 选择目标，-disk=system 映射到 /etc/log。
- 普通插件显式指定用户盘时不再被已有安装路径覆盖。

0.8.3
- 支持 -disk=<name> 指定用户盘，例如 data、test、ceshi。
- 指定用户盘时同样校验软连接真实目标、可写状态和实际磁盘设备。

0.8.2
- 修复扫描用户盘时跳过软连接的问题，兼容iKuai标准的 /etc/disk_user/<name> → /etc/disk/<uuid> 布局。

0.8.1
- 修复用户盘软连接判断：正确识别 /etc/disk_user/<name> 指向 /etc/disk/<uuid> 的真实存储盘。
- Docker 关闭时保留有效 workdisk，失效时继续扫描其他用户盘并回退到 /etc/log。

0.8.0
- 修复 workdisk 选择：Docker 未启用时仍复用有效存储盘，失效记录不再误用。
- 按 Docker workdisk、真实用户磁盘挂载、/etc/log 顺序选择安装目录；全部无效时拒绝安装。

0.7.8
- 将IPv6下发条数恢复逻辑并入防断网守护，每10秒统一维护。
- 恢复Portal默认域名为portal.ikuai8-wifi.com。

0.7.7
- 按 iKuai OEM 源码约定简化 Portal 定制：仅维护 /etc/release 的 PORTAL 字段，
  变更后调用 WebAuth 内部 DNS 重建和 nginx reload；删除持久备份、停用恢复及
  watchdog 周期同步，避免把 OEM 固件参数当作运行态配置反复修复。
- 将 IPv6 定制从 start.sh 拆分为独立 scripts/ipv6.sh，保留 IPv6 下发条数、
  历史异常 .ipv6_multi 修复、绑定状态和注册状态处理，日志独立写入 ipv6.log。
- watchdog 回归单一职责，仅保留防断网保护。

0.7.6
- 修复 /etc/mnt/.ipv6_multi 被旧版本或失败安装残留为 immutable 目录时 start.sh 无法启动：
  空目录清除 immutable 后删除并创建正确状态文件；非空目录先保留为 .bad.<timestamp> 备份；
  已有 immutable 普通文件同样先解除属性再更新。正常设备仍只维护普通文件，不创建该目录。

0.7.5
- 网页终端（ttyd）默认绑定 lan1 网卡（与 Clash 面板一致，仅监听内网，不再暴露到
  WAN 等其他接口）；新增 NAIXI_TTYD_IFACE 配置项，留空则监听所有网卡。
- 新增 naixi restart <name> 子命令：执行 stop.sh + start.sh 重启插件，
  不改变 DB enabled 状态（应用市场网页状态保持启用）。

0.7.4
- 新增自定义 Portal 认证域名，默认 portal.naixi.net。
- 新增统一守护任务，每 10 秒同步 Portal 域名并提供防断网保护。

0.7.3
- 新增 naixi start <name> 和 naixi stop <name> 子命令：
  start = enable（DB enabled='yes'）+ 调 start.sh
  stop  = disable（DB enabled='no'）+ 调 stop.sh
  和 iKuai 应用市场点启停按钮效果一致，网页状态同步刷新。

0.7.2
- 修复 NAIXI_IPV6_NUM 配置项在 WebUI 不显示输入框的问题：
  appmarket 只识别 type=integer（不认 number），已改正；
  default 同步改成数字字面量 3（非字符串）。

0.7.1
- 新增「IPv6 下发条数」配置项（NAIXI_IPV6_NUM，默认 3，UI 最大 9999）。
  start.sh 在企业版解锁后写入 /etc/mnt/.ipv6_multi，格式：
    expires=0 num=N enterprise=1
  stop.sh 不清理该文件（保留用户设置）。
  解决之前 IPv6 条数"消失"的问题：iKuai 的 ipv6.sh boot() 会删除
  enterprise=1 但 /etc/release 无 ENTERPRISE 的 .ipv6_multi 文件，
  现在 naixi 在 ENTERPRISE 写入之后再写该文件，保证一致性。

0.7.0
- 自动解锁企业版功能：插件启动时自动写入 ENTERPRISE=Enterprise 并补齐
  WireGuard / IKEv2 客户端·服务端 / PPPoE 代理 / 终端审计 等免费版缺失的
  功能脚本；插件停用时还原为免费版状态。
- ARM 硬件和原生企业版固件自动跳过（无需解锁）。
- 状态记录在持久化分区，重启后自动恢复。
- 修复 WebUI 报 "Access denied"（code 1003）问题：根因是免费版固件未打包
  这些功能的脚本和 function 软链，仅靠 ENTERPRISE 标志无法解锁。
- 修复插件停用后 WebUI 仍显示企业版的问题：openresty 的 IKRELEASE 在 worker
  启动时一次性加载到内存（init.lua:38），改 /etc/release 后不重读。现在
  enable/disable 末尾会执行 nginx -s reload 让 worker 重新加载。

0.6.6
- 修复 `naixi list` 和 `naixi boot list` 将超过 10 个字符的插件名截断的问题。
- NAME 列扩展到 28 个字符，可完整显示 netspeedtest、openconnect 等名称。

0.6.5
- 修复无 workdisk 设备无法通过一键脚本安装的问题；自动回退到 /etc/log/apps。
- self-install、路径解析和 list 支持无 workdisk 设备。
- 仅在 workdisk 目录存在且可写时优先安装到用户盘。

0.4.6
- 修复 ttyd 终端报错 `/root: line 1: syntax error: unterminated quoted string`。
- 回退到 0.4.3 的 ttyd 启动方式：直接传 shell 二进制（`$TTYD_SHELL`），
  去掉 0.4.4 引入的 `sh -c 'cd /root && exec ...'` 包裹（`$TTYD_CMD` 未加引号导致空格分词）。
- 终端不加 cd / 不加 --cwd，落在 start.sh 继承的 cwd（.pkg/scripts/）。

0.4.5
- 修复 install 误报 WARNING: start.sh exited early — start.sh 正常退出不再误报。
- install 轮询 start.sh 退出码（最长 60 秒），区分正常完成、后台运行、异常退出。

0.4.4
- 修复 ttyd 工作目录：打开终端默认停在 /root 而非 .pkg/scripts/。
- 支持自定义 Shell（/bin/sh 或 rc）时正确设置初始目录。

0.4.3
- 写入 APP_PORT_WEB 和 APP_WEB_LOGIN_URI 到 .env，修复 WebUI「打开」按钮无法跳转网页终端。
- 同步 HOST_IP 注入到 install.sh bootstrap，新装机器首次安装即生效。

0.4.2
- 修复 self-install 覆写 manifest 导致 origin=0 重启校验失败。
- self-install 不再覆写已有文件，仅注册 DB。

0.4.0
- install 默认 origin=0（官方），重启后由 appmarket 自动拉起。
- 新增 -official / -sideload 参数。
- 修复 nohup 不存在导致 start.sh 后台启动失败。

0.3.0
- 注入 HOST_IP（type=0 用 lan1 IP，type=1 用 doc_app_default 网关），修复 WebUI 打开按钮 URL 为空。
- 写入 ico 字段到 appmarket.db，修复图标不显示。
- start.sh 后台执行，install 不再卡死。

0.2.0
- 内置 ttyd 网页终端（端口 7681，HTTP Basic 鉴权）。
- 默认 Shell /bin/sh，可配置为 rc。

0.1.0
- 首个版本：naixi CLI 命令行工具（Go 重写为 POSIX shell）。
