Skip to content

WeComHub v1.1.5

Choose a tag to compare

@github-actions github-actions released this 03 Oct 01:58
· 9 commits to main since this release

Releases

v1.1.5(清理旧版兜底文案)

  • 已写入配置文件/快照的 TITLE=Notification / MESSAGE=No description 不会被 v1.1.4 自动清除,仍会让通知显示假标题假详情。现由安装钩子迁移清空(仅清这两个特定值,用户真实值不动)。

v1.1.4(指令回复中文化 + 通知兜底修复)

  • 指令回复中文化:此前菜单是中文、回复却是英文(因为直接执行裸 shell 命令)。现为 status/array/disk/temp/docker/uptime 增加中文格式化,未覆盖的值保留原文。
  • 通知正文不再变成模板文案:修复 Notification / No description 这两个兜底值被写入配置与快照、导致真实内容被掩盖的问题。快照现在只存用户原始值,并对历史遗留的兜底值做清理。

v1.1.3(配置持久化,修复快照不生成)

  • 配置持久化:通知 agent 在配置校验通过后,把变量镜像到 /boot/config/plugins/WeComHub/agent-vars.conf(0600)。安装钩子在配置文件缺失或为占位符时自动还原。
  • 修复 v1.1.2 快照不生成:v1.1.2 把逻辑写在 agent 配置模板内,而该文件不在 <FILE> 清单(为避免升级覆盖),存量用户拿不到。现移至程序本体(在 <FILE> 内,随升级更新)。
  • 修复 TITLE/MESSAGE 存为空值的问题(快照移至二者解析之后)。

v1.1.2(配置持久化,误删后重装自动还原)

v1.1.2(配置持久化,误删后重装自动还原)

  • 配置持久化:agent 配置文件运行前把变量镜像到 /boot/config/plugins/WeComHub/agent-vars.conf(0600)。安装钩子在配置文件缺失或仍是占位符时,自动从快照还原。
    • 解决此前「误点 Delete 后重装退回占位符、需重新填写」的问题。
  • 修复还原逻辑早期版本把 #### 标记与变量值挤在同一行的问题。

v1.1.1(修复升级覆盖用户凭据)

v1.1.1(修复升级覆盖用户凭据)

  • 修复升级会覆盖用户凭据(致命):plg 内残留一条 <FILE> 指向 notification agent 配置文件,而 Unraid 会无条件覆盖 <FILE> 内的文件,导致每次升级都把中转地址与推送令牌重置为占位默认值。已删除该条目。
  • 此前"升级不丢配置"的结论作废(验证方法有误:只比 MD5 未比内容)。

v1.1.0(存量配置自动补 export + 版本号规则修正)

  • 存量用户升级后通知仍失效:v1.0.9 只修了模板,已存在的配置文件没有 export。现增加迁移,检测到缺 export 就地补上(备份 .bak-preexport),不影响用户的变量值。
  • 版本号规则修正:v1.0.10 被 Unraid 判定为比 v1.0.8 旧(strcmp 比较),无法升级,作废。改用 v1.1.0。

v1.0.10(已作废,请用 v1.1.0)

该版本因版本号比较问题无法从 v1.0.8 及更早版本升级,已被 v1.1.0 取代。

  • 存量用户升级后通知仍失效:v1.0.9 只修了模板,已存在的配置文件没有 export。现增加迁移,检测到缺 export 就地补上(备份 .bak-preexport),不影响用户的变量值。

v1.0.9(修复通知完全失效)

  • 修复通知功能完全失效(严重):agent 配置文件用 exec 调用程序本体,但变量未 export,exec 不传递未导出的 shell 变量,导致程序本体读到的中转地址与令牌恒为空,所有通知被判「未配置」静默丢弃。已在变量块后补 export。

v1.0.8(中文化、图标补全与指令鉴权修复)

  • 修复指令服务鉴权失败(403):v1.0.5 把令牌从 cfg 移除后,指令侧仍只从 cfg 读令牌,导致所有指令返回 403。现改为优先读取通知代理配置文件(用户实际填写处)的变量块,cfg 仅作兼容回退。
  • 修复通知代理页面图标缺失:页面按 plugins/dynamix/icons/<小写名>.png 查找,插件此前未提供。现新增 48x48 PNG 随插件部署。
  • 中文化:推送到企业微信的正文改为中文;通知代理页面的变量名与说明改为中文(脚本内部注释保持英文,避免 shell 把中文当命令执行)。

v1.0.7(旧版升级自愈)

  • 安装钩子增加旧版兼容处理:agent 配置文件如果仍是旧版的字面 {0} 格式,自动用模板重建(先备份为 .bak-pre106)。
    • 从 v1.0.5 升级上来的存量用户不再需要手工修,Test 按钮不再报 command not found
    • 已填过值的用户配置不受影响(仅当检测到 {0} 时才重建)
  • 安装钩子改为使用插件内的 agent-config-template.sh 作为生成源,不再内嵌一份副本,彻底消除双份维护。

v1.0.6(程序与配置解耦)

修复「升级插件会丢掉用户配置」与「全新安装 Test 报 {0}」两个结构性问题。

  • 程序与配置拆成两半:
    • 程序本体 wecom-hub-notify-agent.sh 由 plg 的 <FILE> 管理,随插件升级更新
    • agent 配置文件 agents/WeComHub.sh 不在 <FILE> 中,只存用户变量并 exec 程序本体
  • 安装钩子首次生成 agent 配置文件(含默认变量块,无 {0}):
    • 首次安装即可用,Test 不再报 command not found
    • 已存在则保留用户配置,升级不受影响
    • 误删后重装能恢复
  • 实测确认 Unraid 会无条件覆盖 <FILE> 中的文件,因此 agent 配置文件必须排除在清单外
  • agents/WeComHub.xml 与 scripts/agent-config-template.sh 由同一源生成,避免漂移

v1.0.5(配置分离与全英文脚本)

  • 修复 agent 脚本中文注释导致的报错:Test 按钮执行时中文注释被 shell 当成命令(command not found)。Script 段与 Variables 全部改为英文,与官方 14 个 agent 一致(官方 agent 的 Variables 零中文)。
  • 配置来源分离,各自只有一个入口:
    • 通知(出)→ 设置 → 通知 → 通知代理 → WeComHub,存 agent 脚本变量块
    • 指令(入)→ 设置 → 通知 → WeComHub,存 wecom.hub.cfg
  • 不再预置任何值:变量块只留占位符,任何设备/用户安装后自行填写即可,不依赖任何手工补丁。
  • 通知侧键(RELAY_* / MIN_IMPORTANCE / ENABLE_NOTIFY)从 cfg 与插件页移除。

v1.0.4(通知代理配置页修复)

  • 修复「设置 → 通知 → 通知代理 → WeComHub」读不到任何配置项的问题。原因:页面从所编辑的 .sh 文件里的 ####...#### 变量块读取变量,而插件部署的是不含变量块的转发壳。现改为部署带 {0} 占位与完整实现的脚本,与官方 agent 结构一致。
  • agents/WeComHub.xml 与 scripts/notify-agent.sh 的脚本体保持单一真相源,避免两处漂移。

v1.0.3(插件页描述、restart 通配、rc 修复)

  • 新增 plugins/WeComHub/README.md,修复 Unraid 插件页「描述」列空白(该列读 README.md,不读 plg 内的 CHANGES)
  • RESTART_ALLOW_PREFIX 支持 * 通配,允许重启任意容器,无需逐个配置
  • 修复 rc.WeComHub 在 busybox date 下日志时间戳空白
  • 修复 rc.WeComHub 启动时与旧实例抢 8181 端口

v1.0.2(通知代理接入)

  • 新增通知代理定义 agents/WeComHub.xml,安装后出现在 设置 → 通知 → 通知代理,与内置代理同一入口
  • 修复 verify-release.sh 占位符正则不识别含数字的键名
  • 修复 txz 目录校验因 grep -q 触发 SIGPIPE 导致的误报

v1.0.1(契约对齐)

  • 指令服务固定 POST /exec,统一返回 JSON {"ok", "result"}
  • 指令支持中文别名(状态/磁盘/温度/阵列/重启 X)
  • 新增阵列启动事件钩子,保证开机自启(rc.M 不遍历 /etc/rc.d/rc.*)
  • 补全卸载清理;未配置令牌时指令服务 fail closed
  • 修复版本索引与更新检查的字段名不一致

v1.0.0(初始版本)

  • 把两套散落脚本合并为标准插件
  • 系统通知经中转转发至企业微信
  • 内置本地指令服务,接收企微反向调用
  • 所有归档由 GitHub Actions 云端构建