github-actions[bot]
|
b0b1e741bd
|
chore(l10n): update pot files
|
2026-08-15 13:08:42 +00:00 |
|
耗子
|
cafec4a3cc
|
Merge remote-tracking branch 'origin/main'
|
2026-08-15 21:06:32 +08:00 |
|
耗子
|
8109915e20
|
feat: 优化CI时序
|
2026-08-15 21:06:22 +08:00 |
|
h2zi
|
19372d68ce
|
chore: update mocks
|
2026-08-15 12:55:50 +00:00 |
|
耗子
|
237b1bfcee
|
feat: 证书支持关联多个网站,close #1587
|
2026-08-15 20:54:45 +08:00 |
|
耗子
|
e501896943
|
fix: 面板更新完成后自动关闭更新页
更新成功后关闭更新页标签并跳转首页,避免刷新时停留在更新页
重复请求更新信息导致弹出「已是最新版本」错误提示
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-15 19:50:31 +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 |
|
github-actions[bot]
|
5654ff907d
|
New Crowdin translations by GitHub Action (#1759)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
|
2026-08-15 18:11:42 +08:00 |
|
h2zi
|
6406d676be
|
chore(l10n): update pot files
|
2026-08-15 02:05:58 +00:00 |
|
耗子
|
61e28afa31
|
Merge remote-tracking branch 'origin/main'
|
2026-08-15 10:02:44 +08:00 |
|
耗子
|
b070d2d0d0
|
chore: 支持迁移用户
|
2026-08-15 10:02:37 +08:00 |
|
h2zi
|
acf90cd177
|
chore(l10n): update pot files
|
2026-08-15 01:28:04 +00:00 |
|
耗子
|
556dd6fb07
|
chore: 清理代码
|
2026-08-15 09:26:16 +08:00 |
|
耗子
|
a459c41b53
|
chore: 清理代码
|
2026-08-15 09:15:22 +08:00 |
|
耗子
|
2b97845b79
|
chore: 清理代码
|
2026-08-15 08:37:29 +08:00 |
|
耗子
|
00d3b72649
|
chore: 清理代码
|
2026-08-15 08:33:35 +08:00 |
|
耗子
|
e238422310
|
chore: 清理代码
|
2026-08-15 08:33:30 +08:00 |
|
耗子
|
dac99e9e00
|
chore: 清理代码
|
2026-08-15 07:58:26 +08:00 |
|
耗子
|
2bde7f7a73
|
chore: 清理代码
|
2026-08-15 07:30:59 +08:00 |
|
耗子
|
dbc44f1d17
|
Merge remote-tracking branch 'origin/main'
|
2026-08-15 07:08:00 +08:00 |
|
耗子
|
0fa22de098
|
feat: 添加容器数据库提醒
|
2026-08-15 07:07:52 +08:00 |
|
h2zi
|
882103bb14
|
chore: update mocks
|
2026-08-14 23:03:22 +00:00 |
|
耗子
|
5fbd84b039
|
perf: 修复告警评估拖垮服务器负载
sshd 日志改为优先读 /var/log/auth.log 或 /var/log/secure,按字节偏移增量读取,
无文本日志时才回退 journald。journald 按单位过滤要沿匹配链遍历,实测一台
3.6G journal 的机器上取最后一条都超过 30 秒,游标方案因首次定位就超时而始终
建立不起来,每轮都退回全量扫描,iowait 长期 80% 以上;调度器的 SkipIfRunning
又会让整个告警评估随之停摆。同机对比,读文本日志耗时 0.1 秒。
其余:
- 采集前先判断事件是否已订阅且配好渠道,此前是扫完才发现没人接收
- 没有系统类规则时跳过 CurrentInfo,其内部两次 cpu.Percent 各阻塞 100ms
- 清理已消失目标的静默记录,此前只清命中计数,动态目标下会持续堆积
- disk.Usage 出错返回 nil 时直接解引用会 panic
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-15 07:02:17 +08:00 |
|
耗子
|
745e88df69
|
feat: 迁移补回传输进度日志并改进时间显示
- 传输层通过回调上报字节数,下载与上传共用一套节流与格式化,每秒最多一条;
首秒不打,秒传的小文件无需进度,耗时过短算出的速度也没有参考价值
- 运行中显示实时累计耗时,结束后显示时间区间与总耗时,此前结束时间为空
会渲染成两个横杠
- 步骤条末步按内容收缩,其没有连接线,再占等分宽度会在右侧留下空白
- 预检阶段提示目标缺少来源所用的 PHP 版本:宝塔从站点表的 php_version 取,
1Panel 网站列表只给运行环境名,从运行环境列表换取版本
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-15 07:02:04 +08:00 |
|
耗子
|
7f6b86b700
|
perf: SSH 日志扫描改为游标增量读取
journald 对游标是直接定位,而带 -u 过滤的 --since 需沿匹配链回溯,
sshd 日志量大时非常慢。首次用 -n 0 只定位游标不输出日志,后续各轮走游标
快路径,游标因日志轮转失效时回退一轮 --since。
同时只取 MESSAGE 字段改用 -o cat,省去 journald 侧序列化与这边的逐行
反序列化,并给单轮扫描加上超时与条数上限,避免拖垮整个告警评估。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-15 06:18:01 +08:00 |
|
耗子
|
8cfb409c2f
|
fix: 网站备份还原兼容其他面板的归档结构
还原:
- 新增 selectWebsiteBackup 逐层展开归档并定位网站文件根,用户上传宝塔或
1Panel 导出的备份可直接还原;1Panel 的包是「元数据 + 内层归档」,
内层再套一层站点名,其下的 index 才是文件根,PHP 站点还多一份运行环境归档
- 迁移的网站文件改走备份还原,不再自行解包,避免两处各写一套识别逻辑
1Panel 适配:
- 备份接口只是把任务丢进后台就返回,改为轮询记录状态直到写盘完成,
此前会下载到写了一半的归档,导入时报 gzip unexpected end of file
- 网站文件根是站点目录下的 index,siteDir 是相对它的运行目录,此前少了一层
- PHP 版本改读 params 中的 PHP_VERSION,version 字段可能只有主版本号
- 反代站点的根代理与代理列表重复时以列表为准,并补全代理目标的协议
- 面板地址去掉路径部分,安全入口只拦登录页,带着它会让所有接口 404
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-15 06:17:52 +08:00 |
|
耗子
|
e9df1f28f0
|
fix: 修复宝塔与 1Panel 迁移的多处问题
宝塔适配:
- 认证参数改走 query,此前按 req.Method 分流,而 resty 在签名时尚未确定方法,
导致下载备份的 GET 请求丢失认证,被面板以伪装 404 拒绝
- PHP 版本兼容 84 这类连写形式,此前解析为 0 使迁移后站点未绑定 PHP
- 反代站点改读代理模块接口,站点接口读不到新版反代规则
- 修正项目目录、启动命令与环境变量:其他项目的 project_exe 即项目目录,
Node.js 传统与 PM2 模式取 project_file,Python 按配置直接拼出
gunicorn/uwsgi 命令而非复用宝塔生成的配置文件
- 补齐各模块字段差异:运行用户 user、开机自启 auth、环境变量 env 与 env_list
- 站点停止时根目录被指向 /www/server/stop,改以 project_config 中保存的
原运行目录为准
1Panel 适配:
- 自动识别 v1 与 v2,按 v2 请求失败则回落 v1 并锁定版本
迁移通用:
- 目标缺少来源 PHP 版本时退到最接近的已装版本,都没有则不启用 PHP
- CopyTree 修正为 source+"/.",filepath.Join 会清理尾部的点,
导致临时目录被整个拷进目标
网站:
- 统计配置的 syslog tag 过滤全部非字母数字字符,站点名含点号时
nginx 拒绝加载配置
- 放开 PHP 版本的 required_if 校验,0 表示不使用 PHP
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-15 05:35:03 +08:00 |
|
h2zi
|
89874d7cdf
|
chore(l10n): update pot files
|
2026-08-14 18:23:59 +00:00 |
|
耗子
|
adfc71e451
|
fix: 优化代码
|
2026-08-15 00:51:10 +08:00 |
|
耗子
|
a32ffbe6e0
|
fix: 优化代码
|
2026-08-15 00:37:01 +08:00 |
|
耗子
|
7f94f80256
|
fix: 优化代码
|
2026-08-15 00:24:14 +08:00 |
|
耗子
|
be71610215
|
fix: 优化数据库迁移
|
2026-08-14 23:55:44 +08:00 |
|
耗子
|
b0ebf0f7a0
|
fix: lint
|
2026-08-14 23:13:41 +08:00 |
|
github-actions[bot]
|
a1b042e7f7
|
New Crowdin translations by GitHub Action (#1758)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
|
2026-08-14 23:06:10 +08:00 |
|
h2zi
|
540fa85278
|
chore(l10n): update pot files
|
2026-08-14 14:36:39 +00:00 |
|
耗子
|
9dac05e25c
|
refactor: 重构网卡配置管理并加入变更确认
三个网络管理器改为 backend 接口实现,各自的辅助方法收进对应结构体,
不再由包级函数经 switch 分发;探测结果缓存,更新时只加载目标网卡。
新增两阶段提交:应用后校验配置是否真正生效,随后进入待确认状态,
30 秒内未确认则自动回滚,避免配错网卡导致远程失联无法恢复。
修复 NetworkManager 读写 MTU 未带设置名导致网卡全部不可编辑,
以及 netplan set 键含点号时 VLAN 网卡配置被写入错误层级。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-14 22:35:17 +08:00 |
|
耗子
|
fd20e7fad9
|
Merge remote-tracking branch 'origin/main'
|
2026-08-14 22:21:08 +08:00 |
|
耗子
|
e81e60189b
|
fix: lint
|
2026-08-14 22:21:01 +08:00 |
|
h2zi
|
3a0e6e43b4
|
chore(l10n): update pot files
|
2026-08-14 14:04:59 +00:00 |
|
耗子
|
b81b1ba727
|
fix: 修复迁移中的整数窄化转换
CodeQL 报告 uint64 转 uint 在 32 位平台可能截断,改用 cast.ToUint 直接解析。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-14 21:55:03 +08:00 |
|
耗子
|
2a63a022e0
|
refactor: 重写宝塔与 1Panel 迁移
对照宝塔 11.0 与 1Panel v2 源码核实全部接口与字段,删除凭空猜测的兼容分支:
status 别名表、key/Key/k 环境变量、msg/message 双兼容、字符串二次解析、
下载重试 180 次、归档 magic 校验、残留资源清单。
按分层重新组织:service 只处理 HTTP,编排与导入下沉到 biz,两个适配器共享
HTTP 客户端,助手函数与正则收进各自结构体。容器与 Compose 迁移不再支持。
顺带修复宝塔 GetSSL 在未开启 SSL 时被误判为接口失败,以及备份完成后才恢复
来源导致停机时间过长。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-14 21:26:16 +08:00 |
|
耗子
|
5b6f4e50ba
|
perf: 优化扫描数据库并修复 lint
|
2026-08-14 20:36:02 +08:00 |
|
h2zi
|
69072ac60f
|
chore: update mocks
|
2026-08-14 10:58:30 +00:00 |
|
耗子
|
255cb98d9d
|
perf: 优化监控与辅助数据库存储
|
2026-08-14 18:57:07 +08:00 |
|
耗子
|
1e03d5fa01
|
Merge remote-tracking branch 'origin/main'
|
2026-08-13 02:14:13 +08:00 |
|
耗子
|
b32cc9a6d6
|
fix: lint
|
2026-08-13 02:14:03 +08:00 |
|
h2zi
|
faf3648a78
|
chore: update mocks
|
2026-08-12 17:17:57 +00:00 |
|
耗子
|
5d48412f72
|
feat: 支持切换网站类型
|
2026-08-13 01:16:51 +08:00 |
|
h2zi
|
ddabbc2fee
|
chore: update mocks
|
2026-08-12 17:12:20 +00:00 |
|
耗子
|
5303979097
|
feat: 支持宝塔和 1Panel 迁移
|
2026-08-13 01:11:12 +08:00 |
|