Skip to content

Releases: atomozero/Sotoportego

Sotoportego 0.1.0 — first end-to-end working release

25 Jun 19:34

Choose a tag to compare

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/0 up before openvpn starts (the Haiku port can't allocate the TUN device dynamically), installs the right routes ourselves on tun/0 so traffic actually flows through the tunnel (the Haiku openvpn port hardcodes the physical interface in every route command), removes the routes and deletes the tun/0 interface on Disconnect
  • Profile management — import any .ovpn file via BFilePanel; the daemon parses remote, proto, port, auth-user-pass and 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 on AUTH_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 notificationsBNotification toasts 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 tunnel add-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)