This is a brief overview of the client architecture of the eduVPN application for MacOS.
The helper is started on demand via launchd.
The eduVPN GUI in which the user can add eduVPN/LC providers, choose VPN profiles to connect with, and view connection stats and the OpenVPN log. It also provides the eduVPN helper with OpenVPN configurations.
Starts OpenVPN process with given configuration, sets up a leasewatch daemon.
The executed OpenVPN binary which sets up the routes and establishes the VPN connection with the eduVPN server.
The scripts given as arguments (--up,--down) to the OpenVPN process. These setup and restore the DNS settings.
The leasewatch daemon watches the current DNS settings by executing leasewatch.sh. This script will restore any changed DNS settings while a VPN connection is active.
The active VPN connection with an eduVPN server.