A CLI tool for creating encrypted archives. It pipelines tar archiving, xz compression, and ChaCha20-Poly1305 encryption into a single .riftx file.
This CLI tool helps you securely move project folders between computers. By compressing and encrypting your directories, it allows for faster and safer transfers over public cloud services like OneDrive, Google Drive, or Dropbox.
Note: riftx does not aim to substitute version control systems (like Git) or act as a continuous sync engine. It is simply a secure wrapper to pack and unpack your folders before transferring them.
- The source directory is archived with
tarand compressed withxz - A key is derived from your password using Argon2id
- The compressed stream is encrypted in 64 KB frames using ChaCha20-Poly1305 with counter-based nonces
cargo install --path .Grab the latest executable from the Releases page.
# Pack a directory to a .riftx file
riftx pack --input ./my-project
# Unpack a .riftx file
riftx unpack --input backup.riftx
# Pack with a custom output path
riftx pack --input ./my-project --output backup.riftx
# Unpack a .riftx file to a specific directory
riftx unpack --input backup.riftx --output ./restored
# Pack without encryption (produces a tar.xz)
riftx pack --input ./my-project --output my-project.tar.xz --no-enc
# Unpack without encryption (unpacks a tar.xz)
riftx unpack --input my-project.tar.xz --output ./restored --no-encAliases: p for pack, u for unpack.
Note
If --no-enc is used without --output the resulting <INPUT>.riftx file is actually a standard .tar.xz archive that can be renamed and extracted with standard tools if needed.
Passwords are resolved in this order:
--passwordflag (Highest priority - Insecure)RIFTX_PASSWORDenvironment variable- Interactive prompt (Lower priority - Safest)
Warning
Using the --password flag exposes your secret to process listings (ps aux) and shell history files. Always prefer the interactive prompt.
Copyright (c) 2026, Ludovico Pestarino. Use at your own risk. This project is licensed under the BSD 3-Clause License see the LICENSE file for details