-
File Encryption & Decryption
- Encrypt files with AES-256-GCM
- Encrypt directories into a single encrypted archive
- Decrypt previously encrypted files
- Decrypt encrypted directory archives back into their original tree
- Optional custom output paths
- Password-based protection for secure workflows
-
Compression & Decompression
- Compress files with gzip
- Compress files or directories as zip archives
- Compress directories as tar.gz archives
- Decompress gzip files, tar.gz archives, and zip archives
- Optional compression levels
- Automatic output name derivation
-
Key Management
- Generate and store encryption keys
- List stored keys
- Export keys to encrypted files
- Import keys from encrypted files
- Delete stored keys with confirmation safeguards
-
Interactive TUI
- Terminal user interface for file and key management
- Launches automatically when run without subcommands
Cryptare is organized into focused command groups:
- cryptare encrypt — encrypt a file or directory
- cryptare decrypt — decrypt a file or encrypted directory archive
- cryptare compress — compress a file or directory
- cryptare decompress — decompress a gzip file or tar.gz archive
- cryptare keys — manage encryption keys
- cryptare encrypt [path] — encrypt a file with AES-256-GCM or package a directory into a single encrypted archive
- cryptare encrypt [path] --output [path] — write to a custom output file
- cryptare encrypt [path] --password [value] — provide the encryption password non-interactively
Examples:
- cryptare encrypt ./secret.txt
- cryptare encrypt ./secret.txt --output ./secret.txt.enc
- cryptare encrypt ./project-dir --output ./project-dir-backup.enc
- cryptare encrypt ./secret.txt --password "correct horse battery staple"
- cryptare decrypt [path] — decrypt an AES-256-GCM encrypted file or restore an encrypted directory archive
- cryptare decrypt [path] --output [path] — write to a custom output file or restore into a target directory
- cryptare decrypt [path] --password [value] — provide the decryption password non-interactively
Examples:
- cryptare decrypt ./secret.txt.enc
- cryptare decrypt ./secret.txt.enc --output ./secret.txt
- cryptare decrypt ./project-dir-backup.enc --output ./restored-project-dir
- cryptare decrypt ./secret.txt.enc --password "correct horse battery staple"
- cryptare compress [path] — compress with gzip (default) or zip
- cryptare compress [path] --output [path] — write to a custom output file or archive
- cryptare compress [path] --format [gzip|zip] — select compression format
- cryptare compress [path] --level [1-9] — set gzip compression level
Examples:
- cryptare compress ./artifact.bin
- cryptare compress ./artifact.bin --output ./artifact.bin.gz
- cryptare compress ./build --output ./build-backup.tar.gz
- cryptare compress ./build --format zip --output ./build-backup.zip
- cryptare compress ./artifact.bin --level 9
- cryptare decompress [archive] — decompress a gzip file or extract a tar.gz/zip archive
- cryptare decompress [archive] --output [path] — write to a custom output file or extract to a directory
Examples:
- cryptare decompress ./artifact.bin.gz
- cryptare decompress ./artifact.bin.gz --output ./artifact.bin
- cryptare decompress ./build-backup.tar.gz --output ./restored-build
- cryptare decompress ./build-backup.zip --output ./restored-build
- cryptare keys list — list stored encryption keys
- cryptare keys generate — generate and store a new random encryption key
- cryptare keys export [key-id] — export an encrypted key to a file
- cryptare keys import [file] — import an encrypted key from a file
- cryptare keys delete [key-id] — delete a stored encryption key (irreversible)
- cryptare keys delete [key-id] --yes — delete non-interactively (automation)
- cryptare keys delete [key-id] --force — delete non-interactively (automation)
Examples:
- cryptare keys list
- cryptare keys generate --password "master password"
- cryptare keys export key-123 --output key-123.ckey
- cryptare keys import ./key-123.ckey
- cryptare keys delete key-123
- cryptare keys delete key-123 --yes
- Running cryptare with no subcommand launches the terminal UI dashboard for interactive file and key management.
- Run
cryptare --vimto enable vim-style TUI bindings. - With vim bindings enabled:
- Menus accept
j/kto move,lto select, andEsc,h, orbto go back when a back action exists. - Forms start in insert mode so file paths and passwords can be typed normally.
- Press
Escin a form to switch to normal mode, then usej/kto change fields,hto cancel,lorEnterto advance, andi/a/oto return to insert mode.omoves to the next field before re-entering insert mode.
- Menus accept
Download the appropriate binary for your platform below and make it executable:
Linux:
chmod +x cryptare-linux-amd64
sudo mv cryptare-linux-amd64 /usr/local/bin/cryptare
or
chmod +x cryptare-linux-arm64
sudo mv cryptare-linux-arm64 /usr/local/bin/cryptare
macOS:
chmod +x cryptare-macos-arm64
sudo mv cryptare-macos-arm64 /usr/local/bin/cryptare
or
chmod +x cryptare-macos-amd64
sudo mv cryptare-macos-amd64 /usr/local/bin/cryptare
Windows:
Download cryptare-windows-amd64.exe and add it to your PATH as cryptare.
docker build -t cryptare:latest .docker run --rm -it cryptare:latestmkdir -p ~/.cryptare
docker run --rm -it \
-v ~/.cryptare:/app/data \
-e CRYPTARE_DB_PATH=/app/data/cryptare.db \
cryptare:latestdocker run --rm -it cryptare:latest --help
docker run --rm -it -v ~/.cryptare:/app/data cryptare:latest keys list