project course

Build a mesh VPN

A Tailscale-style overlay network, written in C from scratch. TUN device, encrypted UDP, a coordination server, NAT traversal, a relay. Every lesson leaves you with something that runs.

Finish the Networking track first. Linux, root, and libsodium are all you need.

12 lessons
beginner → advanced
~4 hours
start track
lesson 01

The plan

lesson 02

The naked tunnel

lesson 03

Cryptokey routing

lesson 04

Keys are identity

lesson 05

Encrypting the tunnel

lesson 06

The handshake

lesson 07

The coordination server

lesson 08

Finding your public endpoint

lesson 09

Hole punching

lesson 10

The relay

lesson 11

Subnet routes and ACLs

lesson 12

Shipping it