Skip to content
52

Awesome WireGuard

A curated list of WireGuard tools, projects, and resources.

1.5k stars92 forks112 entriesLast push Sep 4, 2024 (2 years ago)License MIT

This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.

Official Resources

Next Generation Kernel Network Tunnel

[PDF] - Whitepaper.

WireGuard Docs

Unofficial WireGuard documentation.

Where to Start

Quick Start

Official quick start.

Projects >Tools

wg-quick

Official cross-platform tool to set up a WireGuard interface simply.

easy-wg-quick

Creates Wireguard configuration for hub and peers with ease. :green_circle:

dsnet

Simple command to manage a centralised wireguard VPN. Think wg-quick but quicker: key generation + address allocation. :green_circle:

wgctrl

Package wgctrl enables control of WireGuard interfaces on multiple platforms. :red_circle:

wgzero

Zero overhead wireguard setup. :red_circle:

wg-make

A tool to help set up WireGuard based networks. Currently, it generates configurations for peers according to a single configuration file. :red_circle:

onetun

A user-space WireGuard port-forwarder -- access ports running on peers in your WireGuard network from any device; without having to install WireGuard locally or without root access (no iptables configs). :green_circle:

wireproxy

A userspace WireGuard client that connects to a WireGuard peer, and exposes a SOCKS5 proxy. (Use cases: Setting up WG as a VPN requires special privilege. It tells the kernel to create a special network interface to handle WG connection. This can get messy if you do not have any special permission…

wireguard-manager-and-api

A tool for rotating the keys on peers to increase their privacy by removing their IP address from memory. :red_circle:

sandialabs/wiretap

Wiretap is a transparent, VPN-like proxy server that tunnels traffic via WireGuard and requires no special privileges to run. :green_circle:

coder/wush

Simplest and fastest way to transfer files between computers via WireGuard. :green_circle:

Projects >Mesh Network

Tailscale

Tailscale is a WireGuard-based app that makes secure, private networks easy for teams of any scale.

In 6 listsDetails

Headscale

An open source implementation of the Tailscale control server. :green_circle:

In 6 listsDetails

innernet

A private network system that uses WireGuard under the hood. It is similar in its goals to Slack's nebula or Tailscale. :green_circle:

In 4 listsDetails

Kilo

Kilo is a multi-cloud network overlay built on WireGuard and designed for Kubernetes (k8s + wg = kg). :green_circle:

In 3 lists

NetBird

(Previously Wiretrustee) NetBird is an open-source VPN management platform built on top of WireGuard® making it easy to create secure private networks for your organization or home. Technically, it creates an overlay network using ICE protocol (WebRTC) to negotiate P2P connections and WG (kernel…

In 2 lists

wesher

wesher creates and manages an encrypted mesh overlay network across a group of nodes. :green_circle:

gravitl/netmaker

Netmaker is a VPN platform that automates WireGuard from homelab to enterprise. The key distinctions in their solutions are: fast because it can use kernel WireGuard (instead of userspace WireGuard, which is slower), tailored towards the Cloud and Kubernetes, and fully self-hostable. :green_circle:

In 4 lists

HarvsG/WireGuardMeshes

Compare WireGuard mesh tools. :green_circle:

svenstaro/wiresmith

Auto-config WireGuard clients into a mesh :green_circle:

Projects >Deployment

WireHole

A combination of WireGuard, Pi-hole, and Unbound in a docker-compose project with the intent of enabling users to quickly and easily create a personally managed full or split-tunnel WireGuard VPN with ad blocking capabilities thanks to Pi-hole, and DNS caching, additional privacy options, and…

In 2 lists

Autowire

Automatically configure Wireguard interfaces in distributed system. It supports Consul as backend. :red_circle:

Cloudblock

Deploys WireGuard VPN, Pi-Hole DNS Ad-blocking, and DNS over HTTPS in a cloud provider - or locally - using Terraform and Ansible. :green_circle:

ansible-role-wireguard

Ansible role for installing WireGuard VPN. Supports Ubuntu, Debian, Archlinx, Fedora and CentOS. :green_circle:

terraform-aws-wireguard

Terraform module to deploy WireGuard on AWS. :red_circle:

Firezone

An open-source WireGuard-based VPN server alternative to OpenVPN Access Server. You can self-host this. :green_circle:

In 5 listsDetails

Algo VPN

Set up a DIY/personal VPN in the cloud. It is a set of Ansible scripts that simplify the setup of a personal WireGuard and IPsec VPN, open-sourced by Trail of Bits. :green_circle:

In 12 listsDetails

freifunkMUC/wg-access-server

An all-in-one WireGuard VPN solution with a Web UI for connecting devices. This project aims to deliver a simple VPN solution for developers, homelab enthusiasts and anyone else feeling adventurous. :green_circle:

WirtBot

Think of it as a component that will allow you to extend your LAN over the Internet. WirtBot simplifies the process of creating your own private network into 3 steps. No registration, no accounts - Just a network that belongs to you. And it will always be completely free (except for the server/VPS…

seashell/drago

A self-hosted and flexible configuration manager designed to make it simple to configure secure network overlays spanning heterogeneous nodes via a Web UI. :red_circle:

linuxserver/docker-wireguard

A WireGuard container image brought to you by LinuxServer.io. Not all image authors are as great as LinuxServer.io team. :green_circle:

cmulk/wireguard-docker

A Docker image and configuration for a simple personal VPN, used for the goal of security over insecure (public) networks, not necessarily for Internet anonymity. There are currently 3 flavors. :red_circle:

masipcat/wireguard-go-docker

WireGuard docker image. :green_circle:

bitwister/twine

Label based route/port forwarding management tool for Docker that can be used to easily route traffic of containers from/to Wireguard container, while preserving full network isolation.

Projects >Monitoring

MindFlavor/prometheus_wireguard_exporter

A Prometheus exporter for WireGuard, very light on your server resources. :red_circle:

Projects >User Interface

WireGuard in NetworkManager

Linux NetworkManager has WireGuard support.

angristan/WireGuard-install

WireGuard VPN installer for Linux servers. :red_circle:

PiVPN

The Simplest VPN installer (scripts), designed for Raspberry Pi. :green_circle:

Nyr/wireguard-install

WireGuard road warrior installer for Ubuntu, Debian, CentOS and Fedora. :green_circle:

WireGuard-Manager

enables you to build your own vpn under a minute. :green_circle:

In 2 lists

wg-meshconf

WireGuard full mesh configuration generator. :red_circle:

tun2socks

Powered by gVisor TCP/IP stack. :green_circle:

In 5 listsDetails

guard

A gRPC server for managing wireguard tunnels. :red_circle:

docker-wireguard-socks-proxy

Expose a WireGuard tunnel as a SOCKS5 proxy. :red_circle:

wgctl

Utility to configure and manage your WireGuard tunnels. :red_circle:

Wiresteward

A WireGuard peer manager with OAuth2 authentication. :green_circle:

psyhomb/wireguard-tools

WireGuard helper scripts. :red_circle:

b-m-f/wired

WireGuard network configuration generator with support for multiple topologies written in Rust :red_circle:

muiquq/wgcfghelp

Lightweight single binary CLI tool, roadwarrior peer management, config file generator, QR code image generator, MikroTik command generator. :green_circle:

AndrianBdn/wg-cmd

WG Commander is a TUI for a simple WireGuard VPN setup. UI, QR Codes, Setup Wizard in the terminal. :green_circle:

In 2 lists

vx3r/wg-gen-web

Simple Web based configuration generator for WireGuard. :red_circle:

Subspace

A simple WireGuard VPN server GUI. :red_circle:

In 2 lists

WireGuard UI

WireGuard Web UI for self-serve client configurations, with optional auth. :red_circle:

In 2 lists

wg-easy/wg-easy

The easiest way to run WireGuard VPN + Web-based Admin UI. :green_circle:

wireguard-ui

Simple, have empty interfaces for authentication :yellow_circle:

In 2 lists

h44z/wg-portal

Supports LDAP and more :green_circle:

brsyuksel/wghttp

A http server helps managing wireguard devices and peers on kernel level. :green_circle:

network-manager-wireguard

Network-Manager VPN Plugin for WireGuard. :red_circle:

WireGuardStatusbar

macOS menubar icon for WireGuard/wg-quick. :black_circle:

TunnlTo/desktop-app

TunnlTo is a lightweight, fast, Windows WireGuard VPN client built for split tunneling. :green_circle:

Wireguard Dashboard

A simple and easy to use WireGuard dashboard written in Python and Flask. :green_circle:

Projects >Services based on WireGuard

Warp

A free WireGuard VPN from Cloudflare that's trying to fix mobile Internet performance and security.

wgcf

Cross-platform, unofficial CLI for Cloudflare Warp. :green_circle:

In 2 lists

Mullvad

green_circle:

In 2 lists

MozWire

An unofficial configuration manager giving Linux, macOS users (among others), access to Mozilla VPN. :green_circle:

LNVPN

A wireguard VPN provider with Ligthning only payments, pay as you use. :red_circle:

Projects >Extensions / Plugins

wgsd

A CoreDNS plugin that serves WireGuard peer information via DNS-SD (RFC6763) semantics. This enables use cases such as mesh networking, NAT-to-NAT connectivity, and dynamic discovery of WireGuard endpoint. :yellow_circle:

Projects >Optimization

nr-wg-mtu-finder

A Python project to help you find the optimal MTU values for WG server and WG peer that maximizes the upload or download speeds between a peer and server. :yellow_circle:

Projects >Alternative Implementations

boringtun

Userspace WireGuard implementation in Rust by Cloudflare. :yellow_circle:

In 4 listsDetails

Matt Dunwoodie's implementation for OpenBSD, written in C

.

Ryota Ozaki's wg(4) implementation, for NetBSD, is written in C

.

smartalock/wireguard-lwip

A C implementation of the WireGuard protocol intended to be used with the lwIP IP stack. :yellow_circle:

ciniml/WireGuard-ESP32-Arduino

WireGuard implementation for ESP32 Arduino in C. :red_circle:

Useful Resources >Blog Posts

WireGuard: great protocol, but skip the Mac app

WireGuard on Kubernetes with Adblocking

SSH and User-mode IP WireGuard

Setup and Adblocking VPN Using WireGuard and NextDNS

WireGuard Endpoint Discovery and NAT Traversal using DNS-SD

Taildrop was kind of easy, actually

Taildrop was the main new feature launched in Tailscale v1.8.

Using Tailscale for Authentication of Internal Tools

IPv6 WireGuard Peering at Fly.io

Our User-Mode WireGuard Year

Tunnel WireGuard via WebSockets

Setting up WireGuard to work in restricted networks that block UDP traffic.

Tailscale's human-scale networks are still controlled by Google and Microsoft

How to access a peer's local network

A simple solution. There is no need of any configurations to set split-tunneling. The example shows how Peer B can route to Peer A through a WG server. Peer B can reach a specific network (subnet) behind Peer A.

Routing Specific Docker Containers Through WireGuard VPN with systemd-networkd

A simple solution for routing specific docker containers through a WireGuard VPN using only two simple systemd-networkd files, no cumbersome wg or ip calls.

Decoding WireGuard with Wireshark

A simple guide on how to inspect WireGuard packets in Wireshark.

Useful Resources >Articles

In-kernel WireGuard is on its way to FreeBSD and the pfSense router

It's Looking Like Android Could Be Embracing WireGuard - "A Sane VPN"

Tailscale Raises $100 Million Series B to Fix the Internet with its Zero Trust VPN for Modern DevOps Teams

Identity management for WireGuard

Useful Resources >Good Tips

WireGuard Gotchas with Multiple Tunnels

WG has a bit of a trap/gotcha when running multiple independent tunnels, one of which has a default route associated with it.

Useful Resources >Tutorials

How to easily configure WireGuard

Getting Started with WireGuard

What They Don’t Tell You About Setting Up A WireGuard VPN

Building a simple VPN with WireGuard with a Raspberry Pi as Server

Setting up a home VPN server with Wireguard (macOS)

Creating a VPN Gateway with a Unikernel running WireGuard

Directions for setting up a WireGuard bounce server

WireGuard VPN Road Warrior Setup

The important feature of this setup is, split tunnelling.

Routing Docker Host And Container Traffic Through WireGuard

using WireGuard Docker image by linuxserver.io

WireGuard setup with Ansible

A basic Ansible playbook for deploying a WireGuard server and (local) client.

Fly-Tailscale-Exit

Run your own VPN with global exit nodes with Fly.io, Tailscale and Github.

Useful Resources >Videos

WireGuard: Next Generation Abuse-Resistant Kernel Network Tunnel

A good talk from the WireGuard developer and security researcher, Jason Donenfeld explaining what WireGuard can do and how it works. The talk examine both the cryptography and kernel implementation particulars of WireGuard and explore an offensive attack perspective on network tunnels.

How To Build Your Own Wireguard VPN Server in The Cloud

A good tutorial from Lawerence Systems regarding WireGuard.

Useful Resources >Presentations

Presentations by Jason A. Donenfeld

A list of all Jason's presentations.

Uncategorized

WebVM: Linux Virtualization in WebAssembly with Full Networking via Tailscale

Run WireGuard and Tailscale in the browser. wireguard-go code compiled to Wasm. WebVM is proprietary WebAssembly-powered x86 virtualization tech. I'm genuinely curious how it compares to v86/Fabrice Bellard's JSLinux (like WebVM but free and opened-source).

Communities and Meetups >English

/r/WireGuard

Official Reddit WireGuard.

In 2 lists

#wireguard on Libera

Official IRC on Libera Chat.

In 2 lists
See category
87

Awesome Network Automation

networktocode/awesome-network-automation

Curated Awesome list about Network Automation

Fresh★ 2.9k334 entriesPushed yesterday
80

Awesome Network Analysis

briatte/awesome-network-analysis

A curated list of awesome network analysis resources.

Fresh★ 4.1k717 entriesPushed 1 month ago
72

Awesome TensorFlow

jtoy/awesome-tensorflow

TensorFlow - A curated list of dedicated resources http://tensorflow.org

Slow★ 18k160 entriesPushed 7 months ago
71

Awesome Networking

facyber/awesome-networking

A collection of awesome networking courses, books, tutorials and other resources

Active★ 1.3k85 entriesPushed 4 months ago

:satellite: A curated list of awesome Real Time Communications resources

Active★ 49794 entriesPushed 4 months ago
61

Awesome SNMP

eozer/awesome-snmp

A curated list of awesome SNMP libraries, tools, and other resources.

Slow★ 193141 entriesPushed 6 months ago