Devlog · September 2026
We picked WebRTC for peer-to-peer port sharing at 3:05 in the morning. By 9:41 we had switched to a relay
The plan was no server of ours. WebRTC between the two Macs, introductions over public Nostr relays, public STUN. We decided on it at 3:05.
At 3:24 the research came back. Four desk reviews, every claim labeled documented, reported or inferred:
- Direct connections with STUN only would work for an estimated 75 to 88% of people (inferred). The rest are on networks that block UDP, like offices and guest Wi-Fi, which is where people open a shared link.
- Public Nostr relays are turning this traffic away. strfry, which runs the largest ones, ships a plugin to reject relayed WebRTC signaling (documented).
- We found no browser P2P product that runs without its own relay and publishes its success rate.
So at 9:41 we went relay first. Both Macs connect outward to a small relay over a secure WebSocket on port 443, which works on every network. The session is Noise IK end to end, so the relay forwards bytes it can't read. It stores nothing: one small program with no database, which we plan to package so anyone can run their own. A direct path can come later behind the same seam, the way Tailscale starts on its relays.
It was carrying traffic between two of our machines by 17:36.
03:05 WebRTC is the transport 03:24 research: gotchas in WebRTC, Nostr and port mapping 09:41 relay-first architecture spec 13:25 the relay and Noise IK, deployed 17:36 live: two instances through relay1.port42.ai
What this is and isn't
- The percentages are the research's estimates, not measurements of ours.
- Peer to peer works for most connections. The relay is the path that works for everyone.
- Running your own relay is planned. There is no package yet.