waste-go
Highlights
- True peer-to-peer: WebRTC DataChannels, server sees presence only โ never content, IPs, or network names
- Three client modes: Go daemon, browser-only (libsodium-WASM), and native desktop app (Wails)
- Ed25519 identity with DTLS fingerprint binding โ provably connected to the right person, not just the right server
- Forward-secret signaling (YAW/2.1): ephemeral X25519 per session, graceful fallback to 2.0
- File transfer with SHA-256 integrity and mid-transfer resume
- Cryptographically signed invite chains and invite-only network enforcement
A modern reimagination of WASTE โ the 2003 encrypted P2P tool that got briefly famous, got pulled, and then quietly faded.
Same idea: small trusted groups, encrypted, no company in the middle. New foundations: Go, WebRTC, Ed25519, and a formally specified wire protocol (YAW/2).
The signaling server (the anchor) helps peers find each other but never carries their data. All traffic flows directly between peers over WebRTC DataChannels โ DTLS-encrypted, peer-to-peer, with the anchor dropping out of the picture once the connection is established.
Runs three ways: as a Go daemon, entirely in the browser via libsodium compiled to WebAssembly, or as a self-contained desktop app. All three speak the same IPC protocol, so the frontend code is identical across modes.