Giter Site home page Giter Site logo

trader6363 / wireguard-install Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hwdsl2/wireguard-install

0.0 0.0 0.0 188 KB

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

License: MIT License

Shell 100.00%

wireguard-install's Introduction

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 and IPsec VPN server auto setup scripts.

» 📖 Book: Build Your Own VPN Server: A Step by Step Guide

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.

Advanced: Auto install using custom options.

Advanced users can auto install WireGuard using custom options, by providing a Bash "here document" as input to the setup script. This method can also be used to provide input to manage users after install.

First, install WireGuard interactively using custom options, and write down all your inputs to the script.

sudo bash wireguard.sh

If you need to remove WireGuard, run the script again and select the appropriate option.

Next, create the custom install command using your inputs. Example:

sudo bash wireguard.sh <<ANSWERS
51820
client
2
y
ANSWERS

Note: The install options may change in future versions of the script.

* 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

📖 Book: Set Up Your Own IPsec VPN, OpenVPN and WireGuard Server

Enjoy your very own VPN! ✨🎉🚀✨

Like this project? ❤️ Sponsor or ☕ Support and access extra content.

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

wireguard-install's People

Contributors

hwdsl2 avatar nyr avatar irn-kawakaze avatar trantuanminh1754 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.