Skip to content

A minimal virtual Layer-2 VPN that links machines via TAP and UDP as if they were on the same LAN

Notifications You must be signed in to change notification settings

StandartCoder/l2-vpn-vs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vpnet – Cross-Platform Layer-2 VPN in Pure C

A clean, cross-platform Layer-2 VPN implemented in pure C — minimal, modular, and designed for real-world use.

Key features

  • switchd — virtual Ethernet switch with MAC learning, broadcast and unicast forwarding
  • vportd — virtual port daemon with platform-specific backends (TAP, UTUN, Wintun)
  • Modular architecture:
    • core/ — shared protocol + switching logic
    • os/ — platform abstraction layers
    • src/ — daemons (switchd, vportd)
  • Custom UDP-based VPN transport, optimized for simplicity and portability
  • Targeted platforms: Linux, macOS, Windows

Status

  • Early development
  • Architecture fully planned
  • Foundational components implemented
  • Focus on:
    • clean abstractions
    • cross-platform portability
    • small, auditable codebase

Get involved

  • Contributions, feedback, and design ideas are welcome
  • Check issues for current goals & tasks
  • Ideal for:
    • systems programmers
    • networking people
    • anyone wanting lightweight virtual L2 networking

About

A minimal virtual Layer-2 VPN that links machines via TAP and UDP as if they were on the same LAN

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages