| Crates.io | compactrs |
| lib.rs | compactrs |
| version | 2025.12.29-r0333 |
| created_at | 2025-12-18 17:45:29.647442+00 |
| updated_at | 2025-12-29 03:34:26.33988+00 |
| description | High-performance native Windows file compressor using WOF (Windows Overlay Filter) |
| homepage | |
| repository | https://github.com/IRedDragonICY/compactrs |
| max_upload_size | |
| id | 1992999 |
| size | 746,823 |
Native Windows Transparent Compression Tool | Free CompactGUI Alternative | Reduce Game Size | High Performance WOF Driver
CompactRS is a specialized, high-performance file compression utility built natively for the Windows NT kernel. It serves as a modern, graphical interface for the Windows Overlay Filter (WOF) API, utilizing the same transparent compression technology found in Windows "CompactOS".
Unlike traditional archivers (Zip, 7z, Rar), CompactRS performs Transparent Compression. Files processed by this utility remain fully readable and writable by the operating system, Games, and Explorer without requiring explicit decompression. This makes it a perfect CompactGUI alternative for reducing the size of:
The decompression happens on-the-fly in the kernel driver level with negligible CPU overhead.
This application is engineered in pure Rust utilizing manual FFI definitions for direct Win32 API calls. It has zero external runtime dependencies (not even the windows or windows-sys crates).
user32.dll and uxtheme.dll for a native look and feel that respects system DPI settings.CompactRS exposes the internal compression formats provided by Wof.sys.
| Algorithm | Compression Ratio | CPU Overhead | Ideal Use Case |
|---|---|---|---|
| XPRESS4K | Low | Very Low | Frequently accessed system files, logs. |
| XPRESS8K | Medium | Low | General documents, non-media assets. |
| XPRESS16K | High | Medium | Applications, larger binaries. |
| LZX | Very High | High | Games, archival data, static software (Read-heavy). |
Pro Tip: LZX is the gold standard for game compression, capable of reducing installation sizes by 30-60% with zero impact on loading times for most titles.
Built directly on top of the Windows Message Loop (GetMessage, DispatchMessage). It uses a Facade pattern to wrap raw CreateWindowExW calls into safe Rust components, ensuring high performance and low memory footprint (~4MB RAM usage).
.mp4, .zip, .jpg) to prevent wasted CPU cycles.uxtheme.dll) to apply system-consistent dark theming to legacy Win32 controls, menus, and window frames.| Feature | CompactRS | Compactor | CompactGUI | compact.exe |
|---|---|---|---|---|
| Interface | Native Win32 UI | WebView UI | Modern WPF GUI | CLI |
| Language | Rust (Manual FFI) | Rust | C# / .NET 9 | C/C++ |
| Binary Size | ~296 KB | ~617 KB (.zip) | ~10 MB (+Runtime) ~67 MB (Standalone) |
N/A (Built-in) |
| Dependencies | Zero (Static) | WebView2 | .NET 9 Desktop Runtime | None |
| Memory | ~3-4 MB | ~20 MB+ | ~60 MB+ | Low |
| Compresstimation | Yes (Heuristic) | Yes (Statistical) | No | No |
| Folder Monitoring | Yes | No | Yes | No |
| Game Database | No | No | Yes | No |
| Pause/Resume | Yes | Yes | Yes | No |
fsctl) operations are privileged kernel commands.compactrs.exe.XPRESS8K).
If a file is in use, a dialog will appear showing the Process Name and PID holding the lock.
A: Yes. CompactRS uses the official Windows Overlay Filter (WOF) API, which is the same technology Windows uses for "CompactOS". It is natively supported by the kernel.
A: Generally, no. Modern CPUs (even older ones) can decompress XPRESS/LZX data faster than the disk can read it. In many cases, loading times improve because less data is being read from the disk.
A: CompactRS offers similar functionality to CompactGUI but is written in Rust, has zero dependencies (no .NET required), and is significantly lighter/faster to start.
A: No. The WOF API was introduced in Windows 10.
To compile CompactRS, you must have the Rust Toolchain (MSVC ABI) installed.
# 1. Clone the repository
git clone https://github.com/IRedDragonICY/compactrs.git
cd compactrs
# 2. Build for Release
# The profile is configured for maximum size optimization (lto, strip, opt-level="z")
cargo build --release