Encrypting Cold Storage Client
Project description
icebox - Encrypting Cold Storage Client
icebox is a command-line client for secure online file storage. All metadata is protected from unauthorized access, by using icepack for archive handling.
Supported storage backends:
- Amazon S3 (
Glacier Deep Archivestorage class) - WebDAV
- Local folder (for testing or third-party tools)
Installation
Requirements:
- Python 3.8
- age 1.0
- OpenSSH 8.0
Install with pip or pipx:
$ pip install icebox
If pigz or pbzip2 are installed, they will be used for faster compression.
AWS credentials
Configure AWS credentials as described in the Boto documentation. The credentials should have write access to the S3 buckets you plan to use. See the example IAM policy for recommended permissions.
Usage
Help for each command can be displayed by using the --help option.
Create a new box
Create the box mybox for an S3 bucket called mybucket:
$ icebox init mybox s3 mybucket
Please note: encrypted metadata (several KB per put operation) is stored
using the Standard storage class.
Create the box mybox for a WebDAV URL:
$ icebox init mybox webdav https://example.com/webdav/folder
Store data in a box
To store a file or directory, simply specify its location:
$ icebox put mybox cat-pictures/grumpy.jpg
Retrieve data from a box
There are no directories in boxes, so you just specify the original name of the source and a destination:
$ icebox get mybox grumpy.jpg -d ~/Desktop
Bulk retrievals from S3 can take a long time. To perform a Standard
retrieval, use the Tier option:
$ icebox get mybox grumpy.jpg -d ~/Desktop -o Tier=Standard
Retrieval operations are tracked by icebox, so you can interrupt a pending retrieval and request the same source again later.
Delete data from a box
To delete a stored file or directory, use its original name:
$ icebox delete mybox grumpy.jpg
List data in a box
To list the contents of a box:
$ icebox list mybox
Refresh data in a box
To update local box information from the backend:
$ icebox refresh mybox
Refresh operations are tracked by icebox, so you can interrupt a refresh and continue it later.
Check the version and dependencies
$ icebox version --dependencies
icebox 1.0.0
✅ age found. (Version: v1.0.0)
✅ age-keygen found.
✅ ssh found. (Version: OpenSSH_8.2p1)
✅ ssh-keygen found.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file icebox-1.1.0.tar.gz.
File metadata
- Download URL: icebox-1.1.0.tar.gz
- Upload date:
- Size: 26.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
abca2e044da2c950b22bcbf6d66f3add45e3b87544c58150178e0a330c09e1eb
|
|
| MD5 |
7637a954aafe5b25bca092355bbab7e6
|
|
| BLAKE2b-256 |
d0f2eea8c103594a0fb5aa7238f9f43d01c54a29741358853ecdf61534d93cec
|
File details
Details for the file icebox-1.1.0-py3-none-any.whl.
File metadata
- Download URL: icebox-1.1.0-py3-none-any.whl
- Upload date:
- Size: 25.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85fe74e91f1918aeced1dc83b5b46083576a2560a969cc25ebf95135b7ab684d
|
|
| MD5 |
7fd8803c3680617d2f1a440c9feebea3
|
|
| BLAKE2b-256 |
0e28ec7d258088e66f715c41c3cd492476af6bc981ea4669524bab281403e15f
|