Thank you for your enthusiasm and contributions,
@BrimoXD99, but did you check out
VPNMON-R3 before starting your project? Because it does all this same stuff (and more). Obviously I don't want to stop you from building your own thing, because I know for a fact that coding is a ton of fun... and we welcome any and all contributions in this community!
Some backstory -- about 5 years ago, I built VPNMON-R2, but it was heavily customized specifically for different VPN providers, like NordVPN, AirVPN, etc... much like how yours operates today. But I realized I was constantly battling having to integrate yet another VPN provider with different standards, or dealing with changing standards on existing VPN providers... even VPN providers ditching their ability to use an API to get server information.
Blast from the past... VPNMON-R2 showing a customized NordVPN connection:
That's why I scrapped R2, and built VPNMON-R3 about 3 years ago... which is agnostic to any VPN provider, and allows you to query the VPN provider of your choice (including Nord) to pull country, city, or whatever data you please to assemble a server list that it will randomly (or round-robin) connect to as many times as you want each day. Also, it performs these services for OVPN or WG, or both. The health of the tunnels is a big component, and has multiple trip wires that it checks for every 60 seconds (or however long you want), before it determines it requires a reset.
For example, as you can see below, my WG2 connection has 2259 NordVPN servers it can randomly pick from and reconnect to on a periodic basis, or when the tunnel fails. My WG3 connection uses 47 AirVPN servers, and my OVPN5 connection (not running) uses 188 ProtonVPN servers.
I would definitely encourage you to continue development on your script, but as
@visortgw recommended above, to start your own thread in the forum to support users who may be interested in running it first.