Installation

Windows [7, 8, 8.1, 10, 2012, 2016, 2019]

WireGuard for Windows is available from this site:

Download for 64-bit
Download for 32-bit

macOS [app store]

Download from App Store

Ubuntu ≥ 19.10 [module & tools]

$ sudo apt install wireguard

Ubuntu ≤ 19.04 [module & tools]

$ sudo add-apt-repository ppa:wireguard/wireguard
$ sudo apt-get update
$ sudo apt-get install wireguard

Android [play store & f-droid]

Download from Play Store
Download from F-Droid

iOS [app store]

Download from App Store

Debian [module & tools]

# echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable.list
# printf 'Package: *\nPin: release a=unstable\nPin-Priority: 90\n' > /etc/apt/preferences.d/limit-unstable
# apt update
# apt install wireguard

Fedora ≥ 32 [tools]

$ sudo dnf install wireguard-tools

Fedora ≤ 31 [module & tools]

$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools

Mageia [module & tools]

$ sudo urpmi wireguard-tools

Arch [module & tools]

$ sudo pacman -S wireguard-tools wireguard-arch

Instead of wireguard-arch, one may choose wireguard-lts or wireguard-dkms+linux-headers, depending on which kernel is used.

OpenSUSE [module & tools]

$ sudo zypper addrepo -f obs://network:vpn:wireguard wireguard
$ sudo zypper install wireguard-kmp-default wireguard-tools

Slackware [module & tools]

$ for i in wireguard-linux-compat wireguard-tools; do wget https://slackbuilds.org/slackbuilds/14.2/network/$i.tar.gz && tar -xzf $i.tar.gz && cd $i && OUTPUT=$(pwd) ./$i.SlackBuild && sudo upgradepkg --install-new ./$i*.tgz && cd ..; done

Alpine [module & tools]

# apk add -U wireguard-tools

Gentoo [module & tools]

# emerge wireguard-tools wireguard-modules

Exherbo [module & tools]

# cave resolve -x wireguard

NixOS [module & tools]

boot.extraModulePackages = [ config.boot.kernelPackages.wireguard ];
environment.systemPackages = [ pkgs.wireguard pkgs.wireguard-tools ];

Nix on Darwin [userspace go & tools]

$ nix-env -iA nixpkgs.wireguard-tools

OpenWRT [module & tools]

# opkg install wireguard

Further installation and configuration instructions may be found on the wiki.

Red Hat Enterprise Linux 8 [module & tools]

$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
$ sudo subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms
$ sudo yum copr enable jdoss/wireguard
$ sudo yum install wireguard-dkms wireguard-tools

CentOS 8 [module & tools]

$ sudo yum install epel-release
$ sudo yum config-manager --set-enabled PowerTools
$ sudo yum copr enable jdoss/wireguard
$ sudo yum install wireguard-dkms wireguard-tools

Red Hat Enterprise Linux 7 / CentOS 7 [module & tools]

$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ sudo curl -o /etc/yum.repos.d/jdoss-wireguard-epel-7.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
$ sudo yum install wireguard-dkms wireguard-tools

FreeBSD [userspace go & tools]

# pkg install wireguard

OpenBSD [userspace go & tools]

# pkg_add wireguard-go wireguard-tools

Termux [tools]

# pkg install wireguard-tools

Void [module & tools]

# xbps-install -S wireguard-tools wireguard-dkms

Adélie Linux [module & tools]

# apk add wireguard-tools wireguard-module

Source Mage [module & tools]

# cast wireguard-tools wireguard-modules

Buildroot [module & tools]

BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_WIREGUARD_TOOLS=y

LinuxKit [module]

kernel:
  linuxkit/kernel:...
image:
  linuxkit/ip:...

AstLinux [module & tools]

BR2_PACKAGE_WIREGUARD_TOOLS=y
BR2_PACKAGE_WIREGUARD=y

Milis [module & tools]

# mps kur wireguard-tools wireguard-linux-compat

macOS Homebrew and MacPorts – Basic CLI [homebrew userspace go & homebrew tools] & [macports userspace go & macports tools]

$ brew install wireguard-tools

or

$ port install wireguard-tools

See the cross-platform documentation for more information.


Move on to the quick start walkthrough. Or, if your distribution isn't listed above, you may easily compile from source instead, a fairly simple procedure.