Changelog
- mo clean - Smarter & Faster: Auto-empties Trash via Finder with fallback for locked files, batch deletions now use
find -deletefor dramatic speed gains, adds Yandex Browser and Apple Podcasts zombie file cleanup, fixes spinner text artifacts. - mo update --force: Reinstall the latest version even when already up-to-date, automatically clears quarantine attributes so binaries launch without security prompts.
- mo uninstall - Better Leftover Detection: Catches more orphaned files through naming variant matching like lowercase-hyphen and no-space patterns, validates bundle IDs to prevent injection attacks, provides actionable error messages.
- mo check - Third-Party Firewall Aware: Recognizes Little Snitch, LuLu, Radio Silence and others before falling back to the built-in firewall check, fixes disk space parsing on non-English systems.
- mo purge - Deeper Scanning: Increased max depth from 4 to 6 to catch deeply nested build artifacts, gracefully falls back to find when fd is unavailable, handles cyclic symlinks without hanging.
- Under the Hood: New operation logging to
operations.logfor troubleshooting, dual-array app protection strategy cuts matching from O(N) to O(1), Go scanner uses pooled timers and channel timeouts to prevent blocking.
更新日志
- mo clean - 更智能更快速:通过 Finder 自动清空废纸篓,遇到锁定文件自动回退处理,批量删除改用
find -delete大幅提速,新增 Yandex 浏览器和 Apple Podcasts 残留文件清理,修复进度条残留问题。 - mo update --force:即使已是最新版也可强制重装,自动清除隔离属性让二进制文件无需安全确认即可启动。
- mo uninstall - 残留检测更彻底:通过小写连字符、无空格等命名变种匹配找出更多残留文件,验证 bundle ID 格式防止注入攻击,错误提示更具指导性。
- mo check - 识别第三方防火墙:优先检测 Little Snitch、LuLu、Radio Silence 等第三方防火墙,修复非英文系统下磁盘空间解析问题。
- mo purge - 扫描更深入:最大扫描深度从 4 层增至 6 层以捕获深层构建产物,fd 不可用时自动回退到 find,正确处理循环符号链接避免卡死。
- 底层优化:新增
operations.log操作日志便于问题排查,应用保护采用双数组策略将匹配复杂度从 O(N) 降至 O(1),Go 扫描器使用定时器池和通道超时防止阻塞。
Thanks to @dwjoss, @alexandear-org, and all contributors for their help in this release!