added no encryption warning message and message that zip is being encrypted. moved file delete to end of loop

This commit is contained in:
2022-12-30 15:54:05 -05:00
parent 3fec27ac48
commit ce40b1ed5d

View File

@@ -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 <directory> -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 <directory> -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']