耗子
|
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 |
|
renovate[bot]
|
e1cb687bbc
|
chore(deps): Lock file maintenance (#1700)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-07-06 05:09:03 +00:00 |
|
renovate[bot]
|
555ba71067
|
chore(deps): Update pnpm to v11.10.0 (#1699)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-07-05 01:37:23 +00:00 |
|
renovate[bot]
|
27b0cd0168
|
chore(deps): Update dependency tsx to v4.23.0 (#1698)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-07-03 21:11:42 +00:00 |
|
耗子
|
260690a25e
|
fix(web): 修复快速切换 Tab 时文件编辑器内容错乱
编辑器改为每个 tab 一个独立 Monaco model,切换 tab 用 setModel 代
替 setValue;每个 model 的 onDidChangeContent 用闭包 boundPath 回
写,杜绝异步事件与 activeTabPath 错位时把 A 的内容写进 B 的问题。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-07-04 00:27:19 +08:00 |
|
耗子
|
3bdd3711b0
|
fix: SQLite使用NORMAL模式启动
|
2026-07-03 16:29:31 +08:00 |
|
耗子
|
5c77144f07
|
fix: 修复验证器规则报错
v3.2.6
|
2026-07-03 08:59:04 +08:00 |
|
github-actions[bot]
|
94fe6753da
|
New Crowdin translations by GitHub Action (#1697)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
|
2026-07-03 04:48:47 +08:00 |
|
h2zi
|
fe67fccde3
|
chore(l10n): update pot files
|
2026-07-02 20:29:58 +00:00 |
|
耗子
|
6b733fc2af
|
fix(web): 修正 HealthBanner 中扫描感知的术语措辞
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-07-03 04:27:34 +08:00 |
|
h2zi
|
44f243e94f
|
chore(l10n): update pot files
|
2026-07-02 20:22:59 +00:00 |
|
耗子
|
756834a59a
|
chore(web): 同步 pnpm-lock 至 vite 8.1.3
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-07-03 04:21:14 +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 |
|
耗子
|
3098d9fb64
|
fix(web): 升级 vite 至 8.1.3 修复生产构建白屏
vite 8.0.14+ 因 rolldown 1.0.2/1.0.3 tree-shaking 决策错误
(rolldown#9515),懒加载 chunk 调用未定义的 init_runtime_dom_esm_bundler
导致白屏。rolldown 1.1.2 (vite 8.1.0+) 修复。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-07-03 03:50:53 +08:00 |
|
github-actions[bot]
|
fa71b6f4ef
|
New Crowdin translations by GitHub Action (#1696)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
|
2026-07-03 02:30:50 +08:00 |
|
h2zi
|
39b5f10012
|
chore(l10n): update pot files
|
2026-07-02 18:18:00 +00:00 |
|
h2zi
|
79fa002bd6
|
chore: update mocks
|
2026-07-02 18:15:21 +00:00 |
|
耗子
|
00a5acbc45
|
feat(panel): 重写自升级流程并精简面板备份 (close #1674)
升级改为覆盖式:只替换程序文件,storage 原地不动,中断安全无需 fix;新增 WS 实时进度,前端等待重启自动刷新。面板备份改为仅打包核心文件(ace/panel.db/config.yml/cert/cli),排除统计/扫描大库,体积大幅下降。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-03 02:12:52 +08:00 |
|
耗子
|
65e2750102
|
fix(website): 修复 IP 作为域名的处理(尤其 IPv6)
- 抽取 IsIPv6/WrapIPv6/UnwrapIPv6 到 pkg/tools,复用于 acme panelSolver
- server_name 写入时为 IPv6 套方括号、读取时剥离,Domains 统一裸地址口径,证书 SAN 判定自然正确
- 前端打开网站链接时为 IPv6 套方括号,避免拼出非法 URL
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-03 01:21:04 +08:00 |
|
耗子
|
93e013ec56
|
feat(file): 文件压缩/解压改为后台任务 (close #1675)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-07-03 00:51:27 +08:00 |
|
renovate[bot]
|
07e608a3c0
|
chore(deps): Update dependency tsx to v4.22.5 (#1695)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-07-03 00:32:26 +08:00 |
|
renovate[bot]
|
a255e9e1d8
|
chore(deps): Update actions/checkout action to v7 (#1678)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-07-03 00:32:19 +08:00 |
|
耗子
|
f5ad988576
|
feat: 替换验证器实现
|
2026-07-03 00:22:23 +08:00 |
|
耗子
|
2e18c25054
|
feat(website): 纯静态网站默认写入 SPA 路由回退配置
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-02 22:58:31 +08:00 |
|
耗子
|
a98142ea93
|
fix(website): reload 失败时返回 web 服务配置测试详情
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-02 22:22:17 +08:00 |
|
耗子
|
4d8f6fad9f
|
fix: X-Debug 调试日志仅在调试模式下生效
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-02 22:22:17 +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]
|
62c5271c37
|
chore(deps): Update dependency vue-tsc to v3.3.6 (#1692)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-06-30 23:05:34 +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]
|
c1092576b2
|
chore(deps): Lock file maintenance (#1690)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-06-29 18:52:14 +08: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]
|
69dae9be95
|
chore(deps): Update dependency vite-plugin-vue-devtools to v8.1.5 (#1688)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-06-28 15:55:22 +08:00 |
|
耗子
|
e7b2323c70
|
Merge remote-tracking branch 'origin/main'
|
2026-06-28 15:53:15 +08:00 |
|
耗子
|
371f80451b
|
fix: 移除部分默认配置
|
2026-06-28 15:53:08 +08:00 |
|
耗子
|
6e3b35b3db
|
fix(acme): 修复 IP/通配符证书签发失败
- nginx server_name 中的 IPv6 字面量补上方括号,避免匹配不上 LE 带方括号的 Host 头被 default_server 接管
- Apache 改用 IP-based VirtualHost(ServerName 不支持 IPv6 字面量,会让 httpd -t 失败)
- DNS-01 改用 AppendRecords 单条追加(与 Caddy/certmagic 对齐),避免 SetRecords
在 Cloudflare 等 provider 下按 (name,type) 覆盖同名 TXT,导致主域+通配符同时签发时
主域 challenge 被通配符 challenge 覆盖
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-28 15:48:57 +08:00 |
|
renovate[bot]
|
2798d7fb5d
|
chore(deps): Update dependency eslint to v10.6.0 (#1685)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-06-27 01:57:16 +00: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]
|
4b675c587f
|
chore(deps): Update non-major dependencies (#1682)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-06-23 21:50:22 +00:00 |
|
renovate[bot]
|
3efc9e2f66
|
chore(deps): Update non-major dependencies (#1681)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-06-23 01:52:45 +00:00 |
|
耗子
|
3715e6db5e
|
fix(web): 修复网站编辑大小/时间单位反推导致的下拉失效与跳变
将单位作为独立 UI 状态保存到对象上(_size_unit / _units),
不再从字节/纳秒反推单位,避免:
- 空值切换 GB 等单位时因 buildSize(0,...)=0 导致单位丢失
- 输入 1024 MB 因恰好是 GB 整数倍而被自动跳成 1 GB
- 输入 60 秒被自动跳成 1 分钟等同类问题
覆盖 EditModal.vue 中 client_max_body_size 与 5 个 duration 字段,
以及 NginxIndex.vue 中 stream upstream resolver_timeout。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-23 02:41:01 +08:00 |
|
耗子
|
29247e6944
|
refactor(pkg/dns): 精简 netplan 结构体与去除接口遍历重复
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-22 17:37:44 +08:00 |
|
renovate[bot]
|
6303ac943a
|
chore(deps): Lock file maintenance (#1680)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-06-22 05:05:43 +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 |
|
耗子
|
c2a8200817
|
fix: 修复 CI lint 与前端类型检查报错
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-20 02:14:22 +08: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 |
|
耗子
|
54354c369a
|
fix: fail2ban SSH 多 Port 时 jail 配置换行
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-18 20:17:22 +08:00 |
|