Skip to content

v1.3.0-beta

Pre-release
Pre-release

Choose a tag to compare

@mapleafgo mapleafgo released this 02 Oct 08:46
· 2 commits to singcast since this release
fix(core): 运行时事件订阅不再依赖 clash_api 开关

1.2.2(sing-box 1.13)中 subscribeHooks/QueryStats/QueryProxies/QueryMode
以 clashServer() 是否可用为门禁;由于三个入口恒传 PlatformLogWriter,1.13
的 needClashAPI 恒为 true,因此这些路径始终可用。

1.14 迁移(9e0ca80)把门禁改写成用户开关 clashAPIEnabled,而该开关对应
配置里的 experimental.clash_api(默认关闭)。clash_api 缺失时:

  subscribeHooks 直接 return → 流量/连接/内存/启动时间(stats 每秒推送)、
  连接事件、urltest 测速历史(节点延迟)全部不再订阅;
  QueryStats/QueryProxies/QueryMode 也一并被挡。

1.14 起 trafficcontrol.Manager / urltest.HistoryStorage / clashmode.Manager
均已独立于 clash_api 注册(只要配置了 PlatformLogWriter),故改为「谁可用
就订阅/读取谁」,clashAPIEnabled 字段随之删除。

修复后,未开启「Clash API」时仪表盘统计、节点延迟、模式查询与切换、
连接事件推送均恢复正常,对外 API 开关只影响 9090 控制口。

补回归测试:
- core: 无 clash_api 仍推送 EventStats(started_at/memory 非空)且模式可切
- ipc: 无 clash_api 仍通过 socket 推送 event.trafficUpdate