Data Cleaner is a native Linux application for safely reclaiming disk space. Built with Rust, GTK 4, and libadwaita, it provides a clean GNOME-style interface for reviewing and removing browser data, application caches, temporary files, logs, and other unnecessary data.
Made for Fedora with the GNOME desktop (tested on Fedora 44).
- Clean supported browser caches and data, including Flatpak and Snap browsers, with unavailable browsers clearly disabled.
- Remove application caches, temporary files, thumbnails, trash, and custom directories.
- Analyze storage visually and find large files or folders.
- Clean application logs using a configurable retention period.
- Schedule automatic cleanup on selected days and times. A cleanup missed while the computer was off or asleep runs the next time Data Cleaner is open.
- Start Data Cleaner automatically at login for scheduled tasks.
- Review detailed results after every cleanup, including deleted, skipped, and failed items.
- Integrate with the system tray and follow the current GNOME color scheme and accent color.
Data Cleaner is designed to make cleanup operations transparent and predictable:
- Manual cleanup can require confirmation before deletion.
- Critical system paths are protected by a built-in denylist.
- Operation limits can prevent unexpectedly large cleanups.
- Active browsers are detected to reduce the risk of database corruption.
- System journal cleanup requires administrator approval.
- Cleanup logs are kept in memory and are not written permanently without user consent.
Always review the selected cleanup options before removing data you may want to keep, especially browser cookies and session data.
- Linux
- Rust stable and Cargo
- GTK 4.8 or newer
- libadwaita 1.2 or newer
- GLib development tools and
pkg-config
The exact development package names depend on your Linux distribution.
git clone https://github.com/christosdaggas/Cleaner.git
cd Cleaner
cargo build --release --lockedRun the optimized build:
./target/release/data-cleanerFor development:
cargo run --lockedThe repository includes helper scripts for creating common Linux packages:
./scripts/package-rpm.sh
./scripts/package-deb.sh
./scripts/package-appimage.shGenerated packages are placed under the dist/ directory. The RPM script always rebuilds the current release binary and writes the RPM directly to dist/rpm/, regardless of the directory from which the script is invoked. The installed package and command name is data-cleaner.
Contributions, bug reports, and feature suggestions are welcome.
-
Fork the repository.
-
Create a branch for your change.
-
Run the checks before submitting:
cargo fmt --check cargo test --locked cargo clippy --all-targets --locked -- -D warnings -
Open a pull request with a clear description of the change.
Please use GitHub Issues to report bugs or suggest improvements.
Data Cleaner is released under the MIT License.
