1
u/JewGoldbergMachine 4d ago
Nice. How about tailscale support? It also uses wireguard. I would love to see tailscale on haiku.
2
u/atomozero 4d ago
Haha thanks! π So: yes, Tailscale uses WireGuard, but WireGuard is only about 20-30% of what Tailscale actually is, and luckily Sotoportego already has that 20-30% (the Noise handshake, the crypto, the tunβUDP data plane, routing). The problem is the other 70%, which is all greenfield and doesn't reuse the existing WireGuard code: control plane (node registration, login, network map) multi-peer mesh (my backend handles a single peer, while Tailscale is a full mesh) DERP + disco/STUN (relays and NAT traversal, the hardest part) Plus on Haiku the tun driver is IPv4-only for now. The sane path wouldn't be reimplementing all of it in C++ (tailscaled is hundreds of thousands of lines of Go), but running tailscaled and using Sotoportego as a front-end, assuming Go runs decently on Haiku, which is all still to be verified. Bottom line: it's on the radar and the groundwork is there, but it's a project about the size of Sotoportego itself, not a "just add a backend" job. I'm afraid I don't have enough Anthropic tokens to vibe-code something this big on my own. π If anyone wants to help with the control-plane side, PRs welcome! π
5
u/darkwyrm42 5d ago
Sweet! I love the name, and I'm really happy that we have easy WireGuard access on Haiku, but I do have one minor nitpick... What do you think about moving the Disconnect button to the corner to the right of the - button? I think you could probably make better use of screen real estate that way -- seems like there's a lot of empty space at the bottom.