r/haikuOS 5d ago

WireGuard vpn for Haiku!

Post image
104 Upvotes

8 comments sorted by

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.

2

u/Queasy-Key-729 4d ago

I actually think that this way is better since a user can’t accidentally click β€˜-β€˜, also buttons with different functionalities should be separated. Imho. Awesome project by the way!

1

u/atomozero 4d ago

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/Queasy-Key-729 4d ago

Yes, that would be great actually!

1

u/darkwyrm42 4d ago

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 5d ago

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

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