Changelog
- mo uninstall: Removing a running app no longer aborts; Mole sends a Quit Apple Event first, deletes bundle and leftovers regardless, and lists any process still alive for manual quit.
- mo uninstall: Per-file deselect at the confirm prompt, skip individual files before they go to Trash.
- mo analyze: Overview cleaned up to two icons, 📁 for top-level directories and 👀 for hidden-space insights;
App Libraryrenamed toUser Libraryto mirrorSystem Library. - Safer developer toolchain uninstall: Removing Xcode, Android Studio, DevEco Studio, or Docker no longer auto-collects project source, signing keys, OAuth tokens, AVD images, archives, or SDK installs. Bundle id wildcards require reverse-DNS validation so malformed or unrelated ids cannot over-match. ByHost plist deletion stays in user mode and no longer escalates to sudo.
- mo optimize: Sudo-requiring tasks check admin availability before invoking sudo; if denied, they skip cleanly with a message instead of half-running.
- mo clean: New Final Cut Pro generated cache cleanup, only sweeping safe regenerable media in Movies libraries and skipping while Final Cut Pro is open. Cleanup denylist expanded for Native Instruments, Avid, FabFilter, iLok, iZotope, Cotypist, CrowdStrike, Kolide, and Quicken plugin and license paths.
- Performance: Faster scans across status, analyze, clean, and uninstall; analyze overview reuses top-level cached sizes, uninstall scanning drops redundant work.
- Release integrity:
install.shverifiesSHA256SUMSfor every binary before installing, tampered or partial downloads are rejected before any file lands on disk. - Bug fixes: Sudo trash routing during uninstall stays in the invoking user's Trash; login items resolve by path and display name; Codex Desktop runtime caches preserved during clean; VS Code Application Support folder included in uninstall; empty container stubs removed; duplicate
optimisealias hidden.
更新日志
- mo uninstall: 卸载运行中的 app 不再中断,Mole 先发 Quit Apple Event 优雅退出,进程没退也照样删 bundle 和残留,summary 会点名提示你手动退一下。
- mo uninstall: 确认页支持逐项 deselect,删除前可对单个文件取消勾选。
- mo analyze: 概览界面收敛到两种图标,📁 用于顶级目录,👀 用于隐藏空间 insight;
App Library改名User Library,与System Library形成对仗。 - 开发工具链卸载更稳: 卸载 Xcode、Android Studio、DevEco Studio、Docker 时,不再自动收集项目源码、签名密钥、OAuth token、AVD、Archives、SDK 等。bundle id 通配查询通过反 DNS 校验,畸形或无关的 id 无法误命中。ByHost plist 删除走 user mode,不再升级 sudo。
- mo optimize: 需要 sudo 的任务调用前先校验管理员可用性,被拒时直接 skip 并提示,不再"做了一半"。
- mo clean: 新增 Final Cut Pro 生成缓存清理,只扫 Movies library 里安全可再生的媒体,Final Cut Pro 运行中时跳过;同时扩展清理 denylist,覆盖 Native Instruments、Avid、FabFilter、iLok、iZotope、Cotypist、CrowdStrike、Kolide、Quicken 等厂商的插件与授权路径。
- 性能优化: status、analyze、clean、uninstall 扫描全面提速;analyze 概览复用顶级目录缓存尺寸,uninstall 扫描去掉冗余工作。
- 发布完整性:
install.sh安装前校验每个二进制的SHA256SUMS,任何被篡改或下载不完整的文件都会在落盘前被拒绝。 - Bug 修复: 卸载时 sudo 删除路径正确路由到调用用户 Trash 而不是 root;login items 按路径与显示名解析;clean 时保留 Codex Desktop 运行时 cache;卸载包含 VS Code Application Support 目录;清理已验证为空的 container stub;隐藏重复的
optimise别名。
Thanks 💖
Recent GitHub Sponsors keeping Mole moving: @cauyxy · @e2600 · @ObliviousOdin · @jinghaihan · @mazzzystar · @CY-Christin · @RoversX · @christ-off · @jamesholcomb · @carolyn-sun · @dangnguyen1004 · @VomPom · @ljt990218 · @cloudk1d · @numman-ali · @miantiao-me · @bevanjkay · @DocSpring · @Damecek.
Issue reporters and PR contributors this cycle: @yuzeguitarist · @AmanSikarwar · @bashu · @julienducos · @sebastianbreguel · @IMZihad21 · @Christian-SC26 · @MrJeffry.