SquirrelZip is a powerful command-line file compression and encryption tool written in Go. It provides secure file compression with optional password protection.
- File compression with multiple algorithm support
- Password-based encryption for compressed files
- Cross-platform support (Windows, Linux, macOS)
- Command-line interface
- Progress tracking and compression ratio reporting
- Secure file handling with automatic cleanup
- Huffman
- LZMA
You can download pre-built binaries for your platform from the Releases page.
- Ensure you have Go 1.22 or later installed
- Clone the repository:
git clone https://github.com/itsfuad/SquirrelZip.git cd SquirrelZip
- Build the project:
go build
SquirrelZip -c [files...] -o [output_dir] -p [password] -a [algorithm] -all
Options:
-c
: Input files or directory to be compressed-o
: Output directory (optional)-p
: Password for encryption (optional)-a
: Compression algorithm (optional, defaults to "huffman")-all
: Read all files in the input directory (optional)
SquirrelZip -d [file] -o [output_dir] -p [password]
Options:
-d
: Input file to decompress-o
: Output directory (optional)-p
: Password for decryption (required if file was encrypted)
-v
: Print version-h
: Print help
SquirrelZip/
├── compressor/ # Compression algorithms
├── encryption/ # Encryption/decryption logic
├── utils/ # Utility functions
├── constants/ # Constants and messages
├── main.go # Main application entry
└── test_files/ # Test files
# Windows
build.bat
# Linux/macOS
go build
# Windows
test.bat
testRun.bat
testRunNopass.bat
# Linux/macOS
go test ./...
This project is licensed under the terms specified in the LICENSE file.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Built with Go
- Uses standard library compression algorithms
- Implements secure encryption for file protection