aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authormurilo ijanc2026-03-25 17:19:16 -0300
committermurilo ijanc2026-03-25 17:19:16 -0300
commit4c1597e0f28c2bea193818a8d84ff2073ea5c08f (patch)
treec4662912aa0b59013f10692c385c5a096ef85812 /README.md
parent290f53c38cdacd502eb6dda52f2ad207063e3973 (diff)
downloadtesseras-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.md66
1 files changed, 64 insertions, 2 deletions
diff --git a/README.md b/README.md
index 26182a0..4daffce 100644
--- a/README.md
+++ b/README.md
@@ -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).