Skip to content

butlergroup/env_encryption_tool

crates.io docs.rs CodeQL Rust CI/Unit Tests Dependabot Updates miri rust-clippy analyze Security audit OSV-Scanner Snyk Security-Monitored dependency status OpenSSF Best Practices Scorecard supply-chain security Microsoft Defender For Devops Coverage Status Feature Requests Bugs

env_encryption_tool ©️ Project Goals & Info

Purpose: the goal for this project is to encrypt .env files for a given Rust application and store them in an encrypted state, then decrypt them at runtime using an OS-based environment variable and pass them to the application. This requires any potential/illicit attacker to breach the operating system's security and access its environment variables before any application-level environment variables can be compromised.

Now uses PQ (Post-Quantum) cryptographic algorithms 💅

Disclaimer: this project is stable and can be used in production environments, but SLA-based support won't be offered until we're at v1.0 and/or sponsored. :bowtie:

Installation Instructions

  1. Install Rust 🌎
  2. Clone/fork the env_encryption_tool repo ⚡
  3. Set an OS-level environment variable named "DECRYPTION_KEY" ( 🌎 for Linux, 🌍 for Windows, 🌏 for MacOS) to your desired 32-byte/character value 🔒
  4. Run "cargo build --release" - this outputs a binary in the target/release folder ✨
  5. Run the binary in the same folder as your .env file - this outputs a env.enc file 🎊
  6. Integrate the included decrypt_config.rs file and its crates into your Rust project ⭐
  7. Copy the env.enc file to the same folder your Rust binary runs in and voila! You have encrypted environment variables provided to your application at runtime. 🎉

Contributing

We welcome contributions from the community! A simple guide to get started:

  1. Fork the repository to your Github account (a.k.a create a branch).
  2. Clone your forked repo/branch to your favorite IDE (VS Code is our editor of choice) and make changes (or use the command-line: git checkout -b feature/your-feature).
  3. Thoroughly test and debug your changes, then commit and push them to your forked repo/branch.
  4. Open a pull request to have your changes reviewed and reintegrated into the main branch.

Contributors are strongly encouraged to read our CONTRIBUTING.md file before opening a pull request.

License

env_encryption_tool is licensed under the AGPL-3.0 license, making it free to use, modify, and distribute as long as the source code remains open-source. Using a modified version of this software without disclosing its source code is not in compliance with the AGPL-3.0 license.

Acknowledgments

Special thanks to contributors, open-source enthusiasts, and supporters of env_encryption_tool's vision.

Terms of Service

Please read our Terms of Service before using our software. Violators of these Terms are not supported by the community or contributors.

Privacy Policy

Please also read our Privacy Policy to understand how we handle your personal information.

Contact

Have questions or suggestions? Reach out to us at dev@butlergroup.net. Thank you and happy coding! :)

Star History

Star History Chart

About

Rust-based .env (dotenv) file encryption & decryption tool - store & retrieve your app environment variables safely 😎 now Post-Quantum-safe!

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors

Languages