1.0.0 • Published 6 months ago
env-guardian v1.0.0
env-guardian
A simple CLI tool to encrypt and decrypt .env
files securely using AES-256-CBC encryption. Protect sensitive information in your .env
files by encrypting them with a password, and decrypt them when needed.
Features
- Encrypt multiple
.env
files - Decrypt multiple encrypted files
- Secure encryption using AES-256-CBC
- Password-based encryption and decryption
- IV (Initialization Vector) securely embedded in the encrypted file
Installation
You can use env-guardian
directly via npx
, so there is no need to install it globally.
Commands
1. Encrypt Files
Encrypt one or more .env
files using a password.
npx env-guardian encrypt -f <file-paths> -p <password> -o <output-dir>
Options:
-f, --files <paths...>
: Paths to the.env
files you want to encrypt. You can specify multiple files-p, --password <password>
: Password used for encryption-o, --output <dir>
: Directory where the encrypted files will be saved
Example:
npx env-guardian encrypt -f .env .env.local -p mypassword -o encrypted
2. Decrypt Files
Decrypt one or more encrypted files using the same password.
npx env-guardian decrypt -f <file-paths> -p <password> -o <output-dir>
Options:
-f, --files <paths...>
: Paths to the encrypted files you want to decrypt. You can specify multiple files-p, --password <password>
: Password used for decryption-o, --output <dir>
: Directory where the decrypted files will be saved
Example:
npx env-guardian decrypt -f encrypted/.env.enc -p mypassword -o decrypted
3. Help
Display available options and commands:
npx env-guardian --help
How It Works
Encryption Process
- Uses AES-256-CBC encryption algorithm for secure file encryption
- Generates a random Initialization Vector (IV) for each encryption
- Ensures different output even when encrypting the same file multiple times with the same password
- Embeds the IV at the beginning of the encrypted file for seamless decryption
Decryption Process
- Requires the same password used during encryption
- Automatically extracts the IV from the encrypted file
- Uses the IV and password to decrypt the file
- Restores the original
.env
content
Example Workflow
- Encrypt your
.env
file:
npx env-guardian encrypt -f .env -p secretpassword -o encrypted
Check the
encrypted/
directory:- The encrypted file will be available as
encrypted/.env.enc
- The encrypted file will be available as
Decrypt when needed:
npx env-guardian decrypt -f encrypted/.env.enc -p secretpassword -o decrypted
The decrypted .env
file will be saved in the decrypted/
directory.
Development
To contribute or run the tool locally:
git clone https://github.com/Benup211/env-guardian.git
cd env-guardian
npm install
License
MIT License
1.0.0
6 months ago