FIT2CLOUD
存储工具箱 的图标

存储工具箱

1,723
965

Halo 存储增强插件 - 支持图片处理、格式转换、水印添加等功能

0.3.0-beta.1
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
0.2.2
TimOxO 发布于

v0.2.2

最新
>=2.22.1

新功能

  • 添加 WebP/AVIF 压缩等级配置
  • 添加 roleTemplate 权限管理(可在 用户 - 角色管理 中设置访问权限)

改进

  • 水印配置添加必填校验
  • 使用 Dialog 组件替换原生 confirm 弹窗
  • 移除后端 @PreAuthorize 注解
  • 移除附件跳转扩展点

Generated from v0.2.2

资源下载

  • plugin-storage-toolkit-0.2.2.jar
0.2.2-beta.1
TimOxO 发布于

v0.2.2-beta.1

预发布
>=2.22.1

新增功能

  • 新增 WebP/AVIF 压缩等级配置,可在设置中调整(值越大压缩越慢但文件越小)

注意事项

这是预览版本,如遇问题请反馈 Issues


Generated from v0.2.2-beta.1

资源下载

  • plugin-storage-toolkit-0.2.2-beta.1.jar
0.2.1
TimOxO 发布于
>=2.22.1

🎉 新功能

AVIF 格式支持

  • 新增 AVIF 图片格式转换支持
  • 支持将图片转换为 AVIF 格式(压缩率更高,兼容性稍差)

存储统计

  • 按文件类型统计(图片、视频、文档等)
  • 按存储策略统计
  • 按分组统计
  • 可视化图表展示

重复文件检测

  • 基于 MD5 哈希值检测重复文件
  • 显示可节省空间
  • 支持批量删除重复文件
  • 智能推荐保留文件

附件引用扫描

  • 扫描文章、页面内容中的附件引用
  • 扫描封面图、评论、回复
  • 扫描系统设置、插件设置、主题设置
  • 可选扫描瞬间、图库、文档(需在设置中开启)
  • 识别未被引用的附件
  • 支持排除指定分组和存储策略

仪表盘概览

  • 整合存储统计、处理日志、分析数据
  • 快速查看关键指标

配置增强

  • 图片处理并发数配置(1-10)
  • 重复检测并发数配置(1-10)
  • 扫描超时时间配置

🔧 改进

  • 水印字体大小支持自适应模式(按图片尺寸百分比计算)
  • 目标存储策略支持多选
  • 前端重构为多 Tab 面板布局
  • 优化部分日志级别,减少控制台输出

⚠️ 注意事项

  • 需要 Halo 2.22.1 或更高版本
  • 插件更新后需要重启 Halo
  • AVIF 格式需要较新的浏览器支持(Chrome 85+、Firefox 93+、Safari 16+)
  • 瞬间引用跳转需要主题支持瞬间详情页,否则会 404
  • 第三方评论插件的评论内容无法扫描

资源下载

  • plugin-storage-toolkit-0.2.1.jar
0.2.0
TimOxO 发布于

v0.2.0

预发布
>=2.22.1

🎉 新功能

存储统计

  • 按文件类型统计(图片、视频、文档等)
  • 按存储策略统计
  • 按分组统计
  • 可视化图表展示

重复文件检测

  • 基于 MD5 哈希值检测重复文件
  • 显示可节省空间
  • 支持批量删除重复文件
  • 智能推荐保留文件

附件引用扫描

  • 扫描文章、页面内容中的附件引用
  • 扫描封面图、评论、回复
  • 扫描系统设置、插件设置、主题设置
  • 可选扫描瞬间、图库、文档(需在设置中开启)
  • 识别未被引用的附件
  • 支持排除指定分组和存储策略

仪表盘概览

  • 整合存储统计、处理日志、分析数据
  • 快速查看关键指标

配置增强

  • 图片处理并发数配置(1-10)
  • 重复检测并发数配置(1-10)
  • 扫描超时时间配置

🔧 改进

  • 水印字体大小支持自适应模式(按图片尺寸百分比计算)
  • 目标存储策略支持多选
  • 前端重构为多 Tab 面板布局

⚠️ 注意事项

  • 需要 Halo 2.22.1 或更高版本
  • 插件更新后需要重启 Halo
  • 瞬间引用跳转需要主题支持瞬间详情页,否则会 404
  • 第三方评论插件的评论内容无法扫描

Generated from v0.2.0

资源下载

  • plugin-storage-toolkit-0.2.0.jar
0.1.1
Ryan Wang 发布于
>=2.22.1

优化

  • 添加并发限制,最多同时处理 3 张图片,防止内存溢出
  • 提前检查格式/大小/配置,跳过处理时直接流式上传,不读入内存
  • 新增 isAllowedFormat() 方法,根据 MIME 类型判断是否需要处理
  • 简化 getSkipReason(),移除冗余检查
  • maxFileSize 默认值改为 10MB

改进

  • 非允许格式的文件直接流式上传
  • 超过 maxFileSize 的大文件通过 Content-Length 提前拦截
  • 未启用任何处理功能时直接放行

Generate from v0.1.1

资源下载

  • plugin-storage-toolkit-0.1.1.jar