Releases: atomozero/Sotoportego
Releases · atomozero/Sotoportego
Sotoportego 0.1.0 — first end-to-end working release
Native VPN client for Haiku with a privilege-separated background daemon and a Haiku-native GUI / CLI driving it over BMessage.
Features
- End-to-end OpenVPN — spawns the openvpn binary, talks to its management socket from a dedicated reader thread, parses every state / bytecount / log event, handles credentials, signals shutdown cleanly
- Haiku-specific glue — brings
tun/0up before openvpn starts (the Haiku port can't allocate the TUN device dynamically), installs the right routes ourselves ontun/0so traffic actually flows through the tunnel (the Haiku openvpn port hardcodes the physical interface in every route command), removes the routes and deletes thetun/0interface on Disconnect - Profile management — import any
.ovpnfile via BFilePanel; the daemon parsesremote,proto,port,auth-user-passand persists the list at~/config/settings/Sotoportego/profiles - Credentials remember (optional) — Haiku keystore (
BKeyStore/BPasswordKey) with a Connection → Forget saved password menu item and automatic clearing onAUTH_FAILED, so a stale credential can't loop - Mose-inspired GUI — slate header banner with the HVIF brand tile and a state-coloured status dot, tabbed Connection / Statistics layout, About dialog with the same brand identity, live event log
- Desktop notifications —
BNotificationtoasts on Connect / Disconnect / Error, with a background HTTP geo-lookup (through the tunnel) that updates the toast and the GUI's status bar with the apparent country
Requirements
- Haiku R1/beta5 or newer on x86_64
pkgman install openvpn- The kernel
tunneladd-on (ships with Haiku at/system/add-ons/kernel/network/devices/tunnel)
Install
Extract the zip, copy the three binaries somewhere on your PATH (e.g. ~/config/non-packaged/bin/), launch Sotoportego. The GUI registers the daemon via be_roster on first launch; you don't need to start sotoportego_server by hand. See README.txt in the archive for the details.
Known limitations
- IPv4 only (IPv6 routing fix-up is on the roadmap)
- No Deskbar replicant yet
- No reconnect UI with a countdown (openvpn handles internal reconnects, but the GUI doesn't surface a timer)