Repository navigation
WeComHub v1.1.5
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}时才重建)
- 从 v1.0.5 升级上来的存量用户不再需要手工修,Test 按钮不再报
- 安装钩子改为使用插件内的
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 - 已存在则保留用户配置,升级不受影响
- 误删后重装能恢复
- 首次安装即可用,Test 不再报
- 实测确认 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在 busyboxdate下日志时间戳空白 - 修复
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 云端构建