1.0.0 • Published 6 months ago

env-guardian v1.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
6 months ago

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

  1. Encrypt your .env file:
npx env-guardian encrypt -f .env -p secretpassword -o encrypted
  1. Check the encrypted/ directory:

    • The encrypted file will be available as encrypted/.env.enc
  2. 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