Share Environnment Variables Securely
MIT License
EnvShare is a simple tool to share environment variables securely. It uses AES-GCM to encrypt your data before sending it to the server. The encryption key never leaves your browser.
Detailed instructions can be found here
All you need is a Redis database on Upstash and a Vercel account. Click the button below to clone and deploy:
ENABLE_VERCEL_ANALYTICS
Any truthy value will enable Vercel Analytics. This is turned off by default
This repository uses pnpm
to manage dependencies. Install it using
npm install -g pnpm
Please run pnpm fmt
before committing to format the code.
Docs in the README are temporary and will be moved to the website soon.
PLEASE NEVER EVER UPLOAD UNENCRYPTED SECRETS.
This endpoint is only meant to store already encrypted secrets. The encrypted secrets are stored in plain text.
$ curl -XPOST -s https://envshare.dev/api/v1/secret -d "already-encrypted-secret"
You can add optional headers to configure the ttl and number of reads.
$ curl -XPOST -s https://envshare.dev/api/v1/secret -d "already-encrypted-secret" -H "envshare-ttl: 3600" -H "envshare-reads: 10"
envshare-ttl
header will set a default of 30 days. Disable theenvshare-ttl: 0
)envshare-reads
header will simply disable it and allow readingThis endpoint returns a JSON response with the secret id:
{
"data": {
"id": "HdPbXgpvUvNk43oxSdK97u",
"ttl": 86400,
"reads": 2,
"expiresAt": "2023-01-19T20:47:28.383Z",
"url": "http://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u"
}
}
You need an id to retrieve a secret. The id is returned when you store a secret.
$ curl -s https://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u
{
"data": {
"secret": "Hello",
"remainingReads": 1
}
}