2022-10-10 05:22:08 +02:00
[English ](README.md ) | [中文 ](README-zh.md ) | [Vídeo en Español ](https://www.youtube.com/watch?v=99qtaJU2E2k )
2022-05-22 05:10:28 +02:00
2022-05-26 05:56:33 +02:00
# WireGuard VPN Server Auto Setup Script
2022-05-20 15:36:48 +02:00
2022-10-05 01:07:17 +02:00
[![Build Status ](https://github.com/hwdsl2/wireguard-install/actions/workflows/main.yml/badge.svg )](https://github.com/hwdsl2/wireguard-install/actions/workflows/main.yml) [![License: MIT](docs/images/license.svg)](https://opensource.org/licenses/MIT)
2022-05-22 03:17:02 +02:00
WireGuard VPN server installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS and Fedora.
2020-04-30 20:26:38 +02:00
2022-05-28 22:19:10 +02:00
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 ](https://www.wireguard.com ) is a fast and modern VPN designed with the goals of ease of use and high performance.
2020-04-30 20:26:38 +02:00
2022-10-11 08:32:08 +02:00
< details >
< summary >
See the script in action (terminal recording).
< / summary >
**Note:** This recording is for demo purposes only. VPN credentials in this recording are **NOT** valid.
< p align = "center" > < img src = "docs/images/demo1.svg" > < / p >
< / details >
2022-05-26 05:56:33 +02:00
[**» See also: OpenVPN Server Auto Setup Script** ](https://github.com/hwdsl2/openvpn-install )
## Installation
2020-04-30 20:26:38 +02:00
2022-10-01 22:36:59 +02:00
Run the script on your Linux server\* and follow the prompts.
2022-10-10 05:22:08 +02:00
First, download the script:
2022-10-01 22:36:59 +02:00
```bash
2022-10-03 06:17:30 +02:00
wget -O wireguard.sh https://get.vpnsetup.net/wg
2022-10-10 05:22:08 +02:00
```
**Option 1:** Auto install WireGuard using default options.
```bash
2022-10-01 22:36:59 +02:00
sudo bash wireguard.sh --auto
```
2022-10-03 06:17:30 +02:00
< details >
< summary >
List of default options.
< / summary >
```
Port: UDP/51820
Client name: client
Client DNS: Google Public DNS
```
< / details >
For servers with an external firewall (e.g. [EC2 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html )/[GCE](https://cloud.google.com/vpc/docs/firewalls)), open UDP port 51820 for the VPN.
2022-10-01 22:36:59 +02:00
**Option 2:** Interactive install using custom options.
2022-05-20 15:36:48 +02:00
```bash
sudo bash wireguard.sh
```
2022-05-28 22:19:10 +02:00
< details >
< summary >
2022-10-10 05:22:08 +02:00
Click here if you are unable to download.
2022-05-28 22:19:10 +02:00
< / summary >
2022-06-03 15:29:35 +02:00
You may also use `curl` to download:
2022-05-28 22:19:10 +02:00
```bash
2022-10-03 06:17:30 +02:00
curl -fL -o wireguard.sh https://get.vpnsetup.net/wg
2022-05-28 22:19:10 +02:00
```
2022-10-10 05:22:08 +02:00
Then follow the instructions above to install.
2022-09-20 05:54:10 +02:00
Alternative setup URLs:
2022-06-03 15:29:35 +02:00
```bash
https://github.com/hwdsl2/wireguard-install/raw/master/wireguard-install.sh
2022-09-20 05:54:10 +02:00
https://gitlab.com/hwdsl2/wireguard-install/-/raw/master/wireguard-install.sh
2022-06-03 15:29:35 +02:00
```
2022-05-28 22:19:10 +02:00
If you are unable to download, open [wireguard-install.sh ](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.
< / details >
2022-06-02 16:09:51 +02:00
\* A cloud server, virtual private server (VPS) or dedicated server.
## Next steps
2022-05-22 03:17:02 +02:00
After setup, you can run the script again to manage users or uninstall WireGuard.
2022-05-20 15:36:48 +02:00
2022-10-03 06:17:30 +02:00
Get your computer or device to use the VPN. Please refer to:
**[Configure WireGuard VPN Clients](docs/clients.md)**
2022-05-22 05:46:20 +02:00
2022-06-02 16:09:51 +02:00
Enjoy your very own VPN! :sparkles::tada::rocket::sparkles:
2020-04-30 20:26:38 +02:00
2022-07-14 05:07:44 +02:00
< details >
< summary >
Like this project? You can show your support or appreciation.
< / summary >
2022-09-23 07:14:35 +02:00
< a href = "https://ko-fi.com/hwdsl2" target = "_blank" > < img height = "36" width = "187" src = "docs/images/kofi2.png" border = "0" alt = "Buy Me a Coffee at ko-fi.com" / > < / a > < a href = "https://coindrop.to/hwdsl2" target = "_blank" > < img src = "docs/images/embed-button.png" height = "36" width = "145" border = "0" alt = "Coindrop.to me" / > < / a >
Supporter-only content is available. [Click to see details ](https://ko-fi.com/hwdsl2 ).
2022-07-14 05:07:44 +02:00
< / details >
2022-05-26 05:56:33 +02:00
## Credits
2020-04-30 20:26:38 +02:00
2022-05-24 15:39:32 +02:00
This script is based on the great work of [Nyr and contributors ](https://github.com/Nyr/wireguard-install ), with enhancements and changes for compatibility with the [Setup IPsec VPN ](https://github.com/hwdsl2/setup-ipsec-vpn ) project.
2020-04-30 20:26:38 +02:00
2022-09-20 05:54:10 +02:00
< details >
< summary >
List of enhancements over Nyr/wireguard-install.
< / summary >
- Improved compatibility with Setup IPsec VPN
- Improved script reliability, user input and output
2022-10-01 22:36:59 +02:00
- Supports auto install using default options
2022-09-26 05:53:24 +02:00
- Supports listing existing VPN clients
2022-09-20 07:11:10 +02:00
- Supports custom DNS server(s) for VPN clients
2022-09-20 05:54:10 +02:00
- Optimized `sysctl` settings for improved VPN performance
- Improved creation of client config files when using `sudo`
...and more!
< / details >
2022-05-26 05:56:33 +02:00
## License
2020-04-30 20:26:38 +02:00
2022-05-20 15:36:48 +02:00
MIT