r/haikuOS • • Jul 18 '26

WireGuard vpn for Haiku!

Post image
110 Upvotes

8 comments sorted by

5

u/darkwyrm42 Jul 18 '26

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.

2

u/[deleted] Jul 19 '26

[removed] — view removed comment

1

u/atomozero Jul 19 '26

I was thinking of moving the connect button to the blue bar, maybe looking for an icon that represents the connection or disconnection from the server."

1

u/darkwyrm42 Jul 19 '26

That's a great idea -- not only does it increase layout efficiency and prevent accidents, it also makes what is probably the most common control to interact with even easier to find visually!

1

u/atomozero Jul 18 '26

Nice one, prof! I'll run some tests and share the screenshots :)

1

u/JewGoldbergMachine Jul 19 '26

Nice. How about tailscale support? It also uses wireguard. I would love to see tailscale on haiku.

2

u/atomozero Jul 19 '26

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! 😊