Encrypting File Archiver
Project description
icepack - Encrypting File Archiver
icepack combines age encryption, SSH signatures and ZIP files to create encrypted and verifiable archives. Except for the number of files and their approximate size, no metadata is visible.
Installation
Requirements:
- Python 3.8
- age 1.0
- OpenSSH 8.0
Install with pip
or pipx:
$ pip install icepack
If pigz
or pbzip2
are installed, they will be used for faster compression.
Basic Usage
Initialize the keys
$ icepack init
Enter passphrase (empty for no passphrase): *****
Enter same passphrase again: *****
The keys have been initialized in /home/username/.config/icepack
Make sure to protect and backup this directory!
Create an archive
$ icepack create $HOME/Documents/ $HOME/my-documents.zip
Documents/Cat Pictures
Documents/Cat Pictures/awww.jpg
Documents/Cat Pictures/grumpy.jpg
Documents/Cat Pictures/socute.jpg
Documents/world-domination.txt
Enter passphrase: *****
Option | Description |
---|---|
--comment |
Archive comment. |
--compression , -c |
Compression type: bz2 , gz or none (Default: gz ) |
--mode |
Store file/directory modes. |
--mtime |
Store file/directory modification times. |
--recipient , -r |
Allow another public key/alias to extract. |
Extract an archive
$ icepack extract $HOME/my-documents.zip $HOME/
Enter passphrase for "/home/username/.config/icepack/identity": *****
Documents/Cat Pictures
Documents/Cat Pictures/awww.jpg
Documents/Cat Pictures/grumpy.jpg
Documents/Cat Pictures/socute.jpg
Documents/world-domination.txt
Option | Description |
---|---|
--mode |
Restore file/directory modes. |
--mtime |
Restore file/directory modification times. |
Check the version and dependencies
$ icepack version --dependencies
icepack 1.0.0
✅ age found. (Version: v1.0.0)
✅ age-keygen found.
✅ ssh found. (Version: OpenSSH_8.2p1)
✅ ssh-keygen found.
Option | Description |
---|---|
--dependencies , -d |
Check the dependencies. |
Signer Management
To extract archives created by other parties, their public keys need to be
added to the list of allowed signers. The signer
command supports this.
List allowed signers
$ icepack signer list
ssh-ed25519 AAAAC3NzaC... (Your Key)
ssh-ed25519 AAAAC3NzaC... (Bob)
Add an allowed signer
$ icepack signer add "ssh-ed25519 AAAAC3NzaC..." --alias Alice
$ icepack signer list
ssh-ed25519 AAAAC3NzaC... (Your Key)
ssh-ed25519 AAAAC3NzaC... (Bob)
ssh-ed25519 AAAAC3NzaC... (Alice)
Option | Description |
---|---|
--alias , -a |
Key alias. |
Remove an allowed signer
$ icepack signer remove Bob
$ icepack signer list
ssh-ed25519 AAAAC3NzaC... (Your Key)
ssh-ed25519 AAAAC3NzaC... (Alice)
When removing a key, you can specify the key or its alias.
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
icepack-1.1.0.tar.gz
(28.1 kB
view details)
Built Distribution
icepack-1.1.0-py3-none-any.whl
(25.0 kB
view details)
File details
Details for the file icepack-1.1.0.tar.gz
.
File metadata
- Download URL: icepack-1.1.0.tar.gz
- Upload date:
- Size: 28.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 | 2c877821135f5d33389f78c84a24bb392867276fa0eb6b319d0ac23162620a5a |
|
MD5 | 7480158e9920299bf063048859bab917 |
|
BLAKE2b-256 | 6a5927f9f4da0e480456f8ef05723fc009396cc9b24bb7e04d5500e4e26dbb44 |
File details
Details for the file icepack-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: icepack-1.1.0-py3-none-any.whl
- Upload date:
- Size: 25.0 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 | 6901921fdb71da8c9600a2afe048bd1354b3f01c6cfe1d92af29883138554b39 |
|
MD5 | 90933013a2c071af86a9aa02cc122e17 |
|
BLAKE2b-256 | 8ac1ef3db59d408458268aee03890d978a626ba5ca1e9d6ece5253f43df6803d |