A set of bash scripts for installing and managing a WireGuard VPN server.
Go to file
Matthew Saunders Brown c5df21b0f3 rework scripts to work with wg.sh, add fail2ban 2023-03-13 13:13:13 -07:00
COPYING include GPL 3 COPYING file 2022-07-14 12:35:44 -07:00
README.md reference 22.04, add reboot step 2022-07-14 16:09:14 -07:00
install.sh rework scripts to work with wg.sh, add fail2ban 2023-03-13 13:13:13 -07:00
wg-client-add.sh rework scripts to work with wg.sh, add fail2ban 2023-03-13 13:13:13 -07:00
wg-client-create-zip.sh rework scripts to work with wg.sh, add fail2ban 2023-03-13 13:13:13 -07:00
wg-client-del.sh rework scripts to work with wg.sh, add fail2ban 2023-03-13 13:13:13 -07:00
wg-client-disable.sh rework scripts to work with wg.sh, add fail2ban 2023-03-13 13:13:13 -07:00
wg-client-enable.sh rework scripts to work with wg.sh, add fail2ban 2023-03-13 13:13:13 -07:00
wg-client-list.sh rework scripts to work with wg.sh, add fail2ban 2023-03-13 13:13:13 -07:00
wg-client-qr-create-png.sh rework scripts to work with wg.sh, add fail2ban 2023-03-13 13:13:13 -07:00
wg-client-qr-display.sh rework scripts to work with wg.sh, add fail2ban 2023-03-13 13:13:13 -07:00
wg-cron.sh rework scripts to work with wg.sh, add fail2ban 2023-03-13 13:13:13 -07:00
wg-peer-audit.sh rework scripts to work with wg.sh, add fail2ban 2023-03-13 13:13:13 -07:00
wg.sh rework scripts to work with wg.sh, add fail2ban 2023-03-13 13:13:13 -07:00

README.md

vpn-stack

A set of bash scripts for installing and managing a WireGuard VPN server.

Download & Install

Start with basic Ubuntu 22.04 install with no extra services or packages installed.

cd /usr/local/src/
wget https://git.stack-source.com/msb/vpn-stack/archive/master.tar.gz
tar zxvf master.tar.gz
cd vpn-stack
bash install.sh
reboot

Configure Clients

Download and install client software from wireguard.com.

Add a client configuration to the server and display a qr code that can be scanned by a client.

wg-client-add.sh username [device]
wg-client-qr-display.sh username [device]

If the device option is left off then a "default" device will be added for that client/username.
For example, to add a client config for a user named joe and display the qr code on the console screen run:

wg-client-add.sh joe
wg-client-qr-display.sh joe

Todo

Complete documentation that describes in detail the configuration of the WireGuard server coming next. In the meantime review the comments in wg-install.sh to see details.

License

Copyright (c) 2022 Matthew Saunders Brown matthewsaundersbrown@gmail.com
GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)