https://github.com/sammwyy/rz
Cross-platform fast and secure de/compression tool.
https://github.com/sammwyy/rz
cli rust zip
Last synced: 4 months ago
JSON representation
Cross-platform fast and secure de/compression tool.
- Host: GitHub
- URL: https://github.com/sammwyy/rz
- Owner: sammwyy
- License: mit
- Created: 2024-06-11T10:22:59.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-11T12:37:56.000Z (about 2 years ago)
- Last Synced: 2025-05-10T23:32:24.769Z (about 1 year ago)
- Topics: cli, rust, zip
- Language: Rust
- Homepage:
- Size: 23.4 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Rz
**Rz** or **Rzip** is a high-performance, secure compression and decompression tool developed in [Rust](https://rust-lang.org/). Designed for efficiency and safety, Rzip provides a powerful CLI for managing your compressed files with ease and reliability.
## Features
- **Speed**: Utilizes Rust's optimizations to ensure fast compression and decompression operations.
- **Security:** Built with Rust's strong safety features to minimize errors and vulnerabilities.
- **CLI:** User-friendly and straightforward command-line interface for easy file management.
- **Versatile:** Supports various file formats and compression algorithms for flexibility.
### Compatibility
| Compression Method | Compression | Decompression |
| ------------------ | ----------- | ------------- |
| Stored | ✓ | ✓ |
| Deflate | ✓ | ✓ |
| Deflate64 | | ✓ |
| Bzip2 | ✓ | |
| LZMA | | ✓ |
| Zstd | ✓ | |
This means that Rzip supports the following extensions:
`.zip`, `.bz2`, `.tbz2`, `.lzma`, `.zst`.
## CLI
**Usage:** `rz [options] `
### Commands
| Command | Description | Arguments | Alias |
| ------- | ----------- | --------- | ----- |
| `append` | Appends a file to an existing archive | ` ` | `a` |
| `compress` | Compresses a file or directory |` ` | `c` |
| `extract` | Decompresses a file | ` ` | `x` |
| `list` | Lists the contents of an archive | `` | `ls` |
### Options
| Option | Alias | Type | Description | Required | On command |
| ------ | ----- | ---- | ----------- | -------- | ---------- |
| `--level` | `-l` | Integer(64) | Compression level | No | `append`, `compress` |
| `--method` | `-m` | Enum | Compression method (stored/deflate/etc...) | No | `append`, `compress` |
| `--pick` | `-p` | String | File to extract from archive | No | `extract`, `list` |
| `--unix_permissions` | `-u` | UInteger(32) | Unix permissions for new files | No | `compress` |
## Contributing
Contributions are welcome! If you wish to contribute to Rzip, please follow these steps:
1. Fork the repository.
2. Create a new branch (git checkout -b feature/new-feature).
3. Make your changes and commit them (git commit -m 'feature: 🌱 new feature').
4. Push your changes (git push origin feature/new-feature).
5. Open a Pull Request.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Acknowledgements
- [Rust](https://rust-lang.org/)
- [Clap-rs](https://github.com/clap-rs/clap)
- [Zip-rs](https://github.com/zip-rs/zip2)
Developed with ❤️ by [Sammwy](https://github.com/sammwyy).