# vpn-stack A set of bash scripts for installing and managing a WireGuard VPN server. ## Requirements A minimal Debian 12 server install with no extra services or packages installed. Requires base-stack which will configure a basic server set up including firewald & fail2ban to secure the server: https://git.stack-source.com/msb/base-stack ## Install ```bash cd /usr/local/src/ git clone https://git.stack-source.com/msb/vpn-stack.git cd vpn-stack bash install.sh ``` ## Configure Clients Download and install client software from [wireguard.com](https://www.wireguard.com/install/). Add a client configuration to the server, display a qr code that can be scanned by a client, and email a zipped copy of the config. ```bash wg-client-add.sh -c wg-client-qr-display.sh -c wg-client-zip-email.sh -c -e ``` For example, to add a client config for a user named joe, display the qr code on the console screen, and then email a zipped copy of the config run: ```bash wg-client-add.sh -c joe wg-client-qr-display.sh -c joe wg-client-zip-email.sh -c joe -e joe@example.com ``` ## License Copyright (c) 2024 Matthew Saunders Brown \ GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)