Simple Next.js + Upstash app to share environment variables securely using AES-CBC encryption.
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 the
ttl by setting it to 0. (envshare-ttl: 0
)envshare-reads
header will simply disable it and allow reading
for an unlimited number of times.This endpoint returns a JSON response with the secret id:
Retrieve a secret
{"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}}
Simple Next.js + Upstash app to share environment variables securely using AES-CBC encryption.
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 the
ttl by setting it to 0. (envshare-ttl: 0
)envshare-reads
header will simply disable it and allow reading
for an unlimited number of times.This endpoint returns a JSON response with the secret id:
Retrieve a secret
{"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}}