From dd42a7524d343b04da9624672bb3e0dc9fb64271 Mon Sep 17 00:00:00 2001 From: Sandro CURY CAZZANIGA Date: Sat, 28 Feb 2026 21:12:39 +0100 Subject: [PATCH] docs: update README --- README.md | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 70d5c48..4e0ad5f 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,50 @@ # spasteg -A secure, self-hostable "burn after reading" paste service written in gleam \ No newline at end of file +A secure, self-hostable "burn after reading" paste service with ephemeral storage written in [Gleam](https://gleam.run). + +## Features + +- **Ephemeral pastes** — Content is deleted immediately after first view +- **No persistence** — All data stored in-memory only (restarts clear everything) +- **No accounts** — Zero-friction sharing without registration +- **Self-hosted** — Run your own instance with full control +- **Fast & lightweight** — Built on the BEAM VM for reliability and performance +- **Type-safe** — Written in Gleam, a type-safe functional language + +## Quick Start + +```bash +# Clone and build +git clone https://git.kharec.info/Kharec/spasteg.git +cd spasteg +gleam run +``` + +The server starts on `http://localhost:3000`. + +## Usage + +1. Visit `http://localhost:3000` +2. Enter your text in the form +3. Click "Create Paste" +4. Share the generated URL +5. The paste auto-destructs after first access + +## Architecture + +- **Web framework**: Wisp (Gleam's web framework) +- **HTTP server**: Mist (HTTP/1.1 & HTTP/2) +- **HTML rendering**: Lustre (type-safe, declarative HTML generation) +- **Storage**: In-memory OTP actor (no disk persistence) +- **Key generation**: Cryptographically random 16-character keys + +## Security Notes + +- Pastes are stored **unencrypted** in server memory +- Data is **never written to disk** +- All data is lost on server restart +- Intended for ephemeral sharing only — do not store sensitive data + +## License + +This project is licensed under the GNU General Public License v3.0 or later (GPLv3+). See the [LICENSE](LICENSE) file for details.