From ce40b1ed5db1ea246647dbecb029ad56f69eb6fb Mon Sep 17 00:00:00 2001 From: John Gaunt Date: Fri, 30 Dec 2022 15:54:05 -0500 Subject: [PATCH] added no encryption warning message and message that zip is being encrypted. moved file delete to end of loop --- bitwardenBackup.py | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/bitwardenBackup.py b/bitwardenBackup.py index 7851ff0..b3434bc 100644 --- a/bitwardenBackup.py +++ b/bitwardenBackup.py @@ -527,25 +527,15 @@ if __name__ == "__main__": else: logger.debug("Item has no attachments") logger.info("Done downloading attachments") - logger.info("Zipping everything together...") zip_filename = os.path.join(exports_directory, "Bitwarden Backup {} {}".format(email, datetime_string)) shutil.make_archive(zip_filename, format="zip", root_dir=working_directory) if not opts.no_encrypt: + logger.info("Encrypting zip file...") logger.debug((subprocess.run([gpg_executable, '--no-options', '--batch', '--passphrase', vault_password, '--symmetric', '--cipher-algo', 'AES256', '--digest-algo', 'SHA512', '--compression-algo', 'Uncompressed', '--output', zip_filename + '.zip.gpg', zip_filename + '.zip'], capture_output=True).stdout).decode()) - - logger.info("Securely deleting files") - if os_detected == "Windows": - # sdelete.exe .\working\ -p 5 -s - logger.debug((subprocess.run([sdelete_executable, '-p', '5', '-s', working_directory], capture_output=True).stdout).decode()) - if not opts.no_encrypt: - logger.debug((subprocess.run([sdelete_executable, '-p', '5', zip_filename + ".zip"], capture_output=True).stdout).decode()) - elif os_detected == "Linux": - # find -depth -type f -exec shred -v -n 1 -z -u {} \; - logger.debug((subprocess.run(['srm', '-r', '-z', '-v', working_directory], capture_output=True).stdout).decode()) - if not opts.no_encrypt: - logger.debug((subprocess.run(['srm', '-r', '-z', '-v', zip_filename + '.zip'], capture_output=True).stdout).decode()) + else: + logger.warning("You passed in --no-encryption option, not encrypting zip file") else: logger.error((bitwarden_unlock_output.stderr).decode()) @@ -553,6 +543,18 @@ if __name__ == "__main__": logger.error("Unable to login to account, please check API credentials") #logger.error((bitwarden_login_output.stderr).decode()) + logger.info("Securely deleting files") + if os_detected == "Windows": + # sdelete.exe .\working\ -p 5 -s + logger.debug((subprocess.run([sdelete_executable, '-p', '5', '-s', working_directory], capture_output=True).stdout).decode()) + if not opts.no_encrypt: + logger.debug((subprocess.run([sdelete_executable, '-p', '5', zip_filename + ".zip"], capture_output=True).stdout).decode()) + elif os_detected == "Linux": + # find -depth -type f -exec shred -v -n 1 -z -u {} \; + logger.debug((subprocess.run(['srm', '-r', '-z', '-v', working_directory], capture_output=True).stdout).decode()) + if not opts.no_encrypt: + logger.debug((subprocess.run(['srm', '-r', '-z', '-v', zip_filename + '.zip'], capture_output=True).stdout).decode()) + del vault_password del os.environ['BW_CLIENTID'] del os.environ['BW_CLIENTSECRET']