security
Hiding IPs from my own relay is harder than it sounds2026-08I wanted my relay to never see IPs. I ended up changing the sentence instead.
Membership without a server2026-08A group of devices with nobody in charge of who's in it, and the three ways that went wrong.
Messages from the future2026-07My sync protocol keeps messages it can't read yet, so anyone could fill a device's inbox with junk labelled version 99.
Noise protocol its not concurrent2026-07Two goroutines, one cipher state, and a non concurrent safe library.
Wire protocol framing (and why it prevents attacks)2025-12How to tell where one message ends and the next begins, and why getting it wrong opens you up to buffer overflows and DoS attacks.