Tip
可能有的你能用上,你就保留,比如备份,可能很多兄弟需要,在面板端操作既简单又快,但是我可能是定时脚本去备份data;所以根据自己的需求去做,最重要事:要么你和我一样先拿出一台test主控+被控去测试,好了以后在上线,要么任何操作前尽可能先备份 /komari/data 以及你的docker-compose.yaml 即使你出现问题,也可以第一时间秒切换 一定在保证自己数据的前提下操作。
一、删减部分
前端
- 删除 Web Terminal、远程命令、文件管理、在线编辑器和命令剪贴板;
- 删除插件管理、插件市场及插件页面注入;
- 删除 OAuth/SSO 登录与配置;
- 删除数据库迁移、在线备份恢复和首次安装页面;
- 删除 pprof、后台大盘和指标配置页;
- 删除自定义 Head/Body 注入;
- 删除 PWA 安装、更新提示;
- 删除多语言资源,只保留简体中文;
- 移除 Monaco、Xterm、Markdown等关联依赖。
后端
- 删除 v1 Agent 协议及兼容路由,只保留 v2;
- 删除 Web SSH、远程命令、文件传输、任务和任务结果;
- 删除 Agent 自动发现与自动注册;
- 删除 API Key 管理员认证;
- 删除 OAuth/OIDC 及账户绑定;
- 删除内置 Cloudflared 和 Nezha 兼容层;
- 删除剪贴板、在线备份上传下载和 ZIP 自动恢复;
- 删除定时流量报告;
- 删除 Bark、Email、JavaScript、Webhook、Server 酱等通知,仅保留 Telegram;
- 删除自定义 Head/Body;
- 同步清理相关配置、接口、RPC、数据表、模型和依赖。
Agent
- 删除远程 Shell 和命令执行;
- 删除文件浏览、编辑和上传下载;
- 删除自动更新与自动发现;
- 删除 Windows、macOS、FreeBSD 支持,仅保留 Linux;
- 删除 v1 协议回退;
- 删除 exec、terminal、file、message 等远程事件能力;
- 构建目标缩减为 Linux AMD64 和 ARM64。
二、改进部分
前端
- 后台结构收敛为节点、Ping、告警、主题、设置、日志和账户管理;
- 登录统一为账号密码加可选2FA;
- 登录凭据只通过 HttpOnly Cookie 保存,不再向前端返回 Session Token;
- 保留实时监控和历史图表,改用受限的公共指标接口;
- 修复 Agent 安装命令的参数转义,避免 Shell 注入;
- 主题上传流程与后端接口统一。
后端
- 密码改用 bcrypt,旧密码在成功登录后自动升级;
- Agent Token 统一使用
Authorization: Bearer,不再出现在 URL 和请求体;
- 增加登录限流,防止密码暴力破解;
- 增加请求体、解压数据、WebSocket 和 JSON-RPC Batch 大小限制;
- 对 Agent 上报字段进行白名单、长度、类型和数值校验;
- 节点地区信息由服务端计算,不再信任 Agent 上报;
- 日志自动遮盖 Token、Session、Authorization 等敏感参数;
- 收紧 CORS、反向代理 Header 和 WebSocket Origin 信任范围;
- GeoIP、MMDB、字体等外部文件采用限时、限大小、格式校验和原子替换;
- 新增受权限和点数限制的历史指标查询接口;
- 自动清理已删除功能遗留的配置和数据表。
Agent
- 明确为“仅监控 Agent”,对外只提供监控上报和 Ping 能力;
- 使用 v2 协议和 Bearer Header 与主控通信;
- 使用专用非 root 用户运行,并启用
no_new_privs;
- ICMP Ping 改为无特权模式;
- 严格校验面板地址、Token、上报周期、IP 和流量重置日;
- 限制 HTTP 响应和 WebSocket 消息大小;
- Ping 事件增加确认、重试和去重机制;
- WebSocket 失败后保留 POST 降级上报;
- 安装、替换、卸载脚本支持校验、备份和失败回滚;
- 配置文件权限收紧,Token 输入默认不回显。
