a CLI tool for 'quick encryption' with GPG

lotus aa10a07811 check that deps are executable, version bump 1 week ago
shunit2 @ ba130d69bb a86f8a990e added support to automatically tar+gzip and directory prior to encryption, updated readme, update manpages, added submodule for shunit2, started test files, added make test target 3 months ago
tests a86f8a990e added support to automatically tar+gzip and directory prior to encryption, updated readme, update manpages, added submodule for shunit2, started test files, added make test target 3 months ago
.gitignore 7840e90d3c added gitignore, updated readme, fixed makefile 10 months ago
.gitmodules a86f8a990e added support to automatically tar+gzip and directory prior to encryption, updated readme, update manpages, added submodule for shunit2, started test files, added make test target 3 months ago
LICENSE.md 839e434908 first commit 1 year ago
NOTES.md 7e3d8e7ad0 Added argon2 kdf to process password for gpg. Updated README. Version bump. 3 months ago
README.md 815939c181 updated makefile to setup the .qerc file, updated readme 2 weeks ago
makefile 815939c181 updated makefile to setup the .qerc file, updated readme 2 weeks ago
qe.1 25bb233c67 no longer compress directories by default, added -z flag to enable compression, added support for rc file (~/.qerc), updated, man page, updated README. 1 month ago
qe.sh aa10a07811 check that deps are executable, version bump 1 week ago
sample-qerc aa10a07811 check that deps are executable, version bump 1 week ago

README.md

qe

License

About

This command line tool allows us to Quickly Encrypt a file or folder. The goal is to have a minimal interface where we do not have to memorize a bunch of flags. qe uses AES256 symmetric cipher. GPG's default key stretching in symmetric mode is relatively weak. To alleviate this issue we derive our key from argon2 first, then pass it to GPG. I have made an effort to keep this tool as portable as possible. Should work with any POSIX shell. While compression is supported, qe does not compress anything by default.

Dependencies

Installation

Simply run:

git clone https://git.zerohack.xyz/lotus/qe.git
cd qe
make deps

# as root
make install

# to uninstall
make uninstall

# to run development unit tests (pulls down shunit2)
git submodule init
git submodule update

Note: When you pass a directory, qe will tar it prior to encryption!

Usage

qe secret.txt                    # encrypt secret.txt
qe /root/secret\ dir/            # encrypt the directory 'secret dir'
qe secret.txt.gpg                # decrypt secret.txt.gpg
qe -z gz secret.txt              # gzip secret.txt prior to encryption
qe -z zst /root/secret\ dir/     # compress using zstd prior to encryption
qe -h                            # show this help message
qe -v                            # show version

# qe expects encrypted files to end with the .gpg extension

Configuration

If you would like to set the default behavior of qe, it looks for a configuration file in your home directory ~/.qerc. This will help you by allowing you to skip entering flags manually.

Technical Notes

Read More.

License / Disclaimer

This project is licensed under the 3-clause BSD license. (See LICENSE.md) I take no responsibility for you blowing stuff up.