aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/envshare/README.md
diff options
context:
space:
mode:
author简律纯 <hsiangnianian@outlook.com>2023-04-18 03:02:17 +0800
committer简律纯 <hsiangnianian@outlook.com>2023-04-18 03:02:17 +0800
commit4919f028c884a041da7ff098abb02389b4eac598 (patch)
treeb0f482568c4b8c8a680ce6e2e70a7b7ca87dc190 /envshare/README.md
parentb135aac8531c1e1488147ad8c6f98eddbdbe0c99 (diff)
downloadHydroRoll-4919f028c884a041da7ff098abb02389b4eac598.tar.gz
HydroRoll-4919f028c884a041da7ff098abb02389b4eac598.zip
✨add envshare docs
Diffstat (limited to 'envshare/README.md')
-rw-r--r--envshare/README.md139
1 files changed, 139 insertions, 0 deletions
diff --git a/envshare/README.md b/envshare/README.md
new file mode 100644
index 0000000..f890f9d
--- /dev/null
+++ b/envshare/README.md
@@ -0,0 +1,139 @@
+<div align="center">
+ <h1 align="center">EnvShare</h1>
+ <h5>Share Environment Variables Securely</h5>
+</div>
+
+<div align="center">
+ <a href="https://envshare.dev">envshare.dev</a>
+</div>
+<br/>
+
+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.
+
+## Features
+
+- **Shareable Links:** Share your environment variables securely by sending a
+ link
+- **End-to-End Encryption:** AES-GCM encryption is used to encrypt your data
+ before sending it to the server
+- **Limit number of reads:** Limit the number of times a link can be read
+- **Auto Expire:** Automatically expire links and delete data after a certain
+ time
+
+<br/>
+
+![](img/envshare.png)
+
+## Built with
+
+- [Next.js](https://nextjs.org)
+- [tailwindcss](https://tailwindcss.com)
+- Deployed on [Vercel](https://vercel.com?utm_source=envshare)
+- Data stored on [Upstash](https://upstash.com?utm_source=envshare)
+
+## Deploy your own
+
+Detailed instructions can be found [here](https://envshare.dev/deploy)
+
+All you need is a Redis database on Upstash and a Vercel account. Click the
+button below to clone and deploy:
+
+[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?demo-title=EnvShare&demo-description=Simple%20Next.js%20%2B%20Upstash%20app%20to%20share%20environment%20variables%20securely%20using%20AES-GCM%20encryption.&demo-url=https%3A%2F%2Fenvshare.dev%2F&demo-image=%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5SaFBHXp5FBFJbsTzVqIJ3%2Ff0f8382369b7642fd8103debb9025c11%2Fenvshare.png&project-name=EnvShare&repository-name=envshare&repository-url=https%3A%2F%2Fgithub.com%2Fchronark%2Fenvshare&from=templates&integration-ids=oac_V3R1GIpkoJorr6fqyiwdhl17)
+
+
+## Sponsors
+
+<table>
+<tr>
+<td>
+ <img width="1000" height="0">
+ <a href="https://upstash.com/?utm_source=envshare" >
+ <img src="https://raw.githubusercontent.com/upstash/sponsorship/master/redis.png" alt="Upstash" width="260" align="right">
+ </a>
+<h3>Upstash: Serverless Database for Redis</h3>
+
+<ul>
+ <li>Serverless Redis with global replication and durable storage</li>
+ <li>Price scales to zero with per request pricing</li>
+ <li>Built-in REST API designed for serverless and edge functions</li>
+ </ul>
+
+[Start for free in 30 seconds!](https://upstash.com/?utm_source=envshare)
+
+</td>
+</tr>
+</table>
+
+## Configuration
+
+### Environment Variables
+
+`ENABLE_VERCEL_ANALYTICS` Any truthy value will enable Vercel Analytics. This is turned off by default
+
+## Contributing
+
+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
+
+Docs in the README are temporary and will be moved to the website soon.
+
+### API
+
+#### Store a secret
+
+**PLEASE NEVER EVER UPLOAD UNENCRYPTED SECRETS.**
+
+This endpoint is only meant to store **already encrypted** secrets. The
+encrypted secrets are stored in plain text.
+
+```sh-session
+$ 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.
+
+```sh-session
+$ curl -XPOST -s https://envshare.dev/api/v1/secret -d "already-encrypted-secret" -H "envshare-ttl: 3600" -H "envshare-reads: 10"
+```
+
+- Omitting the `envshare-ttl` header will set a default of 30 days. Disable the
+ ttl by setting it to 0. (`envshare-ttl: 0`)
+- Omitting the `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:
+
+```json
+{
+ "data": {
+ "id": "HdPbXgpvUvNk43oxSdK97u",
+ "ttl": 86400,
+ "reads": 2,
+ "expiresAt": "2023-01-19T20:47:28.383Z",
+ "url": "http://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u"
+ }
+}
+```
+
+#### Retrieve a secret
+
+You need an id to retrieve a secret. The id is returned when you store a secret.
+
+```sh-session
+$ curl -s https://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u
+```
+
+```json
+{
+ "data": {
+ "secret": "Hello",
+ "remainingReads": 1
+ }
+}
+```