WireGuard VPN server installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS, Fedora, openSUSE and Raspberry Pi OS
Go to file
2022-10-25 00:21:31 -05:00
.github Add templates 2022-10-17 22:47:09 -05:00
docs Update docs 2022-10-16 16:08:38 -05:00
LICENSE.txt Update license 2022-05-20 00:16:15 -05:00
README-zh.md Update docs 2022-10-25 00:21:31 -05:00
README.md Update docs 2022-10-25 00:21:31 -05:00
wireguard-install.sh Cleanup 2022-10-09 16:17:37 -05:00

English | 中文 | Vídeo en Español

WireGuard VPN Server Auto Setup Script

Build Status  License: MIT

WireGuard VPN server installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS and Fedora.

This script will let you set up your own VPN server in just a few minutes, even if you haven't used WireGuard before. WireGuard is a fast and modern VPN designed with the goals of ease of use and high performance.

» See also: OpenVPN Server Auto Setup Script

Features

  • Fully automated WireGuard VPN server setup, no user input needed
  • Supports interactive install using custom options
  • Generates VPN profiles to auto-configure Windows, macOS, iOS and Android devices
  • Supports managing WireGuard VPN users
  • Optimizes sysctl settings for improved VPN performance

Installation

First, download the script on your Linux server*:

wget -O wireguard.sh https://get.vpnsetup.net/wg

Option 1: Auto install WireGuard using default options.

sudo bash wireguard.sh --auto
See the script in action (terminal recording).

Note: This recording is for demo purposes only.

For servers with an external firewall (e.g. EC2/GCE), open UDP port 51820 for the VPN.

Option 2: Interactive install using custom options.

sudo bash wireguard.sh
Click here if you are unable to download.

You may also use curl to download:

curl -fL -o wireguard.sh https://get.vpnsetup.net/wg

Then follow the instructions above to install.

Alternative setup URLs:

https://github.com/hwdsl2/wireguard-install/raw/master/wireguard-install.sh
https://gitlab.com/hwdsl2/wireguard-install/-/raw/master/wireguard-install.sh

If you are unable to download, open wireguard-install.sh, then click the Raw button on the right. Press Ctrl/Cmd+A to select all, Ctrl/Cmd+C to copy, then paste into your favorite editor.

* A cloud server, virtual private server (VPS) or dedicated server.

Next steps

After setup, you can run the script again to manage users or uninstall WireGuard.

Get your computer or device to use the VPN. Please refer to:

Configure WireGuard VPN Clients

Download PDF versions of VPN docs (supporters)

Enjoy your very own VPN! 🎉🚀

Like this project? You can show your support or appreciation.

Buy Me a Coffee at ko-fi.com   Coindrop.to me

Supporter-only content is available. Click to see details.

Credits

This script is based on the great work of Nyr and contributors, with enhancements and changes for compatibility with the Setup IPsec VPN project.

List of enhancements over Nyr/wireguard-install.
  • Improved compatibility with Setup IPsec VPN
  • Improved script reliability, user input and output
  • Supports auto install using default options
  • Supports listing existing VPN clients
  • Supports custom DNS server(s) for VPN clients
  • Optimizes sysctl settings for improved VPN performance
  • Improved creation of client config files when using sudo

...and more!

License

MIT