TimOxO
发布于
v0.3.0-beta.1
预发布>=2.22.1
此版本为测试版本,改动较大,使用时请务必备份数据库和附件!
✨ 新功能
- 批量处理 - 支持对已上传附件进行批量压缩、水印、格式转换,显示处理进度和统计结果
- 死链检测 - 扫描文章、页面、评论、瞬间、图库、文档等内容中引用的失效附件链接
- 死链白名单 - 支持将特定 URL 加入白名单忽略检测(支持精确匹配和前缀匹配两种模式)
- 重复文件删除 - 支持删除重复文件并释放存储空间
- 未引用文件删除 - 支持删除未被任何内容引用的附件
- 清理日志 - 记录所有删除操作详情(删除原因、文件大小、操作者、删除时间等)
- 删除预览 - 删除前可预览将释放的空间和有引用的文件数量
- 处理日志来源筛选 - 处理日志新增按来源筛选功能
🐛 问题修复
- 修复并发 Semaphore 竞态问题 - 确保 acquire 和 release 使用同一个 Semaphore 对象,避免配置变更时的并发问题
- 修复大文件绕过限制 - 增加读取数据后的二次文件大小校验,防止 Content-Length 为 -1 时绕过限制
- 已删除文件过滤 - 修复删除附件后立即扫描仍显示已删除文件的问题
- 服务重启检测 - 修复服务重启后扫描任务状态卡在"进行中"无法重新触发的问题
🔧 改进优化
- 内容扫描器重构 - 使用 Jsoup 解析 HTML,提升 URL 提取准确性,支持更多标签(iframe、embed、object、背景图片等)
- 重复文件列表增强 - 重复文件列表新增显示存储策略名称(policyName)
- 重复文件详情增强 - 预览显示存储策略和分组的友好名称
- 水印图片缓存 - 图片水印缓存 30 分钟,批量处理不再重复下载
- MD5 超时配置 - 新增单文件 MD5 计算超时配置(30-300 秒)
- 清理日志自动清理 - 定时任务同时清理过期的 ProcessingLog 和 CleanupLog
- WebFilter 插件冲突修复 - 处理成功时直接上传返回,避免被下游插件覆盖
⚠️ 配置变更
scanTimeoutMinutes配置已移除,新增md5TimeoutSeconds配置,升级后需重新设置
⚠️ 注意事项
[重要] 此版本为测试版本,改动较大,升级前请务必备份数据库和附件!
[重要] 批量处理模式下,如选择"不保留原图",原文件将被删除,可能导致原有引用链接失效!请谨慎操作或选择"保留原图"模式。
[重要] 删除操作不可逆!删除重复文件或未引用文件前,请务必确认并做好备份。
Generated from v0.3.0-beta.1
资源下载
-
plugin-storage-toolkit-0.3.0-beta.1.jar