返回目录
开源项目其他开源工具类新手

GitHub - momenbasel/PureMac: Free, open-source macOS cleaner. CleanMyMac alternative with zero telemetry. Native SwiftUI, scheduled auto-cle

English | العربية | Español | 日本語 | Português (Brasil) | 简体中文 | 繁體中文 PureMac Reclaim your Mac. Free, open-source uninstaller and cleaner for macOS. No subscription, no telemetry, no upsell. Install - Why this exists - How it compares - Our promise - What it

0 次阅读2026/09/10 发布
GitHub - momenbasel/PureMac: Free, open-source macOS cleaner. CleanMyMac alternative with zero telemetry. Native SwiftUI, scheduled auto-cle 来源图片

社区作者 · zZz

它解决什么问题

English | العربية | Español | 日本語 | Português (Brasil) | 简体中文 | 繁體中文

PureMac

Reclaim your Mac.

Free, open-source uninstaller and cleaner for macOS. No subscription, no telemetry, no upsell.

Install - Why this exists - How it compares - Our promise - What it does - Permissions - Contributing

Want more open source? Try Pesty - a free, native clipboard manager for macOS.

Install

命令
brew install --cask puremac

Or download the signed, notarized .dmg from Releases and drag PureMac into /Applications . No Gatekeeper warnings, no quarantine workaround.

Build from source

命令
brew install xcodegen
命令
git clone https://github.com/momenbasel/PureMac.git
命令
cd PureMac

xcodegen generate xcodebuild -project PureMac.xcodeproj -scheme PureMac -configuration Release \ -derivedDataPath build build open build/Build/Products/Release/PureMac.app

Command line (beta)

Prefer the terminal? puremac is an independent CLI companion with its own cleanup commands and safety checks. Some commands permanently remove selected files, so start with --dry-run , review every path, and then confirm deliberately.

命令
brew install momenbasel/tap/puremac-cli

puremac clean dev --dry-run

See cli/README.md for the full command reference.

How it compares

PureMac CleanMyMac Pearcleaner Mole OnyX

Price Free $40+/yr Free CLI free / GUI paid Free

Open source Yes (MIT) No Source-available¹ CLI only No

Native Mac GUI Yes Yes Yes Terminal-first Yes

No telemetry Yes No Yes Yes Yes

No subscription Yes No Yes — Yes

Signed + notarized Yes Yes Yes — Yes

App uninstaller + orphans Yes Yes Yes Partial No

App-uninstall Trash support Yes Partial Yes Partial No

Honest about purgeable space Yes No n/a n/a n/a

¹ Pearcleaner is Apache 2.0 + Commons Clause - source-available but not OSI-approved (you may not sell it). PureMac is true MIT. Comparison reflects publicly documented features as of 2026; corrections welcome via PR.

Our promise

A Mac cleaner asks for the deepest permission macOS grants - Full Disk Access - and then deletes your files. That demands a level of trust the category has spent twenty years burning. Here's the contract PureMac holds itself to, and you can verify every line of it in the source:

  • Deletion behavior is explicit. App-uninstaller flows attempt to move selected app files to the Trash. Dashboard/category cleanup, scheduled auto-clean, orphan removal, Trash emptying, Docker/Xcode runtime cleanup, administrator-authorized cleanup, and CLI cleanup can permanently delete data. Review selections carefully and use CLI dry runs.
  • No telemetry, ever. No analytics, no crash reporting, no "anonymous usage stats," no network calls to us. The app doesn't know you exist.
  • No fake urgency. No dramatized "47 GB of junk detected!" badge, no red alarm counters, no "your Mac is at risk." We show you neutral facts and let you decide.
  • No overpromising. We don't claim to "reclaim purgeable space," "boost RAM," or "speed up your Mac" - things no app can reliably do. See the purgeable-space note below.
  • Reviewable selection. Dashboard/category cleanup and single-file app removal prompt before acting. Bulk app-file and orphan removal act on the explicit selection without another prompt. Scheduled auto-clean is unattended once enabled, and tool-backed rows such as Docker cleanup may not have a revealable path.
  • Auditable. It's MIT. The exact code that decides what gets removed is in PureMac/Services and PureMac/Logic/Scanning . Read it. Fork it. Ship your own.

If PureMac ever adds telemetry, a paywall on core features, or a fear-based scan, it will have become the thing it was built to replace. Hold us to this.

Why this exists

Apple sells base-model Macs with 256 GB SSDs that you can't upgrade. The Mac mini, the Air, every entry-level MacBook Pro - the drive is soldered down. The next storage tier costs more than a midrange Windows laptop.

Once you've paid it, every gigabyte you've already bought matters.

Most Mac cleaners are subscription apps that hide their disk usage behind a paywall, ship telemetry by default, and trade on FUD ("47 GB of junk detected!"). PureMac is the opposite:

  • One-time install. No subscription, no trial, no account.
  • No telemetry. It never phones home. It doesn't even know you exist.
  • Open source under MIT. Read the code, fork it, audit it.
  • Honest scans. "Junk" means actually-junk: cache directories the OS itself would purge, orphaned files left by apps you've already deleted, broken installer receipts, that 4 GB Xcode DerivedData blob from 2023.
  • Real uninstalls. Drag an app, see every preference plist, cache folder, container, launch agent and log file it dropped across your library, remove all of it at once.

What it does

App Uninstaller

Discovers everything in /Applications and ~/Applications , then uses a 10-level matching engine (bundle ID, team identifier, entitlements, Spotlight metadata, container discovery, company-name heuristics, partial path matches) to find every file the app dropped on your disk.

Three sensitivity tiers - Strict, Enhanced, Deep - let you choose how aggressive that match is. Apple system apps are excluded from the uninstall list automatically.

You can also right-click any app in Finder and choose Services → Uninstall with PureMac to jump straight into its related-files scan.

Orphan Finder

Walks ~/Library and surfaces files left behind by apps that no longer exist on disk. The matcher compares against bundle identifiers and normalized names of every installed app, so a leftover ~/Library/Containers/com.foo.bar from an app you deleted in 2022 shows up clearly.

System Cleaner

Smart Scan runs every category in parallel. Each category is its own deliberate scanner:

  • System Junk - system caches, logs, temp files
  • User Cache - dynamically discovered, no hardcoded app list
  • AI Apps - Ollama and LM Studio logs, caches, opt-in history cleanup
  • Mail Files - downloaded mail attachments
  • Trash Bins - empties all bins, including external volumes
  • Large & Old Files - >100 MB or older than 1 year (never auto-selected)
  • Xcode Junk - DerivedData, Archives, simulator caches, and downloaded simulator runtimes (deleted via simctl runtime delete ; never auto-selected)
可复制命令
Brew Cache - respects custom HOMEBREW_CACHE
  • Node Cache - npm, yarn classic, pnpm content-addressable store
可复制命令
Docker Cache - images, containers, build cache

On "purgeable space": PureMac shows your APFS purgeable space in the storage breakdown for transparency, but it deliberately does not list it as junk to delete.

Purgeable space is reserved and reclaimed by macOS itself - no third-party app can reliably free it, and even the Finder's purgeable figure is known to be inaccurate. Cleaners that claim to "reclaim purgeable space" are overpromising.

We'd rather be honest than impressive.

Scheduled Cleaning

Optional. Configurable interval (hourly to monthly), with auto-clean threshold so background runs only fire when there's something meaningful to remove.

Permissions

PureMac needs Full Disk Access to read the locations macOS hides from every app by default - Mail downloads, Safari data, the TCC database, protected app containers.

Without it, the cleanup categories miss roughly 70% of what they could find and app uninstalls leave behind everything in ~/Library/Containers .

The first-launch onboarding walks you through granting it with an animated preview of the exact toggle you need to flip. If you skip it, the dashboard surfaces a single-click "Set up" pill.

If a cleanup fails because of a permission issue, PureMac opens System Settings, reveals its bundle in Finder so you can drag it into the FDA list, polls the permission state every second, and auto-retries the failed batch the moment you grant access.

You never have to re-select anything.

What PureMac does not do:

  • It does not collect telemetry, crash reports, or usage analytics.
  • It does not require a network connection to operate.
  • It does not upload or transmit scanned paths or deleted data.

Troubleshooting

Launchpad / Dock shows a stale or dull PureMac icon

macOS aggressively caches app icons in LaunchServices. After a Homebrew reinstall or upgrade the Dock and Launchpad can keep showing the old cached icon. PureMac's cask runs lsregister -f on install to refresh it automatically.

If a stale icon persists, re-register only PureMac and restart the Dock (adjust the app path if you installed it elsewhere):

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister \ -f " /Applications/PureMac.app " killall Dock

Give it a minute to re-seed, then open PureMac once. If it still sticks, a restart (or Safe Mode boot) forces a full rebuild.

Screenshots

Smart Care Live scan

Scan breakdown App Uninstaller

System Junk Xcode Junk

User Cache Onboarding

Architecture

PureMac/ Logic/Scanning/ - Heuristic scan engine, locations database, conditions Logic/Utilities/ - Structured logging Models/ - Data models, typed errors Services/ - Scan engine, cleaning engine, permission coordinator, scheduler ViewModels/ - Centralized app state Views/ - Native SwiftUI views Apps/ - App uninstaller views Components/ - Shared components (FDA demo, permission sheet, theme) Orphans/ - Orphan finder Settings/ - Native Form-based settings

Key components:

  • AppPathFinder - 10-level heuristic matching engine for discovering app-related files
  • Locations - 120+ macOS filesystem search paths
  • Conditions - 25 per-app matching rules for edge cases (Xcode, Chrome, VS Code, etc.)
  • PermissionCoordinator - Single source of truth for FDA prompts, polling, and post-grant retries
  • FullDiskAccessManager - TCC probe + registration; broad probe paths (Mail, Safari, Messages, AddressBook, Calendars) so macOS catalogs the bundle reliably
  • CleaningEngine - Symlink-resistant deletion with an allow-list, NSAppleScript-based admin escalation for root-owned items, NUL-separated path staging for xargs

Security

  • Core-cleaner symlink-risk reduction: CleaningEngine resolves paths before validation and again near user-level deletion. Because final removal remains path-based, this narrows but cannot eliminate every TOCTOU race; other removal workflows have separate checks.
  • Core-cleaner allow-list: CleaningEngine refuses a user-level path outside its explicit safe roots. App-uninstaller and orphan flows use their own policies.
  • Admin escalation is gated by its own explicit allow-list; root-owned items outside those permitted roots are refused.
  • System app protection: Apple's bundles cannot be uninstalled, regardless of selection.
  • Confirmation varies by workflow: dashboard/category cleanup and single-file app removal prompt; bulk app-file and orphan removal act on the explicit selection without another prompt; scheduled auto-clean is unattended after enablement.

If you find a vulnerability, please open a private security advisory rather than a public issue.

Contributing

Pull requests welcome. See CONTRIBUTING.md .

Especially welcome:

  • Per-category size and date filter presets
  • Wider XCTest coverage for AppState and the scan engine
  • Translations beyond the current set (en, ar, es, ja, pl, pt-BR, ru, uk, zh-Hans, zh-Hant)
  • App icon design

Acknowledgments

  • @nguyenhuy158 - Search and filter feature ( #18 , #29 )
  • @edufalcao - Cleaning safety guards and confirmation dialogs ( #30 )
  • @zeck00 - UI overhaul ( #31 ), app uninstaller with system app protection ( #32 ), onboarding experience ( #33 )
  • @0x-man - Symlink security vulnerability report ( #25 )
  • @ansidev - Checkbox interaction bug report ( #34 )
  • @fengcheng01 - App uninstaller feature request ( #28 )
  • @scholzfuni - Modularization proposal ( #23 )
  • @Zonharo - In-app auto-update request ( #94 )

Star History

If PureMac saved you some disk space, a star helps other people find it.

More open source

  • Pesty - a free, open-source clipboard manager for macOS. Color-coded history, pinboards, instant search, keyboard-fast paste. Signed, notarized, brew install --cask momenbasel/pesty/pesty .

License

MIT. See LICENSE . Use it, fork it, ship it under your own name if you want - the only thing the license asks is that the notice stays.

— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。

安装 / 开始使用

Free, open-source uninstaller and cleaner for macOS. No subscription, no telemetry, no upsell. Install - Why this exists - How it compares - Our promise - What it does - Permissions - Contributing Want more open source?

Try Pesty - a free, native clipboard manager for macOS. Install

命令
brew install --cask puremac

Or download the signed, notarized .dmg from Releases and drag PureMac into /Applications . No Gatekeeper warnings, no quarantine workaround. Build from source

命令
brew install xcodegen
命令
git clone https://github.com/momenbasel/PureMac.git
命令
cd PureMac

xcodegen generate xcodebuild -project PureMac.xcodeproj -scheme PureMac -configuration Release \ -derivedDataPath build build open build/Build/Products/Release/PureMac.app Command line (beta) Prefer the terminal?

puremac is an independent CLI companion with its own cleanup commands and safety checks. Some commands permanently remove selected files, so start with --dry-run , review every path, and then confirm deliberately.

命令
brew install momenbasel/tap/puremac-cli

puremac clean dev --dry-run See cli/README.md for the full command reference.

How it compares PureMac CleanMyMac Pearcleaner Mole OnyX Price Free $40+/yr Free CLI free / GUI paid Free Open source Yes (MIT) No Source-available¹ CLI only No Native Mac GUI Yes Yes Yes Terminal-first Yes No telemetry Yes No Yes Yes Yes No subscription Yes No Yes — Yes Signed + notarized Yes Yes Yes — Yes App uninstaller + orphans Yes Yes Yes Partial No App-uninstall Trash support Yes Partial Yes Partial No Honest about purgeable space Yes No n/a n/a n/a ¹ Pearcleaner is Apache 2.

0 + Commons Clause - source-available but not OSI-approved (you may not sell it). PureMac is true MIT. Comparison reflects publicly documented features as of 2026; corrections welcome via PR.

Our promise A Mac cleaner asks for the deepest permission macOS grants - Full Disk Access - and then deletes your files. That demands a level of trust the category has spent twenty years burning.

Here's the contract PureMac holds itself to, and you can verify every line of it in the source:

来源教程配图

PureMac Smart Care - one scan covering 12 cleanup checks, with free-space meter
配图 1 · PureMac Smart Care - one scan covering 12 cleanup checks, with free-space meter查看原图
PureMac scanning - live progress with categories and sizes as they are found
配图 2 · PureMac scanning - live progress with categories and sizes as they are found查看原图
puremac scanning and listing exactly what will be deleted before removing anything
配图 3 · puremac scanning and listing exactly what will be deleted before removing anything查看原图
Scan breakdown
配图 4 · Scan breakdown查看原图
App Uninstaller
配图 5 · App Uninstaller查看原图
System Junk
配图 6 · System Junk查看原图
Xcode Junk
配图 7 · Xcode Junk查看原图
User Cache
配图 8 · User Cache查看原图

适用场景

学习研究
开源项目实践