Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Can I encrypt the values in the .env file for MTProxy


Can I encrypt the values in the .env file for MTProxy


Yes, you can encrypt the values in the `.env` file for MTProxy. There are a couple of methods to achieve this:

Using Dotenvx for Encryption

1. Install dotenvx: This tool allows you to encrypt your `.env` file. You can install it via npm or use it in your project.

2. Add Public Key: In your `.env` file, include a public key for encryption:


   DOTENV_PUBLIC_KEY="your_public_key_here"
   

3. Encrypt Values: Prefix each value you want to encrypt with `encrypted:` followed by the encrypted string. For example:


   SECRET="encrypted:your_encrypted_value_here"
   

4. Encrypting the File: You can use the command:

bash
   dotenvx encrypt
   

This will generate an encrypted version of your `.env` file, ensuring that sensitive values are stored securely[1].

Using dotenvenc

1. Install dotenvenc: This command-line tool can encrypt and decrypt your `.env` file.

2. Encrypt the File: Run the following command to encrypt your `.env` file:

bash
   <PROJECT_PATH>/node_modules/.bin/dotenvenc -e myPassword
   

You can specify custom paths for the input and output files if needed.

3. Set the Decryption Key: Save your decryption key as an environment variable in your shell configuration:

bash
   export DOTENVENC_KEY='myPassword'
   

4. Decrypt at Runtime: To access the encrypted values, you will need to decrypt the `.env.enc` file at runtime using the same key[2].

These methods enhance security by ensuring that sensitive information in your `.env` file is not stored in plain text, making it more difficult for unauthorized users to access your secrets.

Citations:
[1] https://dotenvx.com/docs/env-file
[2] https://github.com/tkalfigo/dotenvenc
[3] https://github.com/mrgswift/laravel-encryptenv
[4] https://www.youtube.com/watch?v=DIVQdzgWEiY
[5] https://git.esin.io/github/across/commit/11440fab176db73640c4ea3b87cb0b6a9390314f?style=unified&whitespace=ignore-all
[6] https://dev.to/wiseai/comment/21mfg
[7] https://discuss.python.org/t/why-are-env-files-considered-secure-if-they-are-plain-text-files/50452
[8] https://github.com/Dofamin/MTProxy-Docker