Skip to content

v0.7.0 —— 修服务模式下的静默失效 + 系统主题/通知

Choose a tag to compare

@Lithivm Lithivm released this 15 Oct 08:08
· 31 commits to main since this release

修掉的静默失效

  • GUI 形态下双击 exe 起不来界面:以前叫不回窗口就打印一行然后退出(GUI 子系统里那行没人看得到),
    所以双击后除了 UAC 什么都没发生 —— 没有托盘、看不到任何告警、连「接管引擎」按钮都无从点起。
    现在这种情况会自己起一个只读界面。
  • Access denied 被当成"锁不存在"(真 bug,与部署形态无关):另一个形态/其它会话建的命名锁,
    普通用户打不开(DACL 只给 SYSTEM / Administrators),代码把它当成"环境建不出锁"→
    降级成"我是后端"→ 去抢引擎、装过滤器、写 hosts,于是刷出一整屏 WinDivert / hosts 权限报错。
    现在"打不开"一律判定为"后端正在跑"。
  • 引擎在跑时 -autostart / -no-autostart / -import-bats 被静默吞掉:角色判定排在控制面命令
    之前,只要引擎在跑就在这里 return。自启延迟改了不生效就是这么来的。
  • 停止服务时无限等 SCM(现在幂等 + 20 秒超时)
  • GUI 报错没人接(现在写 logs/fatal.log,只在 stderr 没有接收者时才弹框)

新增

  • 主题「跟随系统」(默认):读 HKCU\...\Themes\Personalize\AppsUseLightTheme,1.5 秒跟随
  • 系统通知(Windows Toast):只给「内网域名可能被别的代理接管」这一条告警用
    (只在 GUI 形态下有效 —— 服务跑在 Session 0,通知到不了用户桌面)

部署形态:一条 exe 两种,按场景选,别混装

场景 形态 怎么装 自启方式
普通机器(有人登录使用) GUI 双击 nethub.exe 界面里「开机自启」开关,或 nethub.exe -autostart → 计划任务(登录后延迟启动,有托盘、有通知)
服务器 / 无人登录 headless nethub.exe -service-install Windows 服务(开机即启、无人登录也跑;无托盘、无系统通知)

两种形态不要装在同一台机器上。 服务在开机时就拿到引擎,登录后才起来的计划任务
界面版只能当"只读失败者",还会刷出一串权限报错(本版已修掉那个报错,但"谁是后端"仍只能有一个)。

  • 有人在用的机器却装了服务 → nethub.exe -service-uninstall,再装计划任务
  • 服务器 → 保持服务形态,不要装计划任务

其它

  • 性能:加了归因埋点(perf.cfg 控制,默认关闭);包循环分片默认仍为 1
  • 「接管失效」的自愈与检测已按实测结论全部撤掉 —— 根因无法复现时不动手,
    理由与排查方法留在知识库(规则/代理/接管失效的判据与处置.md)