Compact, compress, and deduplicate files into a single archive format.
- Pack entire directories into a
.squisharchive - Automatically deduplicates duplicate files/chunks
- Compact archive format with compression
- List archive contents with summaries
- Unpack files with directory preservation
Note: Ensure you have Rust and Cargo installed.
cargo install squishrsgit clone https://github.com/SamB032/squishRS.git
cd squishRS
cargo build --release
squishrs pack ./my-folder -o archive.squishsquishrs list archive.squishsquishrs unpack archive.squish -o ./output-dirsquishrs --helpsquishrs pack ./data -o data.squish
squishrs list data.squish
squishrs unpack data.squish -o ./restored
Run commonly used commands from the provided Makefile:
> make help
all Build the release binary
build Build binary
run Run target file with arguments
test Run tests
fmt Format code with rustfmt
lint Run clippy linter
check Run basic type-checking
clean Clean build artifacts
install Install the binary system-wide
help Show help for each target
- Built on
zstd,indicatif,prettytableandclap - Chunk-based deduplication logic
- Archives include a manifest mapping files to their chunks for accurate reconstruction
- Simple
.squisharchive format optimized for speed, space-saving, and portability - Parallelized file and directory traversal for fast performance on large datasets using
Rayon
Contributions, issues, and feature requests are welcome! Feel free to open an issue or submit a pull request.
MIT License @ 2025