0.1.0 • Published 2 months ago

encrypt-myrepo v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

encrypt-myrepo

Keep secret files in github repository could be safe as long as it is encrypted. crypt-in-repo is a helper for developer who need to save secret files with their code in a safe way.

Install

$ npm i encrypt-myrepo --save-dev

Usage

Create config file encrypt-myrepo.json in project root folder.

Here is an example:

{
    "files": [
        "README.md",
        "key.cert",
        "cert/password.json"
    ],
    "ext": ".crypt"
}

Add script in package.json

{
    "scripts": {
        "encrypt": "encrypt-myrepo encrypt",
        "decrypt": "encrypt-myrepo decrypt"
    }
}

Run the script:

# encrypt
CIR_PASS=mypassword npm run encrypt

# decrypt
CIR_PASS=mypassword npm run decrypt

Example using command line

Encrypt files:

npm run encrypt -- --pass mypassword --file secret.cert ios.p12

npm run encrypt -- --config ./encrypt-myrepo.json

Decrypt files:

npm run decrypt -- --pass mypassword --file secret.cert ios.p12

npm run decrypt -- --config ./encrypt-myrepo.json

Example using environment variables

Encrypt files:

CIR_CONFIG=./encrypt-myrepo.json npm run encrypt

CIR_PASS=mypassword npm run encrypt -- --file secret.cert ios.p12

Decrypt files:

CIR_CONFIG=./encrypt-myrepo.json npm run decrypt

CIR_PASS=mypassword npm run decrypt -- --file secret.cert ios.p12

Documents

Options can set in config file, command line or environment variables:

Config fileCommand line optionsEnv variableExplain
pass--pass, -pCIR_PASS=passphasePassphrase for enrypt/decrypt file.
files--file file1 file2...1CIR_FILES=file1;file2...2Array of origin files.
ext--extCIR_EXT=.cryptExtension of encrypted files. Default value: .aes256
limit--limitCIR_SIZELIMIT=1048576Limit size of origin file. Default value: 1048576 (1MB)

Notes: 1. Assign file list in command line follow the yargs array(key) standards:

- `--file file1 --file file2` will be parsed as `['file1','file2']`
- `--file file1 file2` will also be parsed as `['file1','file2]`
  1. Assign file list in env variable, the filename should seperated by ;.

encrypt-myrepo can assign config file other than default encrypt-myrepo.json. With command line options --config config_file

crypt-in-repo --config config_file to get config file. System environment variable CIR_CONFIG has the same functionality.