v1.3.17 feat: add SIGHUP hot-reload support, replace restart sequences with reload

- special thanks to @starfendou for the technical guidance on hot reloading.
- add `cmd_systemctl reload` subcommand with PID detection (Alpine: pidfile → kill -HUP; systemd: systemctl kill -s HUP)
- add OpenRC `reload()` function in sing-box service via start-stop-daemon --signal HUP
- replace `restart` with `reload` for config changes (ports, hy2realm, bindinterface, uuid/sni/name)
- replace `disable+enable` with `reload` for protocol add/remove and port change flows
- replace `restart` with `reload` for custom route add/delete operations
- remove unnecessary `sync_firewall_rules` call in hy2bw bandwidth change (only modifies subscribe/proxies, no port changes)
- run `sing-box check -C` with the new binary before replacing the running one. abort upgrade early when the new binary rejects the existing config
- force base-config regeneration on upgrade to guarantee sing-box check passes

v1.3.17 feat: 新增 SIGHUP 热更支持,用 reload 替换重启流程

- 感谢 @starfendou 在热加载(Hot Reloading)技术上给予的指导与支持。
- cmd_systemctl 新增 reload 子命令,支持 PID 检测(Alpine: pidfile → kill -HUP; systemd: systemctl kill -s HUP)
- OpenRC 服务脚本新增 reload() 函数,通过 start-stop-daemon --signal HUP 实现热更
- 端口 / hy2realm / 绑定接口 / 通用配置修改改为 reload
- 协议增删和端口变更流程从 disable+enable 改为 reload
- 自定义路由增删改为 reload
- 移除 hy2bw 带宽修改中无意义的 sync_firewall_rules 调用(只改 subscribe/proxies,不涉及端口)
- 替换运行中二进制前,先用新内核执行 `sing-box check -C` 预检配置,新内核不兼容现有配置时提前中止升级
- 升级时强制重置基础配置至新版格式,保证兼容性
This commit is contained in:
fscarmen
2026-07-21 06:39:28 +00:00
parent 4f29ea5c92
commit 56997fdbee
2 changed files with 125 additions and 100 deletions
+2
View File
@@ -24,6 +24,8 @@
* * *
## 1.更新信息
2026.07.20 v1.3.17 1. Add SIGHUP hot-reload support, replace restart sequences with reload; 2. Force base-config regeneration on upgrade to guarantee sing-box check passes; 1. 新增 SIGHUP 热更支持,用 reload 替换重启流程; 2. 升级时强制重置基础配置至新版格式,保证兼容性
2026.07.16 v1.3.16 1. Add bind_interface option in sb -d menu to bind outbound traffic to a specific NIC; 2. Change v2rayN Hysteria2 Realm config from Finalmask field to ProtoExtraObj; 1. sb -d 菜单新增「指定网络出口」选项,可为出站流量绑定特定网卡; 2. v2rayN 的 Hysteria2 Realm 配置从 Finalmask 字段改为 ProtoExtraObj
2026.07.01 v1.3.15 Add v2rayN Finalmask field for hysteria2 realm subscription output; v2rayN 订阅输出增加 Hysteria2 Realm 的 Finalmask 字段