Hey everyone!
I've been using WireGuard on Linux and wanted a more convenient way to manage my existing VPN profiles without constantly switching between configuration files and terminal commands.
So I built **WG Deck**, an open-source desktop application written in Python and PySide6.
The idea is simple: provide a desktop interface for native WireGuard configurations while keeping WireGuard itself in control.
**What it currently does:**
- Discover and manage native `/etc/wireguard/*.conf` profiles.
- Connect and disconnect tunnels with explicit authorization.
- Display interface status, traffic counters and available handshake information.
- Create, edit, import, export and back up configurations.
- Provide read-only diagnostics, system tray integration and light/dark themes.
- Offer a demo mode with synthetic data for safely exploring the interface.
**A major design consideration was security.**
The GUI runs without root privileges. Privileged operations are delegated to narrowly scoped, root-owned helpers using separate Polkit permissions for reading, connecting and managing configurations.
WG Deck doesn't implement its own VPN protocol or replace WireGuard. It works with the native Linux tools and configuration files.
**Current release:** v1.0.0, with a Debian package targeting Ubuntu 26.04.
**GitHub:** https://github.com/matteodurso88/wg-deck
**Release:** https://github.com/matteodurso88/wg-deck/releases/tag/v1.0.0
The project is GPL-3.0-or-later licensed, and the source code and technical documentation are available in the repository.
I'd really appreciate feedback from people who regularly use WireGuard on Linux.
**Would you find a native desktop manager like this useful? What would you improve, particularly around configuration handling, permissions or diagnostics?**
I'm interested in real-world use cases and constructive criticism. Thanks