Repository navigation
Releases: Aryagorjipour/surface
Release list
v0.1.1 — The Quiet Relay
v0.1.1 — Time to docker
A small patch after the first whisper.
The connector image now lands on GHCR so you don’t have to build it yourself just to introduce two peers. Same rules as before: it still only makes the introduction, then leaves. Redis still wants a password. The admission proof still stays off the wire.
Nothing dramatic. Just the path a little easier to walk.
docker pull ghcr.io/aryagorjipour/surface-connector:v0.1.1v0.1.0 — The First Whisper
v0.1.0 — “We finally let the peers talk without us listening”
After many rounds of “does the handshake actually work?” and “why is Redis yelling at localhost?”, Surface is ready for its first public outing.
What’s in the box
- A Connector that introduces two Surfaces and then politely leaves the room.
- Direct, authenticated, end-to-end encrypted WebSocket chat (the Connector never sees the messages, and now it doesn’t even see the admission proof).
- Bubbletea TUI with panes, toasts, mouse support, and the ability to juggle multiple chats without dropping the inactive ones.
- Optional encrypted offline mailbox for when your friend is AFK.
- Redis cache that actually requires a password and stores secrets encrypted.
- Optional TLS for the Connector and
wssfor the direct path (cleartext still available for the “I’m just testing on localhost” crowd). - Punch/NAT fallback so you aren’t stuck forever on the same LAN.
- Full CI, SLSA-attested release binaries, and a
justrecipe that mostly does what it says.
Known limitations
- Still a terminal app. Your mouse will be confused. Your friends will ask “why not Discord?”
- The ratchet is a simple chain. Don’t treat it like Signal’s double ratchet just yet.
- Local cleartext mode exists. Don’t point it at the public internet and then act surprised.
Binaries, SHA256SUMS, and the SLSA provenance attestation are attached.
Verify before you run anything a stranger on the internet gave you.
sha256sum -c SHA256SUMS
gh attestation verify surface_v0.1.0_linux_amd64 --repo Aryagorjipour/surfaceHave fun. Don’t be weird. And if the punch fails, the error message now actually says “traversal failed” instead of silently dying. Progress.