629 Commits

Author SHA1 Message Date
renovate[bot] 1e6a8d8075 chore(deps): Update module github.com/andybalholm/brotli to v1.2.3 (#1774)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-28 01:14:12 +08:00
renovate[bot] b7ef703811 chore(deps): Update non-major dependencies (#1772)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-28 01:12:09 +08:00
renovate[bot] 1df45f438b chore(deps): Update non-major dependencies (#1750)
* chore(deps): Update non-major dependencies

* fix: 适配 libtnb validator v0.4.3 与 cron v0.5.4 新 API

- 自定义规则改经 WithRules/WithFallibleRules 注入,exists/not_exists 转为
  FallibleRule 让数据库错误上抛而非静默失败
- openapi contrib 移除运行时 Op,端点文档改为 Document 闭包在定义处捕获类型
- SetDefault 已移除,Bind 校验器改由 service.SetValidator 注入
- cron.New 现在返回 error

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: 耗子 <haozi@loli.email>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-26 23:11:15 +08:00
耗子 3ce353e8e4 chore: 升级 Go 1.27 并迁移 mockery v3 修复 CI
mockery v2 已 EOL,其内嵌的旧版 x/tools 无法解析 Go 1.27 的 export data,
导致 Mockery workflow 在 stable 切到 1.27.0 后持续失败。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-26 17:37:38 +08:00
耗子 6e97789db2 chore: update dependences 2026-08-15 22:53:07 +08:00
耗子 a6c2a60e55 feat: Frp 管理器支持可视化配置
frps/frpc 参数表单基于 confval 新增的 TOML 编解码就地改写主配置,保留注释与键顺序。
代理与访问者写入独立的 conf.d 目录,主配置只注入一行 includes,不接管其中手写的代理。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-15 21:45:30 +08:00
耗子 e8f7811aba feat: 重构 CLI 命令并补全缺失功能
website create 未传网站类型导致必然失败,补全类型、代理地址、
数据库、备注等参数,并在进入 biz 层前统一走验证器校验。

新增命令:
- firewall status/on/off/list/port
- cert list/renew
- restore panel
- website cert/list,user create/delete
- backup list,app list,cron list/run/status
- database list-server

调整:
- 密码取值改为参数 > ACEPANEL_PASSWORD > 交互输入(不回显)
- 补 bind-domain/bind-ip/bind-ua 的 on 子命令
- 新增全局 --json,接入全部 list 命令
- port 支持 flag 写法,info 支持 -u 指定用户
- 位置参数命令补 ArgsUsage

修复:
- cutoff clear 清理远程日志时目录与上传路径不一致,导致远程切割
  日志从未被清理,ClearStorageExpired 改为接收目标目录
- restore 缺少 panel 分支,从 FixPanel 抽出 restorePanel 复用

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-15 19:30:11 +08:00
耗子 255cb98d9d perf: 优化监控与辅助数据库存储 2026-08-14 18:57:07 +08:00
耗子 17cbb1ad2a feat: Docker 操作支持后台任务 2026-08-12 17:10:54 +08:00
renovate[bot] d9e3564fa2 chore(deps): Update module github.com/libtnb/sqlite to v1.2.2 (#1744)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-04 22:45:40 +00:00
renovate[bot] 20192fd754 chore(deps): Update non-major dependencies (#1743)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-04 01:24:34 +00:00
renovate[bot] 365379551a chore(deps): Update non-major dependencies (#1740)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-01 20:29:36 +00:00
renovate[bot] 03e9646e57 chore(deps): Update non-major dependencies (#1736)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-29 17:57:44 +00:00
renovate[bot] ef824b2f6d chore(deps): Update non-major dependencies (#1733)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-28 02:10:29 +00:00
耗子 ea22c2f0a7 refactor(di): restore compile-time Wire injection
Replace the samber/do runtime container with explicit constructor dependencies and generated Wire graphs for ace and cli. Keep CLI application loading isolated and verify generated files in CI.
2026-07-27 02:54:44 +08:00
耗子 4e28fc60a3 feat: 添加通知与告警模块
- 通知渠道支持配置多个 SMTP 账号,配置整体加密落库,删除时清理规则与事件设置中的引用
- 告警规则支持 18 种指标:CPU/内存/Swap/负载/磁盘用量与 inode/磁盘与网卡速率/网站 5xx 与错误率、
  服务与项目与容器与应用与数据库运行状态、证书与网站剩余天数,可配连续命中次数与静默期
- 系统事件通知覆盖证书续签失败、备份失败、后台任务失败、计划任务失败、网站到期、防篡改拦截、
  面板健康问题、面板登录与爆破、SSH 登录与爆破
- 计划任务统一经 wrapper 执行以捕获退出码,flock 抢锁失败不计为失败
- 监控页改造为系统/告警/设置三 Tab
- 数据库驱动建连打通 context 并补齐连接超时,探测不再阻塞告警评估

close #1041

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-25 22:45:51 +08:00
耗子 aca88ffeea feat: 去除设置层的缓存 2026-07-25 00:05:59 +08:00
renovate[bot] e2ad3407aa chore(deps): Update non-major dependencies (#1725)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-23 07:05:01 +08:00
renovate[bot] 7ad1b721f7 chore(deps): Update module github.com/samber/do/v2 to v2.1.0 (#1718)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-20 23:38:57 +08:00
renovate[bot] f00f0c7f14 chore(deps): Update module github.com/pkg/sftp to v1.13.11 2026-07-20 12:40:18 +00:00
renovate[bot] c80faa5f0f chore(deps): Update non-major dependencies (#1709)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-20 20:38:59 +08:00
耗子 bea4654316 fix(tamper): eBPF 保护键改用 dev+inode 复合键消除跨文件系统误拦
仅用 inode 号做 protected map 的键会在不同文件系统间冲突:tmpfs
(/tmp、/dev/shm、/run)的 inode 号小而密集,极易与 /www 下受保护
文件的 inode 相同,导致这些 tmpfs 文件的合法写/删/改名被内核 EPERM
误拒。改为读取 inode->i_sb->s_dev 与 i_ino 组成 (dev, ino) 复合键,
用户态将 stat 的 glibc dev 编码转换为内核 s_dev 格式(MKDEV)以对齐。

顺带优化:ringbuf 事件解析改为按偏移零分配读取;移除引擎中未使用的
Clear/Count/Events 死代码。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 05:07:57 +08:00
耗子 f904a0e53b feat(firewall): 端口规则支持 xlsx 导出与导入
导出按固定表头生成 xlsx,导入按表头定位列并逐条下发,返回成功失败数

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 02:15:33 +08:00
renovate[bot] a6df473e02 chore(deps): Update module github.com/libtnb/chix to v2 (#1710)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-11 04:04:49 +08:00
renovate[bot] 7a1566b642 chore(deps): Update module github.com/libtnb/validator/contrib/openapi to v0.2.0 (#1707)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-09 19:28:42 +00:00
耗子 a8a09de21f Merge branch 'refactor/samber-do-architecture'
# Conflicts:
#	go.mod
#	go.sum
2026-07-09 22:35:27 +08:00
renovate[bot] 4f1cfc4dee chore(deps): Update non-major dependencies (#1706)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-09 13:55:07 +00:00
耗子 443516a2cf refactor!: 迁移至 samber/do 依赖注入与三层架构
依赖注入:
- 移除 google/wire(含 wire.go/wire_gen.go 与全部 ProviderSet),
  改用 samber/do v2 单注入器 + 双入口惰性构建
- 贡献模型替代命令式注册:路由 routes:、命令 commands:、
  任务 jobs: 前缀经 internal/registry 收集与校验
- 构造函数统一 func NewXxx(i do.Injector) (T, error)

三层架构:
- 补全用例层:每个 biz.XxxRepo 配 XxxUsecase,
  service/command/job 表现层只依赖用例,不再直接引用仓储

路由与文档:
- route/http.go 按域拆为声明式 Endpoint 贡献,
  Endpoint 承载登录白名单与端点限流语义
- 调试模式下提供 OpenAPI 3.1 文档:/openapi.json 与 /docs(Scalar),
  从 validate 标签生成

目录与依赖:
- internal/http/{middleware,request,rule} 拍平至 internal/*
- CLI 命令拆至 internal/command
- 日志轮转 timberjack 换为 libtnb/logrotate
- 升级 validator/cron/sessions/gormstore/sqlite/securecookie
- 数据库迁移保持 gormigrate 不变

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 21:54:22 +08:00
renovate[bot] 2483fabb0c chore(deps): Update non-major dependencies (#1704)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-09 00:47:07 +00:00
renovate[bot] 3b02563d71 chore(deps): Update non-major dependencies (#1702)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-08 12:32:48 +00:00
耗子 6f0593fbf8 feat: 升级 libtnb/validator v0.2.1,用上新校验能力
- 切片字段加 unique 防重复配置(域名/监听/IP/白名单/网卡/磁盘设备/
  NTP 服务器/应用标识/压缩路径/TLS 版本/索引/定时任务目标)
- 网站统计日期范围 End 加 after_or_equal:Start(结束不早于开始)
- 新增 tags_test.go:CheckRules 体检关键请求 + 全包 validate tag
  编译校验,坏规则名/语法错/未注册自定义规则在测试期即报错

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 23:11:28 +08:00
renovate[bot] c5fb80a4fb chore(deps): Update module github.com/go-chi/chi/v5 to v5.3.1 (#1701)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-06 20:10:51 +00:00
耗子 f5ad988576 feat: 替换验证器实现 2026-07-03 00:22:23 +08:00
renovate[bot] 67a7a41469 chore(deps): Update module github.com/bddjr/hlfhr to v1.6.1 (#1694)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-02 19:54:47 +08:00
renovate[bot] afae33c69a chore(deps): Update module github.com/shirou/gopsutil/v4 to v4.26.6 (#1693)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-02 00:56:45 +00:00
renovate[bot] ac116a7680 chore(deps): Update non-major dependencies (#1691)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-30 09:46:34 +00:00
renovate[bot] fea51108d2 chore(deps): Update module github.com/urfave/cli/v3 to v3.10.1 (#1689)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-28 21:49:54 +08:00
renovate[bot] f3696332af chore(deps): Update non-major dependencies (#1684)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-26 17:02:38 +00:00
renovate[bot] a510b81cf5 chore(deps): Update non-major dependencies (#1683)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-25 17:51:27 +00:00
renovate[bot] 8a89a40bd3 chore(deps): Update non-major dependencies (#1679)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-22 01:59:38 +08:00
renovate[bot] 3589bec397 chore(deps): Update non-major dependencies (#1677)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-20 03:11:43 +00:00
renovate[bot] 4a22299111 chore(deps): Update non-major dependencies (#1676)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-20 02:02:50 +08:00
renovate[bot] c3732477be chore(deps): Update non-major dependencies (#1666)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-15 15:13:30 +08:00
renovate[bot] 39f0d2564c chore(deps): Update non-major dependencies to v3.10.0 (#1664)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-14 16:59:38 +00:00
renovate[bot] d2ba8190ca chore(deps): Update non-major dependencies (#1659)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-10 22:00:32 +00:00
renovate[bot] 31bd29ae7a chore(deps): Update non-major dependencies to v4.0.0-rc.5 (#1657)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-09 17:41:23 +08:00
renovate[bot] 003feef87c chore(deps): Update non-major dependencies (#1656)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-08 22:29:43 +00:00
renovate[bot] 3e0c1dd574 chore(deps): Update non-major dependencies (#1653) 2026-06-08 17:24:42 +08:00
耗子 1a8bd4e400 chore: go mod tidy 2026-06-08 02:18:54 +08:00
耗子 3a937db506 fix: ipv6证书问题 2026-06-07 21:21:28 +08:00