耗子
|
f25cd50763
|
fix: Java 项目 systemd 添加 SuccessExitStatus=143 且更新时保留自定义配置
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-23 02:47:35 +08:00 |
|
耗子
|
d8d1e20c5a
|
fix: 创建 MySQL 数据库授权已有用户报错 1410
MySQL 8 起 GRANT 不再隐式创建用户,授权已有用户时改为按
mysql.user 中实际存在的 host 逐一授权,用户不存在时明确报错,
并统一空 host 参数回退为 %
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-22 23:31:18 +08:00 |
|
耗子
|
9c977c154b
|
feat: 迁移支持 ClickHouse 数据库并修复多处问题
- 数据库迁移新增 ClickHouse 支持(结构 + SQLInsert 数据导出,远程 multiquery 导入)
- 数据库用户先于数据库迁移,修复导入时属主角色不存在
- pg_dump 加 --clean --if-exists,mysqldump 加 --routines --events
- 修复远程解压失败、SSE 流中断被静默当作成功的问题
- 临时文件改到面板目录 tmp 下,避免撑爆 /tmp 内存盘
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-22 22:15:17 +08:00 |
|
renovate[bot]
|
f347b77c72
|
chore(deps): Update dependency eslint-plugin-oxlint to v1.75.0 (#1724)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-07-22 09:57:57 +00:00 |
|
renovate[bot]
|
d356b7f5a0
|
chore(deps): Update non-major dependencies (#1723)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-07-22 01:30:34 +00:00 |
|
耗子
|
1b184f5178
|
fix: 项目 systemd 环境变量加双引号
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-22 06:55:35 +08:00 |
|
耗子
|
f4a056b601
|
fix: 优化
|
2026-07-22 01:49:45 +08:00 |
|
github-actions[bot]
|
02f6011c14
|
New Crowdin translations by GitHub Action (#1722)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
v3.3.0
|
2026-07-21 18:58:59 +08:00 |
|
h2zi
|
c0a1c177b9
|
chore(l10n): update pot files
|
2026-07-21 10:57:16 +00:00 |
|
h2zi
|
f5eea8b4a9
|
chore: update mocks
|
2026-07-21 10:55:55 +00:00 |
|
耗子
|
f0d8acca31
|
fix: 优化
|
2026-07-21 18:54:59 +08:00 |
|
耗子
|
5d314af538
|
fix: 优化
|
2026-07-21 18:37:32 +08:00 |
|
耗子
|
5ad6f8fa98
|
fix: 优化
|
2026-07-21 18:32:28 +08:00 |
|
renovate[bot]
|
fa26e643b7
|
chore(deps): Update non-major dependencies (#1721)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-07-21 09:33:29 +00:00 |
|
github-actions[bot]
|
1528d7dfc5
|
New Crowdin translations by GitHub Action (#1720)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
|
2026-07-21 06:15:36 +08:00 |
|
耗子
|
8a205f6ec8
|
fix(taskqueue): 修复 TestRunnerCancelRunning 在 CI 上偶发失败
file::memory: DSN 每个连接得到独立私有库,GORM 连接池多连接时
主 goroutine 创建的任务对 runner goroutine 不可见,runner 查不到
waiting 任务导致 waitStatus 超时。限单连接与 SQLite 单文件语义一致。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-07-21 06:11:15 +08:00 |
|
h2zi
|
595b1c4fc7
|
chore(l10n): update pot files
|
2026-07-20 22:07:05 +00:00 |
|
耗子
|
e0539a908a
|
fix: 优化性能
|
2026-07-21 06:01:35 +08:00 |
|
耗子
|
90634fdb93
|
fix(tamper): 事件名解析改 C 字符串截断修复 ringbuf 复用污染
- 上一版为省 32 条清零指令改成只清 name[0],但用户态 TrimRight("\x00")
只删末尾连续 NUL,ringbuf 复用旧数据时新事件的短名后会拼进旧尾部
- 恢复完整清零 + 用户态改用 cString(IndexByte 首个 NUL 截断)
- 补 inode_file_setattr optional hook 覆盖 FS_IOC_FSSETXATTR
- 暴露 UserDrops 观察模式健康检查;remove 关闭后返回错误一致化
- batchUpdateAll 加 key/value 长度保护;注释按 WHY 收敛
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-07-21 05:52:49 +08:00 |
|
耗子
|
c01ac0cbd3
|
fix(tamper): eBPF 模式严格化保护并消除多类绕过
- 目录 inode 纳入对象保护 + 新增 inode_rmdir/link 源/xattr/ACL hook 覆盖旁路
- 严格模式内核直拒 mkdir 与目录移入,消除"放行后异步纳管"竞态
- mountinfo 读 s_dev 修复 btrfs 子卷保护静默失效
- 事件 name 扩至 256 字节,op 最高位携带 denied 标志区分拦截/观察
- 扩展名 fail-closed:任一无法进内核表升级整树,而非静默漏保护
- 两阶段激活(先 apply 后 attach)消除空窗;start 幂等失败回滚
- Close 与 apply/remove 通过 mu 互斥,批量更新校验完成数量
- 前端 Block New Files 描述随行为更新,拦截日志刷新按钮修复
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-07-21 05:32:53 +08:00 |
|
耗子
|
9b8141a5ea
|
fix: pgadmin性能优化
|
2026-07-21 02:11:57 +08:00 |
|
耗子
|
5263b1b730
|
feat(database): 数据库工具语言跟随面板并补充按钮图标
phpMyAdmin 代理登录透传浏览器语言并显式指定面板语言,
pgAdmin 登录固化面板语言映射进会话,跳转按钮展示应用图标
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-21 00:58:58 +08:00 |
|
耗子
|
41bf2531f1
|
feat(ssh): 文件互传支持目录传输并固定暗色主题
目录递归传输,遍历源树重建目录结构逐文件传输,进度按全树
累计字节汇报,传输前二次确认并建议大目录先压缩;互传界面
固定暗色与终端一致,修复传输按钮在暗色下不可见
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-21 00:58:57 +08:00 |
|
耗子
|
71e7c5ab5d
|
fix(website): 修复默认站点设置与回显失效
网站列表空类型会被当作精确匹配导致查询恒空,默认站点的
读取与设置改为显式全量查询,数据层空类型对齐为不过滤
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-21 00:58:57 +08:00 |
|
耗子
|
038ef2c44f
|
fix(tamper): 修复重启恢复延迟与统计日志时效
定时任务支持启动后立即触发,面板重启即恢复保护不留空窗;
查看拦截日志前先落库缓冲即拦即见;受保护目录改按监控口径
统计,带后缀规则不再恒为零
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-21 00:58:57 +08:00 |
|
耗子
|
aba65c4cdf
|
refactor(safe): 安全菜单扁平化并将防篡改并入防火墙页
安全菜单直达防火墙视图,防篡改作为扫描感知后的标签页呈现,
自身子页改为竖排标签;修复规则弹窗网站列表 422、eBPF 激活
弹窗按钮文案、拦截新建开关对齐与导入按钮换行
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-21 00:58:37 +08:00 |
|
耗子
|
5ef34ab1ba
|
refactor(app): 编译参数改为安装时输入
移除独立的编译参数按钮,应用安装弹窗内嵌可折叠的参数表单,
编译型环境安装改为带参数输入的弹窗,提交安装前自动保存
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-21 00:58:21 +08:00 |
|
github-actions[bot]
|
83750d15c5
|
New Crowdin translations by GitHub Action (#1719)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
|
2026-07-20 23:54:40 +08:00 |
|
h2zi
|
824f06970d
|
chore(l10n): update pot files
|
2026-07-20 15:42:53 +00: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 |
|
耗子
|
1f899d1e47
|
chore(deps): 升级 monaco-editor 至 0.56.0 适配 ESM 结构重组
0.56.0 重组了 ESM 模块并启用 exports 映射,语言包与 worker
的深路径导入改为 exports 子路径形式
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-20 23:30:22 +08:00 |
|
耗子
|
a2e46faab9
|
feat(task): 任务队列支持取消运行中与等待中的任务
任务执行接入 context 并放入独立进程组,取消时整组杀死;
新增可选 CancelShell 清理钩子,远程下载、压缩、备份任务
取消后自动清理残留文件,备份改用独享临时目录避免误伤并发备份;
防重改为按语言无关的任务标识 Key 匹配
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-20 23:16:49 +08:00 |
|
耗子
|
8fa5c6d881
|
feat(file): 文件分享下载支持面板间互传
生成免登录的临时下载链接,强制设置有效期并支持下载次数限制,
过期分享由定时任务每小时清理,链接可直接用于其他面板的远程下载。
Closes #1641
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-20 22:47:11 +08:00 |
|
github-actions[bot]
|
293da754ce
|
New Crowdin translations by GitHub Action (#1717)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
|
2026-07-20 22:14:17 +08:00 |
|
h2zi
|
0078625289
|
chore(l10n): update pot files
|
2026-07-20 14:00:57 +00:00 |
|
耗子
|
1bfe08e52e
|
feat(ui): 新增安全菜单归并防火墙与防篡改
侧边栏以安全父菜单取代防火墙原位置,防火墙与防篡改作为子菜单,
旧路径重定向兼容书签与持久化标签页,补充防篡改菜单标题翻译映射
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-20 21:58:25 +08:00 |
|
耗子
|
58da2ce5c3
|
Merge remote-tracking branch 'origin/renovate/non-major-dependencies'
|
2026-07-20 20:49:59 +08:00 |
|
h2zi
|
8672a8456b
|
chore(l10n): update pot files
|
2026-07-20 12:40:29 +00: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 |
|
renovate[bot]
|
1baa7c03a8
|
chore(deps): Update actions/setup-go action to v7 (#1715)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-07-20 20:16:26 +08:00 |
|
耗子
|
25331a7a24
|
fix(ci): 修复 errcheck 告警与防篡改设置校验规则
统一 defer 关闭与错误路径清理为显式忽略返回值,
tamper 设置 Mode 校验改用项目 DSL 支持的 required 规则
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-20 19:57:56 +08:00 |
|
耗子
|
d5a635c6dd
|
feat(database): 数据库页按已添加服务器类型动态显示标签页
用户反馈类型标签页太多显示乱,改为仅展示已添加服务器的类型,
默认定位到第一个可用类型;服务器增删改后经事件总线联动刷新,
修复事件总线整型解绑误伤其他组件监听的问题
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-20 10:14:03 +08:00 |
|
耗子
|
8fc21039c0
|
feat(pgadmin): 全量同步 PG 服务器并保留增强 Cookie 保护
一键登录改为一次性合并面板全部 PostgreSQL 服务器(dump 查缺仅追加,
不影响手动添加的条目);代理登录透传浏览器 IP/UA,通过 Flask-Paranoid
的 sha256(IP|UA) 会话绑定校验,无需关闭 ENHANCED_COOKIE_PROTECTION;
适配 9.x React 登录页的 JSON 形态 CSRF token,Docker 实测全链路通过
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-20 10:14:03 +08:00 |
|
耗子
|
b5b5388b5c
|
feat(app): 上架 pgAdmin 应用
pip+venv 本地部署,管理页支持改端口与重置密码,数据库 PostgreSQL 页
一键同步服务器并免登录进入 pgAdmin(凭据经 pgpass 免密)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-20 09:50:20 +08:00 |
|
耗子
|
874abf005d
|
feat(app): 应用安装支持自定义编译参数
编译型应用与 PHP/Python 环境支持持久化的前置脚本与 configure 参数,
保存在 storage/customize 随安装更新自动生效,并接入面板备份与修复
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-20 06:27:39 +08:00 |
|
耗子
|
3c7385114f
|
fix(file): 行内更多按钮补齐防篡改保护操作,与右键菜单一致
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-20 06:01:46 +08:00 |
|
耗子
|
2492534c28
|
feat(file): 文件管理集成防篡改状态展示与右键保护操作
- 列表/图标视图受保护条目显示盾牌图标,与裸 immutable 锁区分
- 右键菜单添加/移除保护(防篡改运行时显示,弹窗二次确认)
- 新增 /tamper/check_paths 批量状态查询与 /tamper/protect 单路径切换
- 保护切换经规则/排除联动:命中排除则去除排除项,目录可直建整树规则,
路径为规则根则删规则,规则内子路径则加入排除
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-20 05:53:22 +08:00 |
|
耗子
|
5db94ee61c
|
fix(tamper): 修复登记表脏映射与新建监控竞态并统一英文日志
- Unlock/Relock 同步维护事件回填表与统计,移动/替换文件后不再残留脏路径
- 新建目录补扫竞态窗口内已写入的文件,堵住 mkdir 后立即落文件的漏检
- chattr 整树模式下新建拦截需临时解除父目录 +a 才能删除
- inotify 监控失败聚合告警,便于发现 max_user_watches 耗尽
- 扫描器单网卡挂载失败仅跳过,聚合缓冲加上限防伪造源洪水耗尽内存
- ringbuf 解析改主机字节序,日志与错误串统一英文
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-20 05:53:14 +08:00 |
|
耗子
|
f151e29659
|
fix(tamper): 修复 eBPF 防护绕过并优化两处 BPF map 资源占用
- inode_rename 增查 new_dentry,堵住改名覆盖受保护文件的绕过
- 新增 inode_setattr 拦截点,堵住 truncate/chmod/chown 绕过
- 两处 hash map 加 BPF_F_NO_PREALLOC,消除数十 MB 内核内存预占
- 保护集合改批量更新,大目录树免逐键 syscall
- 扫描检测器 Supported() 在 lo 试挂 TCX,低版本内核不再误报支持
- lsm= 注入正则加词边界,防误改同后缀参数
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-20 05:28:26 +08:00 |
|