I’ve been testing VPN services and somehow every one with a client has written their own. Proton, Windscribe, IVPN, Mullvad, AirVPN, NordVPN, and the list goes on.
Don’t these services all do the same thing? Connect to a server to get a list of servers, then use WireGuard or OpenVPN to make a connection, and have some fancy stuff like split tunneling or a killswitch. It should just take configuration by adding profiles per service and it should be possible to use the same client.
What am I missing?


All that, and we didn’t even talk about user experience 😉.
Having said all that, if you’re not using a service that offers configuration generation, which allows you to use your own clients, you’re doing it wrong.
I use one of the services from your list. And beyond private key generation, I do everything with simple scripts on desktop (or using “protocol” clients on mobile). This is trivial since the server list with its addresses and public keys is publicly available as JSON, even without auth. So putting that info and my private key(s) together, I can actually generate all the configs I want myself with ease.
But that’s just me. And providers would go broke if they only catered to the likes of me.