diff options
| author | murilo ijanc | 2026-03-25 17:19:16 -0300 |
|---|---|---|
| committer | murilo ijanc | 2026-03-25 17:19:16 -0300 |
| commit | 4c1597e0f28c2bea193818a8d84ff2073ea5c08f (patch) | |
| tree | c4662912aa0b59013f10692c385c5a096ef85812 /README.md | |
| parent | 290f53c38cdacd502eb6dda52f2ad207063e3973 (diff) | |
| download | tesseras-paste-4c1597e0f28c2bea193818a8d84ff2073ea5c08f.tar.gz | |
Update README, bump tesseras-dht to 0.1.1, add project docs
- Rewrite README with features, usage, and links
- Bump tesseras-dht dependency from 0.1.0 to 0.1.1
- Add CODE_OF_CONDUCT.md and SECURITY.md
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 66 |
1 files changed, 64 insertions, 2 deletions
@@ -1,5 +1,67 @@ -# tesseras-paste +# Tesseras-Paste + +A decentralized pastebin built on [tesseras-dht](https://crates.io/crates/tesseras-dht). Pastes are encrypted client-side, distributed across the DHT, and served over HTTP. + +## Features + +- End-to-end encrypted pastes (XChaCha20-Poly1305) +- Decentralized storage via Kademlia DHT +- NAT traversal (hole-punching and proxy relay) +- HTTP serving with content-key URLs +- TTL-based expiry and pinning +- Public (unencrypted) paste mode +- OpenBSD `pledge(2)` sandboxing + +## Binaries + +**tpd** — daemon that runs a DHT node, stores pastes, and serves HTTP. + +``` +usage: tpd [-p port] [-d dir] [-s sock] [-w http_port] [-g] [-n] [-b host:port] + + -p port UDP port (0 = random) + -d dir data directory + -s sock Unix socket path + -w port HTTP server port + -g global NAT (public server) + -n no auto-bootstrap (skip DNS SRV) + -b host:port bootstrap peer (repeatable) +``` + +**tp** — CLI client that talks to the daemon over a Unix socket. + +``` +usage: tp [-s sock] <command> [args] + + put [-t ttl] [-p] read stdin, store paste (-p = public, no encryption) + get <key> retrieve paste to stdout + del <key> delete paste + pin <key> pin (never expires) + unpin <key> unpin + status show daemon status +``` + +## Quick start + +```sh +# Start the daemon +tpd -p 4433 -w 9999 -d /var/tesseras-paste + +# Store a paste +echo "hello" | tp put +# => Ey2rNiNukhNpqUouaSnnZwTtCgeCgMx2FrCuMr3whBxx + +# Retrieve it +tp get Ey2rNiNukhNpqUouaSnnZwTtCgeCgMx2FrCuMr3whBxx +``` + +## Links + +- [Website](https://tesseras.net) +- [Source code](https://got.tesseras.net/?action=summary&path=tesseras-paste.git) (primary) +- [Source hut mirror](https://git.sr.ht/~ijanc/tesseras-paste) +- [GitHub mirror](https://github.com/ijanc/tesseras-paste) ## License -ISC +ISC — see [LICENSE](LICENSE). |