{"repo":"NHAS/wag","free":true,"listed":false,"github":"https://github.com/NHAS/wag","clone":"git clone https://github.com/NHAS/wag.git","description":"Simple Wireguard 2FA","language":"Go","stars":725,"topics":["2fa","mfa","wireguard","wireguard-admin","firewall","vpn","management-portal","ui","network","linux"],"license":"BSD-3-Clause","category":"networking-infra","readme_excerpt":"Wag Wag adds MFA, route restriction and device enrolment to wireguard. Key Features: - Define routes which require MFA authorisation, or public always accessible routes - Easy API for registering new clients - High Availability - Real time user updates and notifications - Multiple MFA integrations - Security Key - SSO - PAM - TOTP Documentation Administration User UI Sponsorship This work was very kindly supported by: Requirements Forwarding must be enabled in sysctl . Setup instructions Docker Compose Please find the docker compose here, you will need to define a configuration file in /cfg : Manual iptables and libpam must be installed. Wag must be run as root, to manage iptables and the wireguard device. Binary release (requires glibc 2.31+): From source (will require go1.23.1 , npm ): Management UI After you have set up wag and enabled the administrative user interface, it will create the first admin for you, the password will be output to STDOUT. Then you can log in and manage users there. CLI The root user is able to manage the wag server with the following command: Supported commands: start , version , firewall , registration , devices , users , webadmin start : starts the wag server registration : Deals with creating, deleting and listing the registration tokens devices : Manages devices users : Manages users MFA and can delete all users devices webadmin : Manages the administrative users for the web UI Administration guide Manual installation of Wag 1. Copy wag , conf","default_branch":null,"files":null,"tree":[],"storefront":"/r/NHAS","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/NHAS/wag/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}