A safe and efficient disk cleanup tool for Windows
DiskDisk is a modern disk cleanup tool written in Rust that supports 38 cache types, covering popular domestic and international applications. It helps users free up disk space and improve system performance through intelligent scanning and safe cleanup.
- ๐ Smart Scanning - Automatically identify system and application caches
- ๐ก๏ธ Safe & Reliable - Whitelist mechanism, only clean known safe caches
- ๐ High Performance - Rust-powered, extremely fast scanning and cleanup
- ๐ป Dual Interface - Both CLI command-line and GUI graphical interface
- ๐ Detailed Statistics - Display cache size, file count, and more
- Windows temp files, prefetch, logs, update cache
- Defender scan history, explorer cache, font cache, IE cache
- Chrome, Edge, Firefox
- Doubao, QQ Browser, 360 Browser
- NPM, Cargo, Pip, Docker, Node GYP
- VS Code, JetBrains IDE, Microsoft Office, WPS Office
- WeChat, QQ, DingTalk
- JianyingPro
- Notion
- Zoom
- 360 Security, 360 Browser (separate from security software)
- SecretSDK
- FTNN Exchange
- 2345OCR
- Python Environment
- Intel Graphics cache, Baidu Netdisk, Recycle Bin
- โ 38 cache type definitions and configurations
- โ Automatic environment variable expansion (%APPDATA%, %LOCALAPPDATA%, etc.)
- โ Cache scanner
- โ Cache cleaner
- โ Error handling and logging
- โ Unit tests (7 test cases)
- โ Command-line argument parsing
- โ
Scan mode (
--scan) - โ
Clean mode (
--clean) - โ
Verbose output (
--verbose) - โ User confirmation mechanism
- โ Cleanup statistics report
- โ Project structure setup
- โ Tauri 2.0 integration
- โ Modern UI (Tailwind CSS)
- โ Scan page (real-time progress)
- โ Clean page (selective cleanup)
- โ Settings page (configuration options)
- โ Frontend-backend communication (Tauri commands)
- โ README.md (project homepage)
- โ QUICKSTART.md (quick start guide)
- โ USAGE.md (complete guide)
- โ System scan report
- โ Domestic app scan report
- โ GUI development summary
Scan results: 93,293 files, 9.07 GB (pre-expansion: 30 cache types)
Post-expansion scan: 46,536 files, 5.44 GB (38 cache types)
Actual cleanup: 25,248 files, 2.55 GB (pre-expansion)
New caches cleanable: ~4.86 GB
- Add application icons
- Improve error handling
- Cache detail viewer
- Cleanup history
- Scheduled cleanup
- Custom cache paths
- Portable version
- Auto-update
- Cloud sync for settings
- Plugin system
- Windows 10/11
- Rust toolchain (for building from source)
# Clone repository
git clone https://github.com/ARTHUR-BBU/diskdisk.git
cd diskdisk
# Build project
cargo build --release
# CLI executable
.\target\release\diskdisk.exePre-built binaries will be available in Releases page.
diskdisk.exe --scanOutput:
Scanning for cache files...
Found the following caches:
โข Notion - 1.88 GB (16070 files)
โข Zoom - 571.58 MB (970 files)
โข 360 Security - 572.45 MB (5235 files)
...
Total: 46,536 files, 5.44 GB
diskdisk.exe --cleanInteractive confirmation:
โ ๏ธ Cleanup mode will delete files!
About to delete: 46,536 files, 5.44 GB
Continue? [y/N]: y
โจ Cleanup complete!
Files deleted: 46,536
Space freed: 5.44 GB
cd desktop-gui
cargo tauri devdiskdisk/
โโโ crates/
โ โโโ core/ # Core library (platform-agnostic)
โ โ โโโ scanner.rs # Cache scanning logic
โ โ โโโ cleaner.rs # Cache cleanup logic
โ โ โโโ cache_types.rs # Cache type definitions
โ โโโ cli/ # Command-line interface
โโโ desktop-gui/ # Tauri GUI application
โโโ docs/ # Project documentation
โโโ Cargo.toml # Workspace configuration
โโโ README.md # This file
- Core Library Agnostic -
diskdisk-coredoesn't depend on any UI framework - Safety First - All deletions require explicit confirmation
- Extensibility - Easy to add new cache types via
CacheTypeandCacheLocation - Cross-platform Potential - Currently focused on Windows, but architecture considers future cross-platform support
# Build all components
cargo build
# Build only core library
cargo build -p diskdisk-core
# Build only CLI
cargo build -p diskdisk
# Build GUI (requires Tauri dependencies)
cargo build -p diskdisk-gui# Run all tests
cargo test
# Run tests for core library only
cargo test -p diskdisk-core
# Run with output
cargo test -- --nocapture# Format code
cargo fmt
# Check code style
cargo fmt --check
# Run linter
cargo clippy -- -D warnings- QUICKSTART.md - 3-minute quick start guide
- USAGE.md - Complete usage instructions
- CHANGELOG.md - Version changelog
- docs/system-scan-report.md - System scan report
- docs/domestic-apps-scan-report.md - Domestic apps report
- docs/cache-expansion-v0.2.0.md - v0.2.0 expansion details
Contributions are welcome! Please feel free to submit a Pull Request.
- Add new variant to
CacheTypeenum incrates/core/src/cache_types.rs - Add cache location configuration in
crates/core/src/scanner.rs - Update
parse_cache_type()indesktop-gui/src/lib.rs(for GUI) - Test with
cargo run --bin diskdisk -- --scan
Example:
// cache_types.rs
pub enum CacheType {
// ... existing types
MyAppCache,
}
// scanner.rs
CacheLocation {
cache_type: CacheType::MyAppCache,
paths: vec![r"%LOCALAPPDATA%\MyApp\Cache".to_string()],
description: "My Application Cache",
dangerous: false,
}Dual-licensed under:
- MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
You may choose either license for your use.
- Rust - The systems programming language
- Tauri - Cross-platform desktop framework
- walkdir - Directory traversal
- All contributors and users of DiskDisk
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Author: ARTHUR-BBU
Made with โค๏ธ and Rust by ARTHUR-BBU