Skip to main content

Encrypting command-line client for Amazon Glacier.

Project description

Encrypting command-line client for [Amazon Glacier][].

This command-line client lets you store files and directories in Amazon Glacier. All data is encrypted using GnuPG before being uploaded and no original filenames will be visible remotely.

Requirements

  • AWS credentials with write access to Glacier

  • GnuPG public/private keypair

  • Python 3.5 or higher

Setup

AWS credentials

Configure AWS credentials as described in the [Boto documentation][]. The credentials should have write access to the Glacier vaults you plan to use. See the [example IAM policy](docs/iam-policy.example.json) for recommended permissions.

GnuPG keypair

Create a keypair for icebox and make a note of the ID. Retrieval operations can take a long time, so you should make sure the keypair stays accessible, i.e. no password prompts blocking the operation.

Install icebox

Install icebox using pip (or [pipsi][]):

pip3 install icebox

Usage

Create a new box

Create the box mybox for a Glacier vault called myvault like this:

icebox init mybox 0xMYKEYID glacier myvault

If your AWS credentials are not in the default profile, use the –profile option:

icebox init mybox 0xMYKEYID glacier myvault –profile icebox

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

Standard retrievals can take a long time. To perform an [Expedited][pricing] retrieval, use the Tier option:

icebox get mybox grumpy.jpg -d ~/Desktop -o Tier=Expedited

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 with the current backend inventory:

icebox refresh mybox

Refresh operations are tracked by icebox, so you can interrupt a refresh and continue it later.

[Amazon Glacier]: https://aws.amazon.com/glacier/ [Boto documentation]: https://boto3.readthedocs.io/en/latest/guide/quickstart.html#configuration [pipsi]: https://github.com/mitsuhiko/pipsi [pricing]: https://aws.amazon.com/glacier/pricing/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

icebox-0.3.2.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

icebox-0.3.2-py3-none-any.whl (26.1 kB view details)

Uploaded Python 3

File details

Details for the file icebox-0.3.2.tar.gz.

File metadata

  • Download URL: icebox-0.3.2.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for icebox-0.3.2.tar.gz
Algorithm Hash digest
SHA256 5e688d183f7b2f91c76df4fed6760f2c7c9c4e7ae7978ff1048161c8425396c7
MD5 b227255afcfa4f16ef3793717d2cadac
BLAKE2b-256 fd6356ef9546d3f76d2513772223c55c1cf3950f6742db77d288e0a022648907

See more details on using hashes here.

File details

Details for the file icebox-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: icebox-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 26.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for icebox-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7db7c62c8c8a2abb1e27328a59366500601690eb9c1c0dbc48fd015bb809fa61
MD5 9f27312f05f1eee972413f55e62348c8
BLAKE2b-256 95e30e4a9a7034a0158bd88a317e46eb07efc09af74dfbbeb585ef22dd002e3e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page