GitHub - DevSH01/awesome-wireguard: A curated list of WireGuard tools, projects, and resources.


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

WireGuard® - fast, modern, secure VPN tunnel.

You can see the updates on Twitter (coming soon)

Please, help organize these resources so that they are easy to find and understand for newcomers. See how to Contribute for tips!

If you see a link here that is not (any longer) a good fit, you can fix it by submitting a pull request to improve this file. Thank you!


Status Badges

We use emoji to determine repository status.

🟢 active repos (last commit date is less than 3 months)

🟡 stale repos (last commit date is more than 6 months)

🔴 inactive repos (last commit date is more than 1 year)

⚫ repos that were superseded

🟦 repos that were code completed

❔ repos that weren't found (broken link)


Contents

Expand Table of Contents

What is WireGuard

WireGuard® is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.

Source: Official WireGuard project website

Official Resources

Where to Start


Projects

Tools

Mesh Network

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 upstream providers via Unbound. GitHub last commit 🔴
  • Autowire - Automatically configure Wireguard interfaces in distributed system. It supports Consul as backend. GitHub last commit 🔴
  • Cloudblock - Deploys WireGuard VPN, Pi-Hole DNS Ad-blocking, and DNS over HTTPS in a cloud provider - or locally - using Terraform and Ansible. GitHub last commit 🟢
  • ansible-role-wireguard - Ansible role for installing WireGuard VPN. Supports Ubuntu, Debian, Archlinx, Fedora and CentOS. GitHub last commit 🟢
  • terraform-aws-wireguard - Terraform module to deploy WireGuard on AWS. GitHub last commit 🔴
  • Firezone - An open-source WireGuard-based VPN server alternative to OpenVPN Access Server. You can self-host this. GitHub last commit 🟢
  • 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. GitHub last commit 🟢
  • 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. GitHub last commit 🟢
  • 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 you run it on). GitHub last commit 🔴
  • 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. GitHub last commit 🔴

Container

Monitoring

Security

Protocol

Encryption

Runtime

User Interface

Terminal / CLI

Web

Desktop

Dashboards

  • Wireguard Dashboard - A simple and easy to use WireGuard dashboard written in Python and Flask. GitHub last commit 🟢

Development

Development Environment

Testing

Boilerplate

Homeserver

Services based on WireGuard

Cloud Service

  • 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. GitHub last commit 🟢

VPN

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. GitHub last commit 🟡

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. GitHub last commit 🟡

Language Bindings

Alternative Implementations

Beside Jason Donenfeld's implementation of the WireGuard protocol, written in C and Go, other implementations include:

Useful Resources

Blog Posts

Articles

Demos and Examples

Good Tips

Tutorials

Videos

Books

Podcasts and Interviews

Presentations

Newsletters

Uncategorized

Communities and Meetups

English

Chinese

Contribute

Contributions welcome! If you would like to contribute, please read the contribution guidelines first. It contains a lot of tips and guidelines to help keep things organized.

Future: Implement GitHub Actions to monitor and verify all the links with a simple Node.js script

Copyright

"WireGuard" and the "WireGuard" logo are registered trademarks of Jason A. Donenfeld.

License

Expand License

This repository contains a variety of content; some developed by Cedric Chee, and some from third-parties. The third-party content is distributed under the license provided by those parties.

I am providing code and resources in this repository to you under an open source license. Because this is my personal repository, the license you receive to my code and resources is from me and not my employer.

The content developed by Cedric Chee is distributed under the following license:

Text

The text content is released under the CC-BY-NC-ND license. Read more at Creative Commons.

Code

The code in this repository is released under the MIT license.