https://github.com/standartcoder/l2-vpn-vs
A minimal virtual Layer-2 VPN that links machines via TAP and UDP as if they were on the same LAN
https://github.com/standartcoder/l2-vpn-vs
l2 layer2 linux macos network unix virtual-network virtual-switch vpn windows
Last synced: about 2 months ago
JSON representation
A minimal virtual Layer-2 VPN that links machines via TAP and UDP as if they were on the same LAN
- Host: GitHub
- URL: https://github.com/standartcoder/l2-vpn-vs
- Owner: StandartCoder
- Created: 2025-11-18T08:54:54.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-11-20T13:08:11.000Z (6 months ago)
- Last Synced: 2026-01-26T17:52:37.547Z (4 months ago)
- Topics: l2, layer2, linux, macos, network, unix, virtual-network, virtual-switch, vpn, windows
- Language: C
- Homepage:
- Size: 147 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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