Python Shell
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs updating changelog. Mar 8, 2018
jak updated changelog Mar 7, 2018
tests fix leakage with a monkeypatch. Mar 29, 2017
.gitignore clean up classifiers for pypi Dec 30, 2016
.travis.yml
LICENSE switch License to apache 2.0. Dec 12, 2016
LICENSE.txt
README.md
Vagrantfile
requirements_dev.txt
setup.py
ship.sh
tox.ini

README.md

jak

jak package on pypi travis-ci supported python versions

jak can encrypt and decrypt files. The standard example is of a .env file with secrets in it inside of a git repository. By sharing a key through some other means all developers can encrypt and decrypt the file, so that it is encrypted whenever it enters git history.

For a more thorough introduction you should read the documentation..

jak currently works for *nix type systems such as macOS or ubuntu. We are working on windows compatibility.

IMPORTANT!! JAK IS NOT READY FOR PRODUCTION USE YET!!

Installation

pip install jak

Quickstart

cd ~/folderThatMayOrMayNotBeARepo
jak start
nano jakfile # add which files you want to have be encrypted.
jak encrypt all
jak decrypt all

One off

# Create a 64 character (32 byte) hex digit (0-f) key.
jak keygen

# Encrypt/Decrypt a specific file
jak encrypt <file> --key <key from keygen command>
jak decrypt <file> --key <key from keygen command>

# If you put the generated key in a file
jak encrypt <file> --keyfile <key file location>
etc.

Usage

# Initialize jak (If using in git repository, make sure your cwd is the repos root)
jak start

# List the files you want to encrypt on a regular basis.
nano jakfile

# Encrypt/Decrypt all of the files that are specified as
# "files_to_encrypt" in your jakfile.
jak encrypt all
jak decrypt all

# Don't need to pass key (--key) because it defaults to keyfile designated
# in the jakfile
jak encrypt <specific file>
jak decrypt <specific file>

# Generate a strong key. An encryption is only as strong as the key.
# ALWAYS use a strong 32 character key.
jak keygen

# Where action is one of encrypt/decrypt
# Overrides the key the jakfile may be pointing to.
jak <action> -k faca44c66af094f18e3e69eaf2328e557a618ca0e3d560a5f83c6f43a172b542

# Overrides the key in the jakfile with a key from a file
jak <action> -kf <keyfile>

# We highly recommend you read the jak --help man texts.
jak --help

# It works for specific commands as well
jak keygen --help

Authors

jak is stewarded by Dispel but all of the contributors are the authors.

License (Apache-2.0)

see LICENSE file.