I'm fucking tired of the bloated Mullvad Electron GUI shitting itself on my Void musl setup.
I'm also tired of manually fucking around with `wg-quick` in the terminal and scripting my own killswitch for every distro I hop to (OpenRC, runit, whatever), especially since I nuke and reinstall the whole system every few months just to keep shit interesting.
So I'm diving into **Zig** to build **mullguard** (name still up for debate) — an open-source, unbloated WireGuard TUI specifically for Mullvad users who want to own the tunnel without the maintenance nightmare.
Core goals (no compromises, no corpo slop):
- Single static musl binary — drop it in `/usr/local/bin` and it runs on Void, Alpine, Arch minimal, Debian minimal, anywhere sane
- Zero extra dependencies beyond `wireguard-tools` + `nftables` (stuff that's already there)
- `mullguard up whatever-wg` / `down` from CLI, plus a clean TUI for browsing/switching configs, status, and one-key killswitch toggle
- Strict nftables killswitch that drops *everything* except the WireGuard tunnel (no more "oops leaked on reconnect" bullshit)
- No daemon, no background crap, no telemetry, no systemd requirement
**The dream:** one tiny tool that survives distro-hopping and reinstall sprees. Terminal-first with a proper TUI so you don't have to remember commands or maintain separate scripts.
If this sounds like something you'd actually use on your minimal setups, hit me with feedback:
- Would you run it?
- What would make it dangerous? (auto-fetch configs from account number? split tunneling? quick server list? runit/OpenRC templates?)
- Name ideas better than "mullguard"?
Planning to open-source it on git once it's not embarrassing. Especially want input from other Void/musl/WireGuard minimalists.