WireGuard installer is a bash script that automates the setup of a WireGuard VPN server on Linux.
The script solves the problem of configuring WireGuard manually by providing an interactive installation process that handles the entire server setup. It installs the WireGuard kernel module and tools, configures the VPN with NAT so client traffic appears to originate from the server's IP address, creates a systemd service for automatic startup, and generates client configuration files. The tool supports both IPv4 and IPv6 networking.
The script targets anyone deploying a VPN server on a supported Linux distribution, including AlmaLinux, Alpine Linux, Arch Linux, CentOS Stream, Debian, Fedora, Oracle Linux, Rocky Linux, and Ubuntu. It suits straightforward VPN server deployments where WireGuard's point-to-point model fits the use case. For environments where WireGuard does not meet requirements, the README names OpenVPN as an alternative. The script can be run multiple times to add or remove VPN clients without reconfiguring the server.
The project uses automated linting with shellcheck and shfmt to enforce bash styling guidelines on each commit and pull request. The maintainer requests that contributors open issues before submitting pull requests for significant changes.