Skip to content

1925293325/Sweep

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

Sweep

简单粗暴的 Typecho 数据库清理工具。

干嘛用的

你肯定遇到过这种情况:插件卸载了,数据库表还赖着不走。时间长了,一堆 xxx_logsyyy_cache 在那占地方,看着就烦。

这插件就是帮你一键清理这些残留表的,顺便猜猜它们原来是干嘛用的。

怎么猜的

以前的同类工具只看表名,比如表里有 link 就说是友链插件,但其实不准。Sweep 会同时检查表结构

  • 高置信度(绿色):表名像,而且字段里真有 urltarget 这些特征字段,八九不离十
  • 中置信度(黄色):表名匹配,但字段不太典型,可能猜对
  • 低置信度(灰色):只是名字有点像,旁边会标个"(猜)",你自己判断

目前能识别的包括:友链、百度推送、缓存、AI评论、相册、统计、用户扩展、支付、短链接、投稿、日志这些。如果你的插件不在列表里,会显示"未知插件"。

安装

  1. 下载,文件夹重命名为 Sweep
  2. 丢到 /usr/plugins/
  3. 后台启用,在"控制台"菜单里找到"数据库清理"

使用

进去就看到所有非 Typecho 核心表的列表。核心表(contents、comments、users 等)不会显示,误删风险为0。

每张表旁边有:

  • 查看内容:看表结构和前50条数据,确认一下是不是垃圾
  • 清空:保留表,删掉所有数据(适合想重新开始但保留表结构的场景)
  • 删除:整个表 drop 掉,不可恢复

操作前都有 confirm 弹窗,手滑了还能取消。

安全机制

  • 表名白名单过滤,核心表绝对动不了
  • SQL 注入防护(正则校验表名)
  • CSRF Token 验证
  • 操作后自动跳转提示结果

注意事项

删表不可逆! 虽然做了各种保护,但建议操作前还是顺手备份一下数据库,万一删错还能救。

特别是"清空"和"删除"按钮挨得近,别点错了。

兼容性

  • Typecho 1.1/1.2/1.3 测试通过
  • MySQL/MariaDB(其他数据库没试过)
  • PHP 7.4+

问题

有 bug 或识别不准的表,提 Issue 就行。最好附上表结构和表名,我加到指纹库里去。

MIT 协议,随便用,出问题别找我(记得先备份)。

About

一个简单粗暴的 Typecho 数据库清理工具,专门用来删那些卸载插件后残留的表。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors