Why I am quitting Proton VPN towards ivpn

TLDR : pvpn cli projects are all outdated

  • I don’t want to use a gui as it depends on tons of graphical packages.
  • I want resource-efficient vpn proxies running in minimal VMs.

Workarounds to use Proton vpn without gui :

  1. Use Wireguard or OpenVPN if you don’t need much of the cli features, they have both great tutorials on how to set-up in this forum and pvpn doc explain well how to get the config files.
  2. Or install the most recent (outdated) cli from official repo if you need the extra cli features. There are some quirks using it though (I need to restart the proxy when I want to change the options).

Why a cli when you can automate with native OpenVPN or Wireguard methods you may say ?

  • The main reason is dynamic fastest server selection at start.
  • I also prefer to have a cli to switch option dynamically : ns switching and so on.

So about the pvpn cli project. It looks like it’s maintained by the community because of a recent shallow commit (just a empty version bump XD) but it’s NOT.

The community repo by Rafficer is much older and outdated than the legacy one.
Outdated community repo, Completely outdated and seemingly not honoring PRs by the community but not officially archived by owner - last release 2.11.0 on 28/07/21
You can see the contribution graph here

Don’t install it from Pypi (pip) neither as recommended in community readme, it’s stuck in 2.11.0 too

The official repo is archived by protonvpn
Official repo, the most recent and the one I use but abandoned on 11/10/23 by protonvpn - last release 3.13.0 on 14/09/22

I first had a lot of hopes in a statement from the official cli maintainer in this post talking about status and roadmap. But it has now been 2 years and I only see improvements on the gui client v4 and no more info about cli since then. (I didn’t ask them).

ProtonVPN is not anymore the product fitting my needs ; in which I saw at first the promise of a great Linux cli integration couple of years back.
I am still using it but could never automate the launch of VPN the connection (I manually open xterm and launch the last command when primary connection is up : protonvpn-cli c -f).

There is probably a script that would work here but could not find a condition to know when the network is up without pinging out, using killswitch to prevent leaks and protonvpn-cli is unstable and connection should only been launched when upstream network is working.

Still, it probably feels I am ranting a bit, but the good news is both cli projects are licensed under GPL v3 - so anyone wiling to invest time in it could probably jump in, fork it and merge code from official 3.13 and PRs made to Rafficer repo. I have seen some people writing stuff in their own fork too. And why not fix current bugs and instability to make the cli for Protonvpn great again.

I am progressively switching to ivpn for they have even better privacy options (you can pay by cash lol), they offer both headless (daemon + cli) or GUI options and maintain their software.

I didn’t experience yet fully automated integration. My next step is to set this up.

Also keeping my eyes open to any other service with a strong privacy proposal and with a great linux cli integration. Or hoping a lot on Proton vpn to make cli v4 !

Note: I am not affiliated to any, just my opinion and experience about them

Moderation note: closing the thread as off-topic.