Commit Graph
40 Commits
Author SHA1 Message Date
耗子 237b1bfcee feat: 证书支持关联多个网站,close #1587 2026-08-15 20:54:45 +08:00
耗子 be71610215 fix: 优化数据库迁移 2026-08-14 23:55:44 +08:00
耗子 5b6f4e50ba perf: 优化扫描数据库并修复 lint 2026-08-14 20:36:02 +08:00
耗子 255cb98d9d perf: 优化监控与辅助数据库存储 2026-08-14 18:57:07 +08:00
耗子andClaude Opus 5 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
耗子andClaude Fable 5 a2e46faab9 feat(task): 任务队列支持取消运行中与等待中的任务
任务执行接入 context 并放入独立进程组,取消时整组杀死;
新增可选 CancelShell 清理钩子,远程下载、压缩、备份任务
取消后自动清理残留文件,备份改用独享临时目录避免误伤并发备份;
防重改为按语言无关的任务标识 Key 匹配

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 23:16:49 +08:00
耗子andClaude Fable 5 8fa5c6d881 feat(file): 文件分享下载支持面板间互传
生成免登录的临时下载链接,强制设置有效期并支持下载次数限制,
过期分享由定时任务每小时清理,链接可直接用于其他面板的远程下载。

Closes #1641

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 22:47:11 +08:00
耗子andClaude Fable 5 a0b5a356a8 feat(tamper): 面板内置网站文件防篡改
双模式运行时可选:
- chattr 模式:inode 属性锁定(+i/+a),内核 VFS 层事前强制,全发行版通用
- eBPF-LSM 模式:纯 Go asm 手写 LSM 程序 + 运行时 BTF 查偏移(零编译),
  拦截写/删/改名并溯源进程,bpf LSM 未激活时引导改 grub 重启激活

含独立审计库、拦截日志、保护规则、fsnotify 新建监控、面板写入自动解锁恢复,
以及备份修复适配。参考 pkg/firewall/scan 的 eBPF 运行时加载范式

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 04:20:37 +08:00
6a7c856fe8 feat: 网站到期自动关闭 (#1561)
* Initial plan

* feat: 网站到期自动关闭功能

- biz.Website 新增 ExpireAt 字段(*time.Time,可空,默认不限时)
- 新增数据库迁移自动添加 expire_at 列
- 新增 API 端点 POST /website/{id}/expire_at
- 新增定时任务每分钟检查到期网站并自动关闭
- 前端网站列表新增到期时间列(证书有效期与备注之间)

Agent-Logs-Url: https://github.com/acepanel/panel/sessions/af33abcf-bbcd-4306-a680-76307c699774

Co-authored-by: h2zi <5967335+h2zi@users.noreply.github.com>

* refactor: 优化到期任务查询和数据更新

- 到期检查任务直接查询已到期且运行中的网站,避免加载全量数据
- UpdateExpireAt 使用直接 UPDATE 避免不必要的 SELECT 查询

Agent-Logs-Url: https://github.com/acepanel/panel/sessions/af33abcf-bbcd-4306-a680-76307c699774

Co-authored-by: h2zi <5967335+h2zi@users.noreply.github.com>

* refactor: ExpireAt 改为 time.Time,日志使用英文

- ExpireAt 从 *time.Time 改为 time.Time,零值表示不限时
- 日志消息改为英文,与其他 job 文件风格保持一致
- 前端适配零值时间判断

Agent-Logs-Url: https://github.com/acepanel/panel/sessions/00c49c64-7614-48d1-98bb-0d742d5f10ad

Co-authored-by: h2zi <5967335+h2zi@users.noreply.github.com>

* Revert "refactor: ExpireAt 改为 time.Time,日志使用英文"

This reverts commit ac3dfdb7e4.

* fix: lint

* fix: lint

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: h2zi <5967335+h2zi@users.noreply.github.com>
Co-authored-by: 耗子 <haozi@loli.email>
2026-04-22 03:06:43 +08:00
耗子 fdde61c8ae feat: DNS-01 CNAME 委托验证 (#1546)
* feat: DNS-01 CNAME 委托验证

* fix: address comments

* fix: lint
2026-04-07 03:45:41 +08:00
耗子 e0f5704275 fix: 竞态条件导致通行密钥无法登录 2026-02-28 23:04:28 +08:00
耗子andcoderabbitai[bot] 71e259ba32 feat: 支持通行密钥登录 (#1432)
* feat: 支持通行密钥登录

* fix: 修复AI评论

* Update pkg/passkey/passkey.go

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: lint

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-02-26 23:50:18 +08:00
半岛的蒟蒻bddjr e947259b86 fix: go.mod module github.com/acepanel/panel/v3 (#1423) 2026-02-25 18:07:00 +08:00
耗子 b86645bd58 feat: 拆分统计数据库以优化性能 2026-02-21 23:52:16 +08:00
耗子 67a4b2f8f1 feat: 网站统计优化 2026-02-20 04:46:58 +08:00
耗子 b39785fc34 feat: 网站统计优化 2026-02-20 04:29:40 +08:00
耗子 2d8f014d20 feat: 新增IP地理位置显示 2026-02-20 00:02:26 +08:00
耗子 7d368536d0 feat: 完善网站统计 2026-02-18 19:18:50 +08:00
耗子 fa30728753 feat: 网站统计 2026-02-18 18:17:16 +08:00
耗子andClaude Opus 4.6 9a1555c48a feat: 防火墙扫描感知功能 & 首页容器统计 & lint 修复
- 新增 eBPF 扫描感知:TC ingress 检测 SYN/UDP 扫描,端口白名单过滤
- 新增首页容器数量统计卡片,未安装容器环境时自动隐藏
- 扫描概览页:统计卡片、趋势图、Top IP/端口、事件列表
- 扫描设置页:启用开关、保留天数、网卡选择
- 统计对比改为同长度上一周期,替代固定昨日对比
- eBPF ports map MaxEntries 扩展至 65535 覆盖全端口
- 修复 WriteString(fmt.Sprintf()) lint 问题,改用 fmt.Fprintf
- 修复 database_redis.go 非常量格式字符串和 govet 警告

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 02:52:32 +08:00
耗子 b439973995 feat: 计划任务优化 2026-02-17 20:28:07 +08:00
耗子 0aebdd08e1 refactor: 重命名备份存储 2026-01-22 04:14:29 +08:00
耗子 5018ffa82e feat: 备份重构2 2026-01-22 01:09:38 +08:00
耗子 5c6892c7f5 feat: 从数据库读取备份记录 2026-01-19 23:50:04 +08:00
耗子 035046449d feat: 项目管理阶段1 2026-01-11 00:08:12 +08:00
耗子 ab6e0903f5 feat: 支持 webhook, close #695 2026-01-08 23:04:37 +08:00
耗子 5ee35cbd30 refactor: rename module 2025-09-18 23:24:03 +08:00
耗子 5584cc18cb refactor: 重命名项目 2025-07-23 04:50:25 +08:00
耗子 71f518c6f9 feat: 初始化网站类型 2025-05-15 08:29:51 +08:00
耗子 d27a91570c feat: 支持绑定域名、IP、UA,close #670 2025-05-14 03:08:31 +08:00
耗子 dad868b64c fix: 重写迁移 2025-03-29 14:44:56 +08:00
耗子 dff0a61182 feat(#528): 证书支持部署脚本 2025-03-18 03:18:39 +08:00
耗子 8b0e7bcaa9 refactor: 新年快乐 2025-01-01 15:33:47 +08:00
耗子 c2aa4a4904 feat: 去除迁移的强校验 2024-11-27 03:48:43 +08:00
耗子 7d9de56a82 feat: 重构数据库1 2024-11-24 20:46:25 +08:00
耗子 724d05d980 feat: 优化数据库模型 2024-11-07 02:13:24 +08:00
耗子 ff7e76ac2b feat: 初始化数据库条目模型 2024-11-07 00:49:11 +08:00
耗子 3c72a66c1f feat: ssh多机管理 2024-10-23 02:39:43 +08:00
耗子 dded5e26aa feat: 支持远程插件 (#180)
* feat: api基本完成

* feat: 阶段性提交

* feat: 初步支持远程插件

* feat: 支持远程插件

* fix: tests
2024-09-19 01:17:29 +08:00
耗子andrenovate[bot] 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