# wireguard/wireguard-go

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/wireguard-wireguard-go).**

4,058 stars · 1,432 forks · Go · mit

## Links

- GitHub: https://github.com/WireGuard/wireguard-go
- awesome-repositories: https://awesome-repositories.com/repository/wireguard-wireguard-go.md

## Description

wireguard-go is a Go implementation of the WireGuard protocol that operates as a userspace tunneling engine. It functions as a cross-platform network interface designed to establish encrypted tunnels between peers without requiring modifications to the system kernel.

By implementing the protocol in userspace, this project provides a consistent network stack that enables secure peer-to-peer communication across different operating systems. It allows for the creation and management of encrypted network interfaces and tunnels to route private traffic over public networks.

## Tags

### Networking & Communication

- [Userspace Implementations](https://awesome-repositories.com/f/networking-communication/network-protocol-implementations/userspace-implementations.md) — Provides a complete implementation of the WireGuard protocol that operates entirely in userspace to avoid kernel modifications.
- [VPN](https://awesome-repositories.com/f/networking-communication/connection-management/vpn.md) — Establishes and manages the lifecycle of secure virtual private network interfaces across multiple platforms. ([source](https://github.com/WireGuard/wireguard-go#readme))
- [Virtual Tunnel Devices](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-routing-traffic-management/packet-capture-utilities/virtual-tunnel-devices.md) — Interfaces with the operating system via TUN/TAP virtual network devices to capture and inject IP packets.
- [Network Traffic Routing](https://awesome-repositories.com/f/networking-communication/network-traffic-routing.md) — Routes secure encrypted traffic through a userspace network interface across different operating systems. ([source](https://github.com/WireGuard/wireguard-go/blob/master/README.md))
- [Network Tunnels](https://awesome-repositories.com/f/networking-communication/network-tunnels.md) — Establishes encrypted communication layers to route private traffic over insecure public networks.
- [Peer-to-Peer Tunneling](https://awesome-repositories.com/f/networking-communication/peer-to-peer-tunneling.md) — Establishes direct, encrypted peer-to-peer tunnels by mapping public keys to network endpoints.
- [Userspace Tunneling Engines](https://awesome-repositories.com/f/networking-communication/peer-to-peer-tunneling/userspace-tunneling-engines.md) — Operates as a userspace tunneling engine to route encrypted traffic between peers without modifying the system kernel.
- [WireGuard VPN Support](https://awesome-repositories.com/f/networking-communication/wireguard-vpn-support.md) — Implements the WireGuard protocol in userspace to create secure encrypted network tunnels. ([source](https://github.com/WireGuard/wireguard-go/blob/master/go.mod))
- [Network Stacks](https://awesome-repositories.com/f/networking-communication/network-stacks.md) — Provides a Go-based network stack for implementing secure peer-to-peer communication tunnels.
- [Concurrent Packet Processing](https://awesome-repositories.com/f/networking-communication/packet-engines/packet-processing-frameworks/multi-threaded-packet-processing/concurrent-packet-processing.md) — Utilizes Go goroutines and channels to concurrently encrypt and decrypt multiple network data streams.

### Security & Cryptography

- [Userspace Network Stacks](https://awesome-repositories.com/f/security-cryptography/network-isolation/userspace-network-stacks.md) — Implements a full network stack in userspace to create encrypted tunnels without kernel modifications.
- [Minimal Cryptographic Suites](https://awesome-repositories.com/f/security-cryptography/cryptographic-verification/minimal-cryptographic-suites.md) — Implements a minimal cryptographic suite based on ChaCha20-Poly1305 for high-performance network security.
