Wrapper around rclone to decrypt files encrypted with rclone
Project description
rclone-decrypt
Status
Description
rclone-decrypt
is a utility which will decrypt files that were encrypted with
rclone. The anticipated use-case is that a user has
independently downloaded an encrypted file or directory directly from a
remote cloud storage (Backblaze B2/Amazon Drive/Dropbox/etc...) and now wants to
decrypt it.
Given an rclone.conf file, this tool is simply a wrapper around rclone
which
sets up a "local remote" to host the downloaded encrypted files and then calls
rclone copy
in order to decrypt the files into a desired output folder.
Ostensibly I did this because my family backs-up our local NAS to a remote host but the rest of my family prefers to download files one-off from the cloud host and are not comfortable using the rclone CLI. This offers a CLI in addition to an easy-to-use GUI to make life simple.
Notes
- Use at your own risk! Be sure you have copies of anything you're trying to decrypt, just in case something goes wrong!
- When decrypting files with encrypted filenames or folder names, the directory
or filename must only consist of the encrypted version. For example, if an
encrypted file was downloaded as
path_to_encypted_file_4567asd8fasdf67asdf
where4567asd8fasdf67asdf
is the encrypted part, the filename must be renamed to exclude thepath_to_encypted_file_
portion. Otherwise rclone will complain about invalid encryption names. - Windows is not currently supported, although it probably would not take very much work to get it there. I do not have ready access to a windows environment on which to test.
- I'd love to make the GUI look more modern, but most solutions involve a style which seems incompatible with tkinterdnd2 which provides the drag and drop feature.
Installation
pip3 install rclone-decrypt
Requirements
General
rclone
must be installed and in$PATH
Python environment
Python >= 3.7 <3.12
Python-tk
must be installed if using the GUI
Executable
UNDER DEVELOPMENT An OSX .app
is generated but is currently untested.
Usage
CLI usage
> rclone-decrypt --config /path/to/rclone.conf --files /path/to/file/or/dir/
Example usages:
> rclone-decrypt --config rclone.conf --files /home/my_encrypted_dir
> rclone-decrypt --config rclone.conf --files /0f12hh28evsof1kgflv67ldcn/9g6h49o4ht35u7o5e4iv5a1h28
> rclone-decrypt --config rclone.conf --files /home/my_encrypted_file.bin
GUI usage
If the python package is installed directly then the GUI can be invoked from the command line, as shown below. Otherwise the packaged binary can be downloaded and executed directly.
- Files can be dropped directly into the big white box.
- As files are dropped, if no output directory has been provided though the file dialog, an output directory called 'out' will be created at the same directory level as the last dropped file to be decrypted.
- A default location for
rclone.conf
is provided, others can be browsed for.
rclone-decrypt --gui
Development
source .venv/bin/activate
poetry install
poetry run pytest
poetry run flake8
deactivate
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for rclone_decrypt-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 649527e0fd6410c648d4c0e07237ca4257fcf9a02069e1cdc1388c99c7f98cf0 |
|
MD5 | 6e318f8501ec2e9861048f5b8b1d20ea |
|
BLAKE2b-256 | 9688e9a50e7c11bf295f4cadae849b98ba337342be345d21dc757d9ed11d72a8 |