Wintun: Layer 3 TUN Driver for Windows

Synopsis

Wintun is a very simple and minimal TUN driver for the Windows kernel, which provides userspace programs with a simple network adapter for reading and writing packets. It is akin to Linux's /dev/net/tun and BSD's /dev/tun. Originally designed for use in WireGuard, Wintun is meant to be generally useful for a wide variety of layer 3 networking protocols and experiments. The driver is open source, so anybody can inspect and build it. Due to Microsoft's driver signing requirements, we also offer precompiled and signed versions, and ways of including it in Windows installers. The goal of the project is to be as simple as possible, opting to do things in the most pure and straight-forward way provided by NDIS.

Status

This code is brand new, and it will likely take us another month to harden it from a security perspective, ensure it doesn't crash, and tune its performance. Read the mailing list announcement for more details on this matter. (This paragraph will be removed when those tasks are complete.)

Source

A small, cute, furry rabbit brings a window into a tunnel.

The source code is provided under the GPL 2.0 and is available via git:

$ git clone https://git.zx2c4.com/wintun

Be sure to read the README.md, containing important instructions on building.

Download

Wintun is distributed as MSM modules, to be merged into MSIs.

Contribution & Contact

You may email the WireGuard mailing list with patches sent via git-send-email and formatted with git-format-patch. To report security vulnerabilities, please email security at wireguard dot com.