wireguard-install
WireGuard VPN installer for Linux servers
A single shell script that installs and configures a WireGuard VPN server on Linux by answering a few questions, routing all client traffic through an encrypted tunnel to your server.
This project is a shell script that installs WireGuard VPN on a Linux server with as little friction as possible. WireGuard is a type of VPN that routes all of a client device's internet traffic through an encrypted tunnel to the server. Once connected, the client's web requests appear to come from the server's IP address rather than the client's own, which is useful for privacy or for accessing services tied to a specific location.
The setup process is intentionally simple: you download the script, run it, and answer a few questions. The script handles everything else, including installing the necessary WireGuard components, configuring the server, setting up a background service so the VPN starts automatically, and generating a configuration file for the client device. You can run the script again at any time to add new clients or remove existing ones.
The script works on a wide range of Linux distributions, including Ubuntu, Debian, Fedora, Arch Linux, AlmaLinux, Rocky Linux, Alpine Linux, CentOS Stream, Oracle Linux, and others. It supports both IPv4 and IPv6 networks.
The project is open source under the MIT license. Contributions are welcome, and the repository uses automated checks to enforce shell scripting best practices on every change. If WireGuard does not suit your needs, the same author maintains a similar installer for OpenVPN.
Where it fits
- Set up a personal WireGuard VPN server on a cloud VM in under 10 minutes with no manual config editing.
- Add or remove client devices by re-running the script, it handles all config file changes automatically.
- Route all internet traffic from a laptop through a private server to mask your real IP address.