A decentralized pastebin built on tesseras-dht. Pastes are encrypted client-side with XChaCha20-Poly1305, distributed across the DHT, and served over HTTP. No central server stores your data.
pledge(2) and unveil(2) sandboxingtpd — daemon that runs a DHT node, stores pastes, and serves HTTP.
usage: tpd [-g] [-n] [-p port] [-d dir] [-s sock] [-w http_port] [-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) -v verbose (debug logging)
tp — CLI client that talks to the daemon over a Unix socket.
usage: tp [-s sock] [-v] <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
# Start the daemon $ tpd -p 4433 -w 9999 -d /var/tesseras-paste # Store a paste $ echo "hello" | tp put -p Ey2rNiNukhNpqUouaSnnZwTtCgeCgMx2FrCuMr3whBxx # Retrieve it $ tp get Ey2rNiNukhNpqUouaSnnZwTtCgeCgMx2FrCuMr3whBxx
A public HTTP gateway is available at http://p.tesseras.net/<key>. For example:
http://p.tesseras.net/Ey2rNiNukhNpqUouaSnnZwTtCgeCgMx2FrCuMr3whBxx
Note: there may be a short delay when retrieving recently created pastes, as content needs time to propagate across DHT nodes.
Current version: 0.1.3
Source tarballs and signatures are available at tesseras.net/pub/tesseras-paste/.
$ signify -Vp tesseras.pub -m tesseras-paste-0.1.3.tar.gz -x tesseras-paste-0.1.3.tar.gz.sig Signature Verified
$ sha256 tesseras-paste-0.1.3.tar.gz $ cat tesseras-paste-0.1.3.tar.gz.sha256
Compare the two outputs. They must match.
$ cargo install tesseras-paste
ISC — see LICENSE.