more helpsies

This commit is contained in:
Q
2024-06-26 08:12:25 +03:00
parent 9158b06007
commit 723f23233c
2 changed files with 42 additions and 12 deletions

View File

@@ -1,4 +1,11 @@
build() {
. useve-runner
useve syncbin
python3 -m hatchling build
echo "copy dist/ to six9.net/py/qgpg/"
}
install_useve() { install_useve() {
set -e set -e
@@ -8,26 +15,30 @@ install_useve() {
} }
test_stuff() { test_encrypt() {
cd ~/tmp/ cd ~/tmp/
. useve-runner . useve-runner
useve qgpg useve qgpg
rm -f key2* peak.gpg rm -fr key2* datadir
GPGPASS=secret @ qgpg --key key2 k GPGPASS=secret @ qgpg --key key2 k
@ find datadir -type f -name '*gpg' | xargs -II rm -v I @ mkdir -p datadir/folder{1,2}
@ dd if=/dev/random of=datadir/testfile bs=1024 count=102400 @ dd if=/dev/random of=datadir/testfile bs=1024 count=102400
@ qgpg --key key2.pub e datadir/lockscreens/peakpx.jpg for i in {1..10}; do
@ qgpg --key key2.pub e datadir/lockscreens/peakpx.jpg peak.gpg dd if=/dev/random of=datadir/folder1/${i}testfile bs=1024 count=10240 &> /dev/null
dd if=/dev/random of=datadir/folder2/${i}testfile bs=1024 count=10240 &> /dev/null
done
@ qgpg --key key2.pub e datadir/folder1/1testfile
@ qgpg --key key2.pub e datadir/folder1/1testfile datadir/1testfile.encrypted.gpg
@ qgpg --key key2.pub -r e datadir @ qgpg --key key2.pub -r e datadir
@ qgpg --key key2.pub -r e datadir @ qgpg --key key2.pub -r e datadir
@ hash-update -t sha1 -f sha1sum.txt -r datadir
} }
test_decrypt() { test_decrypt() {
cd ~/tmp/ cd ~/tmp/
. useve-runner . useve-runner
useve qgpg useve qgpg
@ find datadir -type f -name '*jpg' | xargs -II rm -v I @ find datadir -type f -name '*testfile' | xargs -II rm -v I
@ qgpg --key key2 -r d datadir GPGPASS=secret @ qgpg --key key2 -r d datadir
@ hash-update -t sha1 -f sha1sum.txt -c
} }

View File

@@ -96,8 +96,27 @@ class MiniProgress:
def get_opts(): def get_opts():
"""Returns command line arguments""" """Returns command line arguments"""
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description="Recursive gpg encryption. ", formatter_class=argparse.RawDescriptionHelpFormatter,
epilog="Private key passphrase can be set to env variable GPGPASS, otherwise will prompt", description="Wrapper to GPG, allowing recursive encryption.",
epilog="""Private key passphrase can be set to env variable GPGPASS, otherwise will prompt
Usage
=====
- Generate keys:
qgpg --key ./path/mykey keygen
- This will create private and public keys, mykey and mykey.pub
- Share the public key to someone who will encrypt data to you
- Encrypt file:
qgpg --key ./mykey.pub encrypt ./plain_file.txt ./encrypted_file.txt.gpg
- Encrypt all files in a folder:
qgpg --key ./mykey.pub -r encrypt ./folder/
- Decrypt all files with the private key:
qgpg --key ./mykey -r decrypt ./encrypted_folder/
- Using passhprase in a variable:
GPGPASS=mysecretpassword qgpg --key ./mykey dectypt file.gpg file.txt
""",
) )
parser.add_argument("--width", help="Console width in characters. Defaults to auto detect.") parser.add_argument("--width", help="Console width in characters. Defaults to auto detect.")
parser.add_argument("--no-progress", help="Disable progress meter.", default=False, action="store_true") parser.add_argument("--no-progress", help="Disable progress meter.", default=False, action="store_true")
@@ -172,7 +191,7 @@ class Processor:
self.set_phrase() self.set_phrase()
n_f = len(filelist) n_f = len(filelist)
for i, f in enumerate(filelist): for i, f in enumerate(filelist):
print(f"{i}/{n_f} {f} {self.opts.command}ing", file=sys.stderr) print(f"{i+1}/{n_f} {self.opts.command}ing {f} ", file=sys.stderr)
self.process_single(f) self.process_single(f)
self.homedir.cleanup() self.homedir.cleanup()