Skip to content

A tool for creating encrypted tar archives for transferring sensitive data.

License

Notifications You must be signed in to change notification settings

mailgun/sneakercopy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sneakercopy

A tool for creating encrypted archives for handling sensitive content.

Sneakercopy stands on the shoulders of giants such as tar, sodiumoxide / libsodium, and libflate to pack, compress, and encrypt sensitive files into a light container called a "tarbox".

We use the system defined in RFC2289 to generate short, memorable, easily writable passwords. libsodium's scryptsalsa208sha256 is used to derive a hash to encrypt the compressed data stream with.

Usage

Seal a file/directory

# Creates `directory.tarbox` in the current directory
λ sneakercopy seal /path/to/directory
⢀⠀ Packing...
secret: FOWL-BON-MEMO-ROSY-HORN

# Creates `configs.tarbox` in `/var/backups`
λ sneakercopy seal -o /var/backups/configs.tarbox /etc
⢀⠀ Packing...
secret: ROAD-SHIN-TAKE-OLDY-YANK

Unseal a tarbox

# Unseals the contents of `directory.tarbox` into current directory
λ sneakercopy unseal ./directory.tarbox FOWL-BON-MEMO-ROSY-HORN

# Unseals the contents of `configs.tarbox` into `/etc`
λ sneakercopy unseal -C /etc/ /var/backups/configs.tarbox ROAD-SHIN-TAKE-OLDY-YANK

Compiling

  • Use ./ci/libsodium-build.sh to prepare a static libsodium installation
  • Set up build flags with ./ci/libsodium-env.sh
  • cargo build
  • Done!