A Webmin module to manage WireGuard VPN clients via the Webmin UI.
It allows you to:
- Generate client keys (Private/Public, optional Pre-Shared-Key).
- Append new peer blocks to your server config (with automatic backup).
- Create client config files (
.conf) under/etc/wireguard/clients/. - Optionally generate QR codes (
.png) for mobile import. - Restart the WireGuard interface (
wg-quick@iface) after changes (optional).
Supports both:
- Minimal-UI version (v1.x): robust, no
ui_*usage (safe fallback if Webmin themes cause trouble). - Themed version (v2.x): full Webmin
ui_*API with Authentic Theme integration.
- Download the latest release from Releases.
- In Webmin, go to
Webmin Configuration → Webmin Modules → From uploaded file. - Upload the
.tar.gzor.wbm.gzfile and click Install. - The module appears under
System → WireGuard Clients.
- Webmin ≥ 2.x (tested with Authentic Theme).
- Debian 12 (Bookworm) or similar Linux.
- Installed packages: apt install wireguard-tools apt install qrencode
Client configs are written to /etc/wireguard/clients/ with 0600 permissions.
Backups of your server config are created as wg0.conf.bak-YYYYmmdd-HHMMSS.
The module runs as root via Webmin, so only trusted admins should have access.
This project is licensed under the MIT License