A cross-platform (Windows / Linux / macOS) privacy cleaner that securely removes system traces, browser data, application caches, and registry leftovers with multi-pass overwriting to resist forensic recovery.
Developed by camzzz · MIT License
- 🖥️ Cross-platform: Windows, Linux, and now macOS (Safari, .app bundles,
~/Library,/Volumestrash, etc.) - 🧹 System traces: cache, logs, temp files, history, jump lists, recent documents
- 🌐 Browser cleanup: Firefox, Chrome, Edge, Brave, Safari (macOS), Chromium, Mullvad VPN
- 📁 Application data: VS Code, Telegram, Session, LibreOffice, CCleaner, WinRAR, 7-Zip, MySQL, EmEditor, Discord, Slack, Spotify, Steam, Microsoft Teams, Zoom
- 🧠 System artifacts: thumbnail cache, prefetch, USN journal, WER reports, telemetry
- 🧾 Windows Registry: 60+ MRU / UserAssist / TypedPaths / RunMRU / Shell Bags / Search History keys
- 🗑️ Trash / Recycle Bin emptied across all mounted drives (Windows letters, Linux
/media,/Volumeson macOS) - 🔐 Secure overwriting with three modes:
- Zero (1-pass) - fast, simple
- Random (1-pass) - random bytes
- DoD 5220.22-M (3-pass) - zeros → random → zeros
🅰️ Tor Browser auto-detection on Windows, Linux, and macOS - no more manualPathTor.txtediting (manual override still supported)- 🌍 Internationalization: English, French, Spanish (extend
locales/*.jsonto add more) - 📊 Statistics summary: counts of deleted/skipped/overwritten items, registry keys removed
- ⚙️ JSON-driven configuration: all cleaning targets defined in
Paths/*.json - 🛡️ Safety prompts: requires uppercase
YESconfirmation before destructive actions - 🧰 System cleanup helpers: DNS cache flush, Windows event logs, systemd journal vacuum
git clone https://github.com/camzzz/Cleaner.git
cd Cleanerpip install -r requirements.txtThe only dependency is
colorama. Everything else uses the Python standard library.
Windows:
- Double-click
start_win_admin.bat, or - Run
python cleaner.pyfrom an elevated prompt
Linux / macOS:
sudo ./start.sh
# or
sudo python3 cleaner.py- Launch the script with administrator / root privileges.
- Choose your language (
en,fr,es). - The script will auto-detect your Tor Browser installation. If you have a custom install location, put the full path in
PathTor.txt(the manual override). - Choose an overwrite method (
1= Zero,2= Random,3= DoD 5220.22-M). - Type
YES(uppercase) to confirm. - Press Enter to begin cleaning.
- Watch the per-file / per-folder progress, then read the summary at the end.
Tip: The original 6-step pipeline is: Trash → Firefox → Target files → Target folders → Registry (Windows only) → System commands (DNS, event logs, journal vacuum).
- ✅ macOS support with full
~/Librarycoverage and Safari cleaning - ✅ Tor Browser auto-detection on all three platforms - manual
PathTor.txtis now optional - ✅ 3 overwrite methods (zero, random, DoD 5220.22-M) instead of just zero
- ✅ Statistics summary at the end of each run
- ✅ i18n: English, French, Spanish
- ✅ Multi-software: added Chrome, Edge, Brave, Discord, Slack, Spotify, Steam, Microsoft Teams, Zoom, 7-Zip, Chromium, Mullvad VPN (Linux paths)
- ✅ Windows improvements: DNS cache flush, event log clearing via
wevtutil, thumbnail cache, GameOverlay, TextInput, SettingSync, AppCache, more registry keys - ✅ Linux improvements:
/media/<user>and/mnttrash discovery, dconf/kactivitymanagerd cleanup,.local/state,.thumbnails, expanded shell history files - ✅ Glob support in JSON paths (e.g.
Microsoft.WindowsTerminal_*) - ✅
<SID>placeholder in registry keys forHKEY_USERSenumeration - ✅ Safer error handling with short error messages
- ✅ Colorama is now optional (script works on ANSI terminals without it)
- ✅ Unified shell launcher
start.shfor Linux + macOS - ✅ Branding refreshed - all credits and metadata updated
- 🔒 Administrator / root privileges are required.
- 💥 Deletion is permanent and irreversible. Files are securely overwritten before removal.
- ⚙️ Incorrect configuration may result in unwanted data loss. Review
Paths/*.jsonbefore running. - 🧪 Advanced users only. You are responsible for any consequences.
| Software / Component | Windows | Linux | macOS |
|---|---|---|---|
| System traces (cache, logs, temp, history) | ✔ | ✔ | ✔ |
| Trash / Recycle Bin (all drives) | ✔ | ✔ | ✔ |
| Firefox Browser | ✔ | ✔ | ✔ |
| Google Chrome | ✔ | ✔ | ✔ |
| Microsoft Edge | ✔ | ✔ | ✔ |
| Brave Browser | ✔ | ✔ | ✔ |
| Chromium | ✖ | ✔ | ✖ |
| Safari | ✖ | ✖ | ✔ |
| Tor Browser (auto-detected) | ✔ | ✔ | ✔ |
| Visual Studio Code | ✔ | ✔ | ✔ |
| Telegram | ✔ | ✔ | ✔ |
| Session | ✔ | ✔ | ✔ |
| Mullvad VPN | ✔ | ✔ | ✔ |
| Discord | ✔ | ✔ | ✔ |
| Slack | ✔ | ✔ | ✔ |
| Spotify | ✔ | ✔ | ✔ |
| Steam | ✔ | ✔ | ✔ |
| Microsoft Teams | ✔ | ✖ | ✖ |
| Zoom | ✔ | ✖ | ✔ |
| CCleaner | ✔ | ✖ | ✖ |
| WinRAR | ✔ (registry) | ✖ | ✖ |
| 7-Zip | ✔ (registry) | ✖ | ✖ |
| Modern CSV | ✔ | ✖ | ✖ |
| EmEditor | ✔ | ✖ | ✖ |
| LibreOffice | ✔ | ✔ | ✔ |
| MySQL Workbench | ✔ | ✖ | ✖ |
| Sqlmap | ✖ | ✔ | ✔ |
| John the Ripper | ✖ | ✔ | ✔ |
| Windows DNS cache flush | ✔ | ✖ | ✖ |
| Linux/macOS DNS cache flush | ✖ | ✔ | ✔ |
| Windows Event Logs (wevtutil) | ✔ | ✖ | ✖ |
| systemd journal vacuum | ✖ | ✔ | ✖ |
| Windows Registry cleanup | ✔ | ✖ | ✖ |
Cleaner/
├── cleaner.py # Main script
├── requirements.txt # Python dependencies (just colorama)
├── start_win_admin.bat # Windows admin launcher
├── start.sh # Linux + macOS launcher (sudo)
├── PathTor.txt # Optional manual Tor Browser path override
├── README.md
├── LICENSE
├── Image/
│ └── Interface.png
├── Paths/
│ ├── WindowsFilePaths.json
│ ├── WindowsFolderPaths.json
│ ├── WindowsRegistryKeys.json
│ ├── LinuxFilePaths.json
│ ├── LinuxFolderPaths.json
│ ├── MacOSFilePaths.json
│ └── MacOSFolderPaths.json
└── locales/
├── en.json
├── fr.json
└── es.json
- Copy
locales/en.jsontolocales/xx.json(wherexxis the ISO code). - Translate the values.
- Run
cleaner.pyand pick your new language at the language prompt.
You can also add the code to the _select_language() validator in cleaner.py if you want it explicitly allowed.
Edit the relevant JSON in Paths/:
{
"My App": [
["%PATH_USER%", ".config", "my-app", "cache"],
["%PATH_USER%", ".config", "my-app", "logs"]
]
}Available placeholders per OS:
| Placeholder | Windows | Linux / macOS |
|---|---|---|
%PATH_APPDATA_LOCAL% |
LOCALAPPDATA |
- |
%PATH_APPDATA_ROAMING% |
APPDATA |
- |
%PATH_USER% |
USERPROFILE |
home dir |
%PATH_SYSTEM_ROOT% |
C:\Windows |
- |
%PATH_PROGRAM_DATA% |
C:\ProgramData |
- |
%PATH_TOR% |
auto-detected Tor Browser path | auto-detected |
%PATH_VAR% |
- | /var |
%PATH_TMP_1% |
- | /tmp |
%PATH_TMP_2% |
- | Python tempdir |
Glob patterns (*) are supported, e.g. ["%PATH_APPDATA_LOCAL%", "Packages", "Microsoft.WindowsTerminal_*", "LocalState"].
For registry keys on Windows, you can use <SID> as a placeholder in HKEY_USERS paths - the script will enumerate S-1-5-21-* subkeys automatically.
- Developed by: camzzz
- License: MIT License
- Version: v1.0
