github komari-monitor/komari Snapshot-2607201644

pre-releaseone day ago

主要更新内容

  • Metric Store 重构:运行期监控数据读写全部迁移至专用 metric store,支持 SQLite / MySQL / PostgreSQL 后端;默认启用并自带自动迁移与版本备份
  • Metric Store 高级特性:新增分层降采样(rollup)、保留策略管理、存储空间检查和回收、后台压缩与过期清理
  • Metric Store 迁移工具:支持 store-to-store 启动迁移和运行时热迁移,进度持久化,支持暂停/恢复和中断重启
  • Metric 报告批处理:引入批处理器,多个 Agent 报告合并为单事务写入,显著提升写入性能
  • 访客审计 RPC 端点:新增 public:recordVisitorEvent 接口,支持主题前端记录访客事件至审计日志,带令牌桶限流和字段校验
  • 访客审计日志加固:后端自动记录真实 IP 和 User Agent,不信任前端传入值;支持启用开关和字段长度限制
  • 启动生命周期重构:将 RunServer 拆分为显式阶段(Bootstrap → InitStores → InitProviders → StartBackground → BuildRouter → Run → Shutdown),资源按 LIFO 顺序关闭
  • 配置热重载管理器:统一隔离各配置监听器,panic 不影响其他 handler
  • 主题操作路径遍历修复:防止通过主题名称进行路径遍历攻击(DeleteTheme / UpdateTheme / SetTheme)
  • Telegram 通知改进:非 200 响应时返回 API 返回的错误描述,而非仅状态码
  • 移除 Cloudflare tunnel 内置支持:移除 cloudflared 二进制依赖、相关环境变量和 Docker 镜像层
  • 移除 Cloudflare Access OAuth 提供商
  • 移除 Nezha 兼容层和相关 gRPC / protobuf 依赖
  • 废弃数据库字段清理:移除旧 CLI 中隐藏的 --db-host / --db-port / --db-user / --db-pass / --db-name,配置仅通过环境变量或配置文件管理
  • GitHub Actions 重构:提取可复用的 build-frontend / restore-frontend / setup-zig actions;Snapshot 构建确认只从 main 分支触发
  • Docker 镜像 CI 拆分:前端构建与二进制编译解耦,支持手动触发版本标签
  • 新增 loong64 (LoongArch) 架构支持:包含构建矩阵、安装脚本和二进制发布
  • Snapshot 版本命名:改为 UTC+8 时区生成

Bug修复

  • 主题路径遍历安全漏洞:在 DeleteTheme / UpdateTheme / SetTheme 操作中防止利用主题名读取任意文件
  • Telegram 通知:非 200 响应时返回 API 错误描述而非仅状态码
  • 访客审计日志加固:硬编码 IP/UA 来源,增加字段长度限制和限流
  • 数据库时间查询:改用 FromTime() 确保时区正确处理,修复缓存清理
  • SQLite 写锁定:避免 metric 写入和迁移期间的 database is locked 错误
  • Metric 迁移性能:批量写入 + keyset 分页,迁移进度在恢复时不从头计数
  • Metric 粒度聚合:保留序列身份,修复 rollup 查询中兼容间隔选择
  • Metric 压缩:每指标独立游标,避免单指标失败阻塞整个压缩流程;修复零保留指标定义
  • GET /api/rpc2 节点列表common:getNodes 返回 uuid 键映射而非数组
  • Metric 数据清理:在删除客户端或 Ping 任务前清理对应 metric store 数据

其他

What's Changed

  • fix(security): prevent path traversal in theme name (DeleteTheme/UpdateTheme/SetTheme) by @guocn in #584
  • fix(telegram): 非 200 响应时返回 API 错误描述而非仅状态码 by @Torther in #583
  • feat(rpc): add public visitor audit event endpoint by @sanrokamlan-prog in #597
  • fix: harden visitor audit logging by @sanrokamlan-prog in #602

Commits

New Contributors

Full Changelog: 1.2.5-fix1...Snapshot-2607201644

Don't miss a new komari release

NewReleases is sending notifications on new releases.