eduvpn / apple

app for iOS and macOS
Other
61 stars 18 forks source link

Infrastructure for supporting WireGuard #405

Closed roop closed 3 years ago

roop commented 3 years ago

This PR adds the ability to bring up WireGuard tunnels.

The app doesn't support eduVPN server APIv3 yet, so there's no way to actually bring up a WireGuard tunnel yet from the UI, so if you want to see it in action, you'll have to change ConnectionViewModel (maybe here) to call ConnectionService.enableVPN(wireGuardConfig:, ...) instead of the call that takes in an OpenVPN config. Support for APIv3 will be added in a subsequent PR. (Before building, please make sure the Apple Developer is set correctly for the WireGuardTunnelExtension target.)

The WireGuard tunnel extension code is shared between iOS and macOS (unlike in case of the OpenVPN tunnel extension code) because there's a good amount of code there that I didn't want to duplicate.