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/binand 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/downfrom 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.