Skip to content

CleanYourWechatTool v1.0.1 · 图形界面首发

Choose a tag to compare

@LuckTerence LuckTerence released this 08 Sep 06:48
· 52 commits to main since this release

Release Notes - CleanYourWechatTool v1.0.1

发布日期: 2026-09-08
类型: 图形界面首发 + 安全修复


🖥 图形界面首发 (GUI)

新增 CleanYourWechatTool.app(macOS,基于 ttkbootstrap,引擎层零改动复用)。
用户全程零终端:所有清理条件均为下拉与勾选。

  • 智能瘦身:时间范围 / 文件类型 / 大小阈值 / 处理方式(废纸篓或归档)全部选择题化;
    流程强制为 预览文件清单 → 确认 → 执行,清单按大小降序列出每个文件的大小、
    修改日期与路径,杜绝盲确认;
  • 重复文件去重:阈值下拉 → 扫描重复组 → APFS 硬链接去重(聊天窗口文件照常打开);
  • 防删白名单:交互式添加保护规则——填名字和关键词即可,微信号/群ID 选填;
  • 执行前若检测到微信正在运行会提醒先退出。

下载(按机型选择):

机型 文件
Apple Silicon (M1/M2/M3/M4) CleanYourWechatTool-arm64.dmg
Intel CleanYourWechatTool-x86_64.dmg

首次打开提示"已损坏/无法验证开发者":本应用未经 Apple 公证,任选其一:
右键应用图标 → 打开;或终端执行 xattr -cr /Applications/CleanYourWechatTool.app。

提示"未找到微信数据":打开 系统设置 → 隐私与安全性 → 完全磁盘访问权限,
将本应用加入列表后重启。


🔒 安全修复

  1. WebUI CSRF 防护:POST 端点此前不校验来源,本机任意网页可静默触发清理类
    写操作;现强制校验 Host/Origin 为本机回环地址。
  2. 存储型 XSS 修复:白名单名称/微信ID/关键词与历史备注等用户可控字段在
    WebUI 渲染前全部 HTML 转义;移除按钮改用事件委托,消除属性注入。
  3. 配置原子写:状态统计与白名单配置改为临时文件 + fsync + 原子替换;
    损坏时自动备份为 *.corrupted-<时间戳> 并提示,不再静默归零——
    白名单是防删保护的唯一数据源,此前损坏会静默失效导致误删风险。
  4. 白名单结构校验:解析结果缺少已知结构键时按损坏处理并备份,
    不再被 or {} 静默吞掉。

🛠 引擎与体验

  • 去重联动白名单:重复文件查重与去重全程跳过白名单命中文件
    (此前去重会触碰受保护文件,违背防删承诺);
  • 归档同名冲突:归档目录已存在同名文件时自动加 _2 后缀并记审计日志,
    不再静默覆盖旧归档;
  • 确认前展示文件清单:CLI 与 GUI 一致,清理/演练前列出全部命中文件
    (大小降序),用户逐个可见"将动哪些文件";
  • 微信运行检测:清理/去重前检测微信进程并提醒。

质量与测试

  • 61 项单元与端到端测试全绿(新增 7 项:CSRF/XSS 相关、去重白名单联动、
    归档冲突、原子写一致性/损坏备份);
  • CI: Python 3.8–3.12 × macOS/Ubuntu 矩阵 + flake8 + mypy + bandit + pip-audit 全绿;
  • GUI .app 已在本机实测启动;.dmg 由 CI 双架构构建。