Skip to content

v0.5.0

Latest

Choose a tag to compare

@github-actions github-actions released this 23 Jun 00:42

本次为一轮深度代码扫描后的集中修复:33 项已确认问题(安全、稳定性、体验、死代码清理),均经构建、单元测试与真实运行验证。

安全

  • 修复 X-Forwarded-For 可伪造导致来源 IP 伪造(高危):此前 --trust-proxy 下取 XFF 最左段为真实 IP,攻击者可伪造任意来源绕过登录锁定与应用层限流。现改为「可信代理名单从右往左跳过取第一个非可信地址」,新增 --trusted-proxies(逗号分隔的 CIDR / 裸 IP)。⚠️ 多层反代部署需用 --trusted-proxies 配置边缘节点公网 IPdeploy/moss.sh 反代模式安装会询问);不配置则安全降级为取 XFF 最右段(不可伪造)。
  • 登录失败计数 loginAttempts 增加周期回收,防止只失败从不成功的 IP 条目无界堆积致内存耗尽。
  • token / 初始管理密码随机串改用无偏拒绝采样,消除取模偏置。
  • 登录校验改为恒定成本(无论用户名是否正确都执行一次 bcrypt 比较)+ 常量时间用户名比较,消除用户名枚举的时序侧信道。
  • 静态文件路径清理改为「先加根再 Clean」,与另一处写法对齐,加固目录穿越防御纵深。

稳定性

  • agent 重连后重置网速差值基准,消除断线 / 部署重连后首个上报点的虚高网速毛刺。
  • 服务器详情页「实时」图回填历史点后立即触发重渲染,不再需要等下一次上报才显示。
  • 前端 fetchServers 增加「后到丢弃」守卫、清理重复的重连定时器,消除并发拉取导致的数值短暂回跳。
  • 历史采样的 TCP / 进程数改用浮点均值后取整,消除系统性向下取整偏差。
  • 负载告警迟滞带改为比例式,修复低阈值(≤5)下永远收不到「恢复」通知。
  • 离线告警轮询改用 NewTicker + Stop
  • localStorage 读写增加异常兜底,存储被禁用时不再白屏;主题支持跨标签页同步。

体验

  • 国旗组件对空国家码判空、对国家码统一小写,修复未识别 / 大写国家码时渲染破损国旗框。
  • 后台数字输入失焦即钳制到合法区间;保存后回读后端钳制结果,界面不再与库中真值长期分歧。
  • 修改密码补充前端「至少 6 位」校验,与文案及后端规则一致。
  • 主页分组排除空值与「全部」字面碰撞,消除重复 React key 与筛选错乱。
  • fmtPercent 增加非有限值兜底(NaN / Infinity 不再显示为 NaN%)。

清理

  • 移除死代码:UDP 连接数全链路采集(省去每个上报周期一次系统调用)、未使用的类型字段(lastSeen / createdAt / LivePoint.load1 / udp)、未使用的组件 props(TickerclassName/durationChartCardheight)、Login 的失效错误分支。

升级提醒

  • 网速重连、协议注释等修复在 agent 端,需更新各监控机上的 agent 二进制方可生效(仅更新服务端无效)。
  • 新增 server/ratelimit_test.go,覆盖 realIP 的来源 IP 伪造防护(9 个用例)。

Full Changelog: v0.4.5...v0.5.0