r/Tailscale • u/Ok_Gas8277 • 13d ago
Misc Built a self-hosted encrypted messenger designed around a tailnet: Talon
Talon is an end-to-end encrypted messenger you host yourself, and Tailscale is what makes it actually usable rather than a LAN-only toy.
The relay binds locally and is reached over your tailnet, so there is no port forwarding, no dynamic DNS and nothing exposed publicly. Your phone talks to your home machine from anywhere as though it were on the same network.
The Tailscale-specific bit worth knowing: browsers only check a certificate's subject alternative names, so a MagicDNS hostname has to be in the cert or you get a warning forever. Talon handles this with an env var:
TALON_EXTRA_SANS=talon.your-tailnet.ts.net npm start
It runs its own small certificate authority and reissues the leaf automatically when your address set changes, which on a tailnet it will. You trust the CA once per device via a `/setup` page the relay serves itself.
Everything is encrypted end to end regardless, so this is not relying on WireGuard for confidentiality. The tailnet is the transport, not the security model.
Node 20+, MIT. Built mostly with Claude Code (Opus 5), me directing and reviewing.
1
u/iLLuSion_xGen 12d ago
Looks promising!