github komari-monitor/komari Snapshot-2607121654

pre-release2 hours ago

主要更新内容

  • 指标存储后端重构:监控数据(records、GPU、Ping)已从主数据库迁移至独立的 metric store(默认 SQLite ./data/metrics.db,支持切换至 MySQL/PostgreSQL),新增保留策略管理和启动时自动迁移功能。
  • 数据库维护 API:新增数据库 VACUUM 和存储空间查询端点,支持手动回收 SQLite 碎片空间。
  • 安全加固:RPC 边界强制对敏感操作进行双因素认证(2FA);在 DeleteTheme/UpdateTheme/SetTheme 中防范路径穿越漏洞。
  • 安装脚本增强:支持 stable/snapshot 通道选择、TUI(whiptail/dialog)交互菜单和输入框。
  • 移除内置 Cloudflare 集成:移除 Cloudflare Tunnel 和 Cloudflare Access OAuth provider,相关依赖不再内置。
  • 启动流程重构:将服务器启动拆分为显式生命周期阶段(App),引入 ReloadManager 统一热重载处理。

Bug修复

  • 修复主题名路径穿越漏洞,防止未授权文件访问。
  • 修复 Telegram 通知在非 200 响应时仅返回状态码而不附带 API 错误描述的问题。
  • 修复 common:getNodes RPC 不保持节点排序的问题。
  • 修复 SQLite 数据库锁定错误(database is locked)和迁移过程中的表锁问题。
  • 修复 metric store 聚合查询中序列标签身份丢失的问题(设备级标签在 rollup 结果中独立保留)。
  • 修复私有站点模式(private-site)下临时分享链接被错误拦截的问题。
  • 修复临时分享访客被私有站点拦截的问题。
  • 修复 metric store 启动迁移中孤儿状态修复和进度计数重置问题。

其他

  • 配置项变更:旧的 record_enabledrecord_preserve_timeping_record_preserve_time 配置已移除,改用 metric_retention_days;内置 cloudflare_tunnel_token 配置已移除。
  • 权限模型调整:RPC 权限改为基于 Principal 的能力集模型,admin 角色不再自动获得 agent(client)角色的上报权限。
  • CI 优化:前端构建抽离为可复用的 GitHub Actions,新增 Snapshot 发布工作流,限制构建工作流仅在 PR 触发。
  • 二进制安装/升级:install-komari.sh 添加通道选择、Zig 编译器和一键升级支持。

What's Changed

  • fix(rpc): 在 RPC 边界强制对敏感操作进行双因素认证(2FA) by @carbofish in #571
  • fix: preserve node order in common:getNodes RPC by @yuanhhs in #566
  • feat: add database vacuum and size API endpoints by @Akizon77 in #578
  • fix(security): prevent path traversal in theme name (DeleteTheme/UpdateTheme/SetTheme) by @guocn in #584
  • fix(telegram): 非 200 响应时返回 API 错误描述而非仅状态码 by @Torther in #583

Commits

New Contributors

Full Changelog: 1.2.5...Snapshot-2607121654

Don't miss a new komari release

NewReleases is sending notifications on new releases.