Skip to content

WireGuard installer

A bash script that sets up a WireGuard VPN server on a Linux machine with minimal questions.angristan/wireguard-install

Stars
11.4k
Forks
1.7k
Licence
MIT
Language
Shell
Last update
6 months ago
Type
Dev tool

What it is

This is a bash script that installs and configures a WireGuard VPN on a Linux server you control. A VPN server like this sends your internet traffic through an encrypted tunnel, so websites see the server's IP address instead of yours. The script asks a few questions, sets up the software and a systemd service, and creates a client configuration file; you can rerun it later to add or remove clients.

  • Route all traffic from a laptop or phone through a VPN server you run
  • Add or remove client devices by rerunning the script
  • Enable IPv4 and IPv6 support on the VPN server

Great for

  • People who want their own personal VPN on a rented Linux server
  • Users who want a WireGuard setup without writing the configuration by hand
  • Anyone comfortable running a shell script as root on a server they manage

Not ideal for

  • People who need a VPN on a system the script does not support, since the README lists specific distributions only
  • Users who prefer a graphical app for managing VPNs, because this is a command-line script
  • Those who cannot use a Linux server, since the script targets Linux only
Step-by-step guide: how to use WireGuard installerInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    See the README

    You'll need: A Linux server with root access · A supported Linux distribution (see README list)

    Download the script

    curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh

    Make it executable

    chmod +x wireguard-install.sh

    Run the installer

    ./wireguard-install.sh
  2. 2

    Run it

    • Download the script to your server with the curl command
    • Make the script executable with chmod
    • Run the script and answer its questions
    • Use the generated client configuration file on your device
  3. 3

    Get the most out of it

    • Rerun the script to add or remove clients without reinstalling
    • Check the repository issues and discussions for help and planned features
    • Read the linked blog post on the homepage for a fuller setup walkthrough
    • Consider the openvpn-install project if WireGuard does not fit your environment

Downloads

Strengths

  • Automates a WireGuard install that would otherwise be done by hand
  • Supports both IPv4 and IPv6 according to the README
  • Licensed under MIT and open to inspection since it is a single readable script

Trade-offs

  • Runs as a shell script that changes system configuration, so you should review it before running it
  • The README lists supported distributions but gives no detailed guarantees beyond that list
  • The README does not explain security hardening or ongoing maintenance responsibilities

How it compares

ProjectStarsTypeLevelUpdatedBest for
wireguard-install (this)11.4kDev toolintermediate6 months agoPeople who want their own personal VPN on a rented Linux server
openvpn-install20.7kDev toolintermediate2 months agoPeople who want their own VPN server on a Linux machine they control
openvpn-install16.2kDev toolintermediate1 months agoPeople who want their own VPN server on a Linux VPS or home machine
hackingtool81.6kDev toolintermediate6 days agoPenetration testers who want a single launcher for many common tools
chezmoi22.1kDev toolintermediate4 days agoPeople who use more than one computer and want their settings to match
wasmer21.2kDev toolintermediate4 days agoDevelopers who want to run untrusted or third-party code with explicit access controls

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.