This implements a minimal version of the wireguard protocol client and some bits of the TCP/IP stack from lwip.
When VPN connectivity is enabled, traffic will be sent to a local relay which then forwards it over a VPN tunnel to your wireguard server.
This entire implementation is done in userland, as such, it will not be as performant as your typical wireguard client. Streaming settings are set to 720p only, and I dont recommend you raise them further. This is meant as a "last resort" in the event that the network your switch is on is unable to be punched through. It's also just built for fun.
Note that this video is horribly compressed, I went out and recorded this video on my buildings common room network (still a 1gbps network)
output2.mp4
There's a little bit of stuttering as you can see, but I think thats probably related to rekeying and I'll try to pull some logs and optimize it.
Full Changelog: v0.2.7...v0.3.0