git-remote-crypt is a git remote helper, that is used to encrypt/decrypt git repository.
requires:
bash version >= 4.0 is required
linux:
wget https://raw.github.com/xnil/git-remote-crypt/master/git-remote-crypt -O /usr/local/bin/git-remote-crypt
chmod +x /usr/local/bin/git-remote-crypt
windows (assume MinGW installed):
curl https://raw.github.com/xnil/git-remote-crypt/master/git-remote-crypt -O ~/bin/git-remote-crypt
chmod +x ~/bin/git-remote-crypt
- echo "your secret key" > ~/.git-crypt-key
- cd /path/to/exist/local/repository
- git remote add backup crypt::https://github.com/your-account/your-secret-repository.git
- git push backup master
By default git-remote-crypt uses aes to encrypt/decrypt data:
_default_encryptor() {
openssl enc -aes-256-cbc -pass pass:$GIT_CRYPT_KEY
}
_default_decryptor() {
openssl enc -aes-256-cbc -d -pass pass:$GIT_CRYPT_KEY
}
You can choose another, like:
cat << EOF > ~/my-git-crypt-encryptor
#!/bin/bash
openssl enc -des-cfb -pass pass:mysecret
EOF
chmod +x ~/my-git-crypt-encryptor
cat << EOF > ~/my-git-crypt-decryptor
#!/bin/bash
openssl enc -des-cfb -d -pass pass:mysecret
EOF
chmod +x ~/my-git-crypt-decryptor
export GIT_CRYPT_ENCRYPTOR=~/my-git-crypt-encryptor
export GIT_CRYPT_DECRYPTOR=~/my-git-crypt-decryptor
name | desc |
---|---|
GIT_CRYPT_KEY | secret key |
GIT_CRYPT_KEY_FILE | secret key file |
GIT_CRYPT_ENCRYPTOR | encrypt program |
GIT_CRYPT_DECRYPTOR | decrypt program |
Copyright (c) 2018 git-remote-crypt author (bpskdc@gmail.com). See LICENSE for details.