RSTF is a high-performance file archiving utility built in Rust, prioritizing data security through modern encryption and efficient compression. It leverages cutting-edge cryptographic standards to safeguard files against emerging threats.
Engineered for seamless cross-platform operation
Conventional archiving tools often employ outdated security measures vulnerable to contemporary attacks. RSTF stands out by integrating robust, forward-looking cryptography.
| Feature | RSTF (This Tool) | 7-Zip | ZIP |
|---|---|---|---|
| Encryption | XChaCha20-Poly1305 (IETF Standard) | AES-256 | AES / ZipCrypto |
| Key Derivation | Argon2id (Memory-Hard) | PBKDF2 (Susceptible to GPU Attacks) | None / Weak |
| Metadata | Fully Encrypted | Visible (Optional Encryption) | Visible |
| Compression | Zstd (Multithreaded) | LZMA (Resource-Intensive) | Deflate |
| Keyfile Support | Native | No | No |
| Mobile Native | Android/Termux Binary | Requires App | Requires App |
No root privileges required. Install the pre-compiled binary directly (choose based on your device architecture)
wget https://github.com/warchs/rstf-rust/releases/latest/download/rstf-android-arm64 -O $PREFIX/bin/rstfchmod +x $PREFIX/bin/rstfrstf --versionwget https://github.com/warchs/rstf-rust/releases/latest/download/rstf-android-x86_64 -O $PREFIX/bin/rstfchmod +x $PREFIX/bin/rstfrstf --versionrstf --helpInstall system-wide (choose based on your architecture for best compatibility)
sudo wget https://github.com/warchs/rstf-rust/releases/latest/download/rstf-linux-amd64 -O /usr/local/bin/rstfsudo chmod +x /usr/local/bin/rstfrstf --versionsudo wget https://github.com/warchs/rstf-rust/releases/latest/download/rstf-linux-arm64 -O /usr/local/bin/rstfsudo chmod +x /usr/local/bin/rstfrstf --versionsudo wget https://github.com/warchs/rstf-rust/releases/latest/download/rstf-linux-amd64-musl -O /usr/local/bin/rstfsudo chmod +x /usr/local/bin/rstfrstf --versionrstf --helpCompatible with Intel and Apple Silicon (choose based on your chip)
sudo wget https://github.com/warchs/rstf-rust/releases/latest/download/rstf-macos-amd64 -O /usr/local/bin/rstfsudo chmod +x /usr/local/bin/rstfrstf --versionsudo wget https://github.com/warchs/rstf-rust/releases/latest/download/rstf-macos-arm64 -O /usr/local/bin/rstfsudo chmod +x /usr/local/bin/rstfrstf --versionrstf --help- Download the appropriate .exe from the Release Page (MSVC recommended for compatibility, GNU as alternative).
- Open Command Prompt or PowerShell in the download folder.
- Run:
.\rstf-windows-amd64.exe --help(or.\rstf-windows-amd64-gnu.exe --helpfor GNU version). (Optional: Add the folder to your PATH for easier access).
rstf pack sensitive_datarstf pack ./important_file.py --level 22 --wipe -k ./key_image.jpgNote: The --wipe flag securely deletes source files after successful archiving.
rstf unpack ./sensitive_data.rstfrstf unpack important_file.rstf -k ./key_image.jpg3. List Contents View archive contents without extraction. Credentials are needed since metadata is encrypted.
rstf list backup.rstfWe welcome contributions from the community! RSTF is an open-source project, and your input helps improve security, performance, and usability. Here's how to get involved:
- Report Issues: Found a bug or have a feature request? Open an issue on GitHub.
- Submit Pull Requests: Fork the repo, make changes, and submit a PRequest. We follow standard Rust practices (e.g.,
cargo fmt,cargo clippy). - Improve Documentation: Help translate or enhance this README, or add examples.
- Test on New Platforms: Try RSTF on untested devices and share feedback.
- Clone the repository:
git clone https://github.com/warchs/rstf-rust.gitcd rstf-rust- Install Rust (if not already):
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh- Build and test:
cargo build --releasecargo test- Run the CI locally (optional):
Use GitHub Actions or tools like
crossfor cross-platform testing.
- Follow the Rust Code of Conduct.
- Ensure all changes pass tests and are well-documented.
- For security-related changes, discuss in issues first.
Thank you for contributing to RSTF!
RSTF implements an Encrypt-then-MAC approach using modern cryptographic primitives:
- Compression: Zstd (Levels 1-22). Processes data in 64KB chunks for efficient memory use.
- KDF (Key Derivation): Argon2id (Version 19). Increases resistance to brute-force by demanding high computational and memory resources, countering GPU clusters.
- Encryption: XChaCha20-Poly1305. A performant authenticated stream cipher.
- Randomness: Relies on the OS's cryptographically secure random number generator (via the rand crate) for salts and nonces.
This software contains no backdoors. Loss of your password or keyfile will make data irrecoverable. RSTF's cryptography is designed to resist brute-force attacks. Always secure backups and use strong, unique passwords.
William Nathanael (warchs)
- Independent Developer and Cybersecurity Enthusiast
- This README and the entire project were manually crafted by a human developer, drawing from personal experience in Rust programming and cryptography. No automated tools, bots, or AI were used in its creation to ensure authenticity and originality.
- GitHub Profile
- Twitter Profile
- Personal Website
A big thank you to the Rust programming language and its incredible community for providing a safe, fast, and productive ecosystem that made RSTF possible. Special thanks to the developers and maintainers of key crates that power RSTF:
- Zstd (compression library) for efficient, multithreaded data compression.
- Argon2 (for Argon2id KDF) for robust password hashing against brute-force attacks.
- ChaCha20-Poly1305 (via RustCrypto) for secure, authenticated encryption.
- Rand for cryptographically secure random number generation.
- And the broader open-source community for tools like
crossfor cross-compilation and GitHub Actions for CI/CD.
Your contributions keep the Rust ecosystem thriving—thank you! If you've contributed or inspired this project, feel free to reach out.
This project is licensed under the MIT License - see the LICENSE file for details.
Build with love for everyone
