Only problems with ProtonVPN's official app for GNU/Linux distros is that it is a bit of a memory hog and that it only installs on distros using the systemd init system. However, you can avoid using the official ProtonVPN app while still using the ProtonVPN servers by using the ProtonVPN wireguard manual configuration method. With this implementation all the VPN work is being handled in the Linux kernel by wireguard, which has been part of the kernel for a number of years. You are just going to give wireguard a configuration file to tell it to use ProtonVPN servers. There’s no extra external program to run.
For Pale Moon on Windows users, Proton has instructions to set up wireguard manually. I don't have any Windows systems, so I'll focus on how I set up ProtonVPN+wireguard for my Pale Moon browsing on a Debian-based GNU/Linux system.
This manual wireguard method has the added advantage of using almost zero extra memory or resources. It’s a good match with GNU/Linux distros and Pale Moon on lower resource systems and on distros that don't use systemd, such as antiX, Devuan, and certain versions of MX. There is almost no extra memory used and the only dependency is a package called openresolv. You can also run Mullvad VPN with just a wireguard config file as well using this same basic method, also a very good match with GNU/Linux distros and Pale Moon, but this How-to will focus on setting up a free ProtonVPN setup for the sake of simplicity.
Most GNU/Linux distros come with the "resolvconf" package installed by default, but from my extensive testing you do not want to run wireguard with resolvconf as it leaks DNS servers with both ProtonVPN and with Mullvad VPN. Instead, I'll show you how to use the "openresolv" package which does not leak the DNS servers in my testing. If you are leaking DNS servers then it seems to me that you are mostly defeating the purpose of using a VPN. Mullvad VPN in particular instructs us to use openresolv instead of resolvconf, and I am in discussions with Proton about adding a specific openresolv instruction to their manual wireguard installation page.
Here are the steps to set up this free ProtonVPN using wireguard on a GNU/Linux distro (using a Debian-based distro as an example) -
1. First set up a free ProtonVPN account if you don't already have one at https://account.protonvpn.com/signup. Look for the link that says, "Or sign up for free" in the bottom right-hand corner of the first box on the page.
2. Next, install wireguard-tools and openresolv:
Code: Select all
sudo apt install wireguard-tools openresolvCode: Select all
sudo apt purge resolvconfCode: Select all
sudo reboota. leave the "Name" field blank – Proton will give the wireguard server profile a suitable name
b. select GNU/Linux as the "Platform"
c. select if you want the wireguard server profile to block malware and ads, and check to use VPN Accelerator if you want a faster connection
d. choose the country you want your server to reside in and select one with a smaller load. If you want a good and private one, find one in Switzerland (home of Proton). Otherwise just choose something close to you. Click the CREATE button on that server line, and then click the DOWNLOAD button on the popup window. Download the server profile to your ~/Downloads folder or the folder of your choice. For example, you could download the profile for the Switzerland server CH-FREE#4, which will be downloaded as a file called wg-CH-FREE-4.conf
Next you will need to move a copy of that ProtonVPN Wireguard server profile to /etc/wireguard/ in your system in order to use it:
Code: Select all
sudo cp ~/Downloads/wg-CH-FREE-4.conf /etc/wireguard/Code: Select all
wg-quick up wg-CH-FREE-4Code: Select all
sudo wgTo disable that ProtonVPN server profile in wireguard:
Code: Select all
wg-quick down wg-CH-FREE-4


