Skip to main content
Topic solved
This topic has been marked as solved and requires no further attention.
Topic: [SOLVED] ProtonVPN depends on systemd due to python-systemd...vpn alternatives? (Read 3348 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

[SOLVED] ProtonVPN depends on systemd due to python-systemd...vpn alternatives?

Hi All!

So I'm relatively new to Artix (with runit), I've literally only been on it for a few days.  In that time I've managed to get nearly everything I've wanted up and running (mariadb, postgresql, auto-cpufreq, ufw, even a custom nvidia undervolting runit script).

I'm loving how fast it is and the fact that I'm finally systemd free.

Buuuut... I can't seem to get protonvpn working.  After running a bunch of git clones from the AUR and makepkg -Si and makepkg --install, it looks like I've run into the first package I can't build without systemd, specifically without the python-systemd package.

Has anyone managed to get this working on their Artix runit system or can point me to possible places to get it running.

If I can't get it running, are there any VPN alternatives that you have gotten working, and if so, what were those alternatives?

Any insights, advice, and/or input would be greatly appreciated.
Thanks in advance, this community has been super helpful thus far and I look forward to Artix becoming my daily driver distro!

Re: ProtonVPN depends on systemd due to python-systemd...vpn alternatives?

Reply #1
It seems like the systemd dependency comes from protonvpn-nm-lib. According to this upstream issue, systemd is a required dependency so it loosk like you are out of luck in this case. I'm not sure about what else there is.

Re: ProtonVPN depends on systemd due to python-systemd...vpn alternatives?

Reply #2
It seems like the systemd dependency comes from protonvpn-nm-lib. According to this upstream issue, systemd is a required dependency so it loosk like you are out of luck in this case. I'm not sure about what else there is.

Well thanks for the reply nevertheless.  I just installed the openvpn-runit package but am a little at a loss as to how to set it up.  Anyone have any ideas?  The Arch Wiki on this is a little terse on the installation process and I need a more step by step guide if at all possible...

Re: ProtonVPN depends on systemd due to python-systemd...vpn alternatives?

Reply #3
So I got it working without the protonvpn-cli using simple openvpn.  It took me a bit but this link walks through the terminal configuration towards the end of the article, it actually wasn't too difficult after all:

https://protonvpn.com/support/linux-openvpn/

To sum it up though, you'll need a protonvpn account, once established, go to your downloads page and download the ovpn files.

You will also need to  to make sure to copy to your username and password (not your account username and password but your hashed username and password issued you upon registration)

You will also need the openvpn package (I also installed the openvpn-runit  package although I have not yet set up a service daemon, but once I figure it out I will post it here).

You'll need to set up the the update-resolv-conf file using the wget command copied from the link above:

sudo wget "https://raw.githubusercontent.com/ProtonVPN/scripts/master/update-resolv-conf.sh" -O "/etc/openvpn/update-resolv-conf"

And chown it to your user name.

chown <username> /etc/openvpn/update-resolv-conf

I also noted that you'll need to chmod it, I just used 777, but I don't think it needs to be that drastically open... (probably not secure, any suggestions on a better chmod command is welcome).

chmod 777 /etc/openvpn/update-resolv-conf

Finally you're ready to go by invoking openvpn:

openvpn <your ovpn file>

It will then prompt you for your protonvpn hashed username and password.

And that's it your ready to go. Your terminal should read some sort of successful initialization message, and of course  you can check it's working by simply duckduckgoing "what's my ip?"

Hopefully this helps, as I noted earlier, I"ll post updates to this once I know how to set up the openvpn-runit daemon, but I've not quite figured that out yet.

Re: ProtonVPN depends on systemd due to python-systemd...vpn alternatives?

Reply #4
Not sure if it would even meet your use case, as it's quite a different approach, and I haven't tried this myself either, but looking at router specs recently I saw you can do this globally on your network with a router that includes a vpn client. Numerous models support this, some brands even offer their own free vpn service to complement the feature, and open source router software which can be installed on some routers in place of the existing firmware supports this too I think.  As you have already found a solution I just mention this as an aside.


 

Re: ProtonVPN depends on systemd due to python-systemd...vpn alternatives?

Reply #6

That works!  Thank you so much!  Very awesome.  I found that openvpn was (much) faster than the protonvpn-cli (in terms of connection and internet speeds) for some reason, so I simply bash aliased openvpn to accept my username and password automagically.  Still having trouble figuring out how to get it to start up, but here's my alias in my bashrc:

sudo openvpn --config ~/.config/protonvpn/protonvpn_configs/us-free-01.protonvpn.com.udp.ovpn --auth-user-pass !/.config/protonvpn/protonvpn.txt

Hopefully this also helps somebody, but your solution is easier to download and set up for sures.

Thanks again!

Re: ProtonVPN depends on systemd due to python-systemd...vpn alternatives?

Reply #7
Still having trouble figuring out how to get it to start up

Make service for this

Quote
sudo openvpn --config ~/.config/protonvpn/protonvpn_configs/us-free-01.protonvpn.com.udp.ovpn --auth-user-pass !/.config/protonvpn/protonvpn.txt
I will try this later . Thanks for sharing
Create problems which don't have solution

Re: ProtonVPN depends on systemd due to python-systemd...vpn alternatives?

Reply #8
I bump this topic after reading it with interest.  So far the only connection method that works reliably for me is NetworkManager, which I installed for the purpose. In case it's helpful, here is a list of my experiences
  • Trizen to install protonvpn-cli from aur
       Could not meet systemd dependencies (they have it working in  MX & antiX, so I thought it was worth a try, but it's beyond my abilities)
  • Legacy protonvpn-cli
       protonvpn-cli -c fetches the list of servers. Sometimes I have successfully connected this way, but usually it reports
       [!] Error connecting to VPN.
       [!] There are issues in managing IPv6 in the system.
       Disabling ipv6 through networkManager eliminates the 2nd message; still no connection.   
  • openvpn command as given in post #6
       No connection for me  [note:  had to install resolvconf]  Thanks for pointing out the -auth-user-pass option!
  • Connman also would not establish vpn connection
  • NetworkManager works by New/VPN/Import a saved connection (an ovpn file downloaded from ProtonVPN)
Best for me would be to get protonvpn-cli -f working reliably.  Thanks in advance for any ideas.

Re: ProtonVPN depends on systemd due to python-systemd...vpn alternatives?

Reply #9
Update:  success!
I found this this thread on devuan forum, which led to a version of protonvpn-cli which is under continual development, according to andyprough: 
https://github.com/Rafficer/linux-cli-community/releases/tag/v2.2.11

Followed instructions provided
sudo pip3 install protonvpn-cli
sudo protonvpn init
sudo protonvpn c -f
Connected!

I had tried the protonvpn-cli-ng suggested by ArchUser, with no luck; maybe I set it up wrong.  Anyway, here's another option.

Re: ProtonVPN depends on systemd due to python-systemd...vpn alternatives?

Reply #10
Note, using pip instead of pacman generally can lead to errors when upgrading with pacman. In this case though, there is no protonvpn-cli package in Artix nor in Arch (yet). Just keep in mind that if there are Python-related errors during pacman upgrade in the future, this would be the most likely cause.

Re: ProtonVPN depends on systemd due to python-systemd...vpn alternatives?

Reply #11
Actually, you may use ProtonVPN via OpenVPN in linux (as do I). I set up the VPN connection via networkmanager-openvpn plugin. Just download predefined configuration files for OpenVPN from the ProtonVPN site (from your account page) and follow the instructions posted on their site.

Re: ProtonVPN depends on systemd due to python-systemd...vpn alternatives?

Reply #12
Actually, you may use ProtonVPN via OpenVPN in linux (as do I). I set up the VPN connection via networkmanager-openvpn plugin. Just download predefined configuration files for OpenVPN from the ProtonVPN site (from your account page) and follow the instructions posted on their site.
networkmanager-openvpn broke my networkmanager config and kept setting the nameserver in resolv.conf to ::1 instead of 192.168.1.1 I had to delete the entire /etc/NetworkManager folder and reinstall NetworkManager.

Re: ProtonVPN depends on systemd due to python-systemd...vpn alternatives?

Reply #13
The easiest way out and with less pain in the ass is to use their .ovpn config file + openvpn. Then just do:

Code: [Select]
sudo openvpn <config_file>

Just saying, since I'm a ProtonVPN user too.

Re: ProtonVPN depends on systemd due to python-systemd...vpn alternatives?

Reply #14
The easiest way out and with less pain in the ass is to use their .ovpn config file + openvpn. Then just do:

Code: [Select]
sudo openvpn <config_file>

Just saying, since I'm a ProtonVPN user too.

Yeah, This thread is pretty old at this point. I'm going to mark it as SOLVED, even though the workarounds have been a bit strange. I did end up using openvpn with protonvpn to get this working, but have since moved to mullvadvpn and utilize them instead. As long as you're willing to do some config editing and playing around with how your init system initializes openvpn, this has imho been the best option.

Thanks to all who have chimed in on this. You've all been super helpful!