耗子
e238422310
chore: 清理代码
2026-08-15 08:33:30 +08: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
耗子
ce50aa4653
feat: 备份恢复改为后台任务
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-25 01:45:48 +08:00
耗子
cbed8e4797
refactor(job): 定时任务改为声明式贡献,测试脱离环境变量
...
- 每个任务合并为单个 NewXxx(i do.Injector) (Job, error) 构造函数,
直接返回声明式 Job{Spec, Task},删除 JobFn 闭包与 Register 包装层
- 调度器改为 registry.Collect[job.Job] 统一装配,与路由贡献模型对称
- InitGlobal 导出并读取 conf.App.Root(默认 /opt/ace),
返回 error 不再 Fatalf,修复原先无视配置 root 字段的硬编码
- 容器装配测试改用内存配置 + do.OverrideValue 注入,
不再依赖磁盘配置与 PANEL_CONFIG 环境变量(原测试实际会失败)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-09 22:31:56 +08: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
耗子
f024381660
feat(panel): 数据库故障降级、健康告警与检测
...
- 网站统计聚合器 flush 失败也 commit(丢弃已 drain 增量),防止 DB
长期不可写时内存无界累积导致 OOM/CPU 100%
- 势态感知同样在 upsert 失败时上报健康问题
- 新增 internal/app.Health 全局健康状态注册表,通过 /home/health 暴露
- 前端 layout 顶部新增 HealthBanner,DB 故障时红色横幅提醒并给出修复引导
- acepanel fix 检测数据库损坏改用 PRAGMA quick_check,能识别 malformed
等仅在查询时才暴露的静默损坏
- 主库与辅助库 DSN 一律设为 synchronous(FULL),减少宿主 write-back
缓存丢失 fsync 导致的损坏概率
- 移除 debug.SetMemoryLimit(256MB):软上限在活对象超限时会驱动 GC 反复
追赶不可回收对象,反而放大 CPU 打满
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-07-03 04:21:10 +08:00
耗子
f5ad988576
feat: 替换验证器实现
2026-07-03 00:22:23 +08:00
耗子
c41dab89f8
refactor: 替换 robfig/cron/v3 为 libtnb/cron
...
robfig/cron 已停止维护,迁移到 libtnb/cron(零三方依赖,API 设计更现代)
主要变更:
- pkg/cron/logger.go 删除,libtnb/cron 直接吃 *slog.Logger
- bootstrap.NewCron 用 wrap.Recover() / wrap.SkipIfRunning() 替代旧 cron.Recover / SkipIfStillRunning
- app.Ace.Run 处理 c.Start() error 返回值;c.Stop(ctx) 接受 context
- 6 个 job (Monitoring/FirewallScan/CertRenew/PanelTask/WebsiteStat/WebsiteExpire) 的 Run 签名从 () 改为 (context.Context) error
- jobs.Register 用 c.Add 替代 c.AddJob
- 重新生成 wire 代码
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-08 18:55:39 +08:00
耗子
e799cb4031
feat: 重构面板证书逻辑
2026-03-30 20:28:11 +08:00
半岛的蒟蒻bddjr
e947259b86
fix: go.mod module github.com/acepanel/panel/v3 ( #1423 )
2026-02-25 18:07:00 +08:00
耗子
95d38b6c02
feat: 添加一些内部数据显示
2026-02-19 04:24:34 +08:00
耗子
2f2f17b1c7
refactor: 重构任务队列
2026-02-17 17:47:25 +08:00
耗子
d2b30f211f
chore: 移除h3支持,QoS麻了
2026-02-11 22:39:33 +08:00
Copilot
0724a042ef
feat: HTTP/3 (QUIC) 支持 + TLS 证书热重载 ( #1356 )
...
* Initial plan
* feat: 添加 HTTP/3 (QUIC) 协议支持,TLS 启用时自动启用
Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com >
* refactor: 优化证书路径复用,修正注释和依赖标记
Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com >
* feat: 添加证书热重载,TLS 握手时自动检测并加载变更的证书文件
Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com >
* refactor: 使用 fsnotify 替代每次握手 os.Stat 实现证书热重载
Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com >
* fix: lint
* fix: lint
* fix: 使用 wire 工具重新生成 wire_gen.go 替代手动编辑
Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com >
* feat: 通过 Wire 注入 *tlscert.Reloader,优雅关闭时正确释放资源
Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com >
* fix: lint
* fix: lint
* fix: lint
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com >
Co-authored-by: 耗子 <haozi@loli.email >
2026-02-09 20:10:13 +08:00
耗子
9f590fe3e9
feat: 支持优雅关闭
2026-01-26 02:47:42 +08:00
耗子
0292d3d6c0
fix: lint
2026-01-26 02:41:35 +08:00
耗子
61b74b31d9
feat: 优化包大小
2026-01-04 04:47:56 +08:00
耗子
5ee35cbd30
refactor: rename module
2025-09-18 23:24:03 +08:00
耗子
38e260e36d
Revert "feat: 重命名主体项目"
...
This reverts commit 4daa98ef5c .
2025-08-24 15:44:58 +08:00
耗子
4daa98ef5c
feat: 重命名主体项目
2025-08-24 04:39:20 +08:00
耗子
5584cc18cb
refactor: 重命名项目
2025-07-23 04:50:25 +08:00
耗子
0f08c10f02
feat: 添加翻译
2025-04-12 18:55:47 +08:00
耗子
4f5961d7f7
refactor: 重构应用加载器
2025-01-02 21:11:06 +08:00
耗子
8b0e7bcaa9
refactor: 新年快乐
2025-01-01 15:33:47 +08:00
耗子
3e15f83275
fix: 优化命令行退出
2024-12-29 21:19:33 +08:00
耗子
f67c02a0ec
feat: 优化命令行数据库迁移
2024-12-29 15:29:34 +08:00
耗子
cff89253c8
fix: cli数据库迁移
2024-12-29 15:13:50 +08:00
耗子
bbe07f7bdd
workflow: 合并前后端工作流
2024-12-20 15:51:48 +08:00
耗子
a64660d0cb
refactor: 应用支持依赖注入
2024-12-16 02:01:31 +08:00
耗子
cd1d7c9757
refactor: 初步实现依赖注入
2024-12-15 23:01:17 +08:00
耗子
24af7bab5f
refactor: 替换验证器
2024-12-15 19:44:49 +08:00
耗子
7bc716cff6
feat: 实现安全登录
2024-12-03 03:46:28 +08:00
耗子
128f44ca55
workflow: 更新ci文件
2024-12-03 00:01:26 +08:00
耗子
1fee3632fc
chore: 优化编译注入
2024-12-02 23:18:16 +08:00
耗子
599ea2c245
chore: 版本号自动注入测试
2024-12-02 22:45:49 +08:00
耗子
7f61793b36
feat: php 8.4
2024-11-25 01:45:19 +08:00
耗子
f2eb3a180c
feat: 对部分密码进行加密
2024-11-07 00:25:09 +08:00
耗子
44c370a119
feat( #305 ): 使用slog记录所有日志
2024-10-28 20:18:25 +08:00
耗子
c80c22c133
refactor: 仪表盘实时数据接口
2024-10-16 17:04:34 +08:00
耗子
a25de6e4db
feat: 仅在cli中打印信息
2024-10-15 16:53:42 +08:00
耗子
96d7e14631
feat: 添加计划任务
2024-10-12 02:25:41 +08:00
耗子
c18a96e439
feat: 设置完善及日志记录器
2024-10-02 01:49:07 +08:00
耗子
54470f87b0
feat: 命令行获取信息和初始化
2024-09-30 17:52:23 +08:00
耗子
2e26af435a
refactor: rename app to panel
2024-09-18 19:08:45 +08:00
耗子
194287554e
refactor: migrate to chi framework ( #165 )
...
* refactor: 重构部分完成
* fix: 添加.gitkeep
* fix: build
* fix: lint
* fix: lint
* chore(deps): Update module github.com/go-playground/validator/v10 to v10.22.1 (#162 )
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): Update module gorm.io/gorm to v1.25.12 (#161 )
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): Update module golang.org/x/net to v0.29.0 (#159 )
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* workflow: 更新工作流
* workflow: test new download
* feat: merge frontend project
* workflow: fix frontend build
* workflow: fix frontend build
* workflow: fix frontend build
* workflow: fix frontend build
* workflow: fix frontend build
* workflow: fix frontend build
* workflow: fix frontend build
* workflow: fix frontend build
* workflow: fix frontend build
* workflow: fix frontend build
* workflow: fix frontend build
* workflow: fix frontend build
* workflow: fix frontend build
* workflow: update to ubuntu-24.04
* workflow: rename build-*
* workflow: 修改fetch-depth
* chore(deps): Update dependency eslint to v9 (#164 )
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(frontend): update dependences
* chore(frontend): fix lint
* chore(frontend): fix lint
* workflow: add govulncheck
* workflow: disable nilaway
* feat: 使用新的压缩解压库
* fix: 测试
* fix: 测试
* fix: 测试
* feat: 添加ntp包
* chore(deps): Lock file maintenance (#168 )
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): Update module github.com/go-resty/resty/v2 to v2.15.0 (#167 )
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): Update dependency @iconify/json to v2.2.249 (#169 )
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat: 添加限流器
* feat: 调整登录限流
* feat: 证书
* fix: lint
* feat: 证书dns
* feat: 证书acme账号
* fix: 修改UserID导致的一系列问题
* feat: 低配版任务队列
* feat: 队列完成
* fix: lint
* fix: lint
* fix: swagger和前端路由
* fix: 去掉ntp测试
* feat: 完成插件接口
* feat: 完成cron
* feat: 完成safe
* chore(deps): Update dependency vue to v3.5.6 (#170 )
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): Update dependency @vueuse/core to v11.1.0 (#171 )
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): Update dependency vite to v5.4.6 (#173 )
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): Update unocss monorepo to v0.62.4 (#172 )
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore: update renovate config
* feat: 新的firewall客户端
* fix: lint
* feat: firewall完成
* feat: ssh完成
* feat: 容器完成1/2
* feat: 容器完成
* feat: 文件完成
* feat: systemctl及设置
* fix: windows编译
* fix: session not work
* fix: migrate not work
* feat: 前端路由
* feat: 初步支持cli
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-18 01:43:14 +08:00