Installation on Manjaro
RECOMMENDED: Build the command line client using AUR build script.
pamac build protonvpn-cli-ng
NOTE: Manjaro does not recommend installing system wide Python packages using PIP as it often creates file conflicts during updates. The following is ProtonVPN installation method is using Python PIP.
sudo pacman -Syu openvpn dialog python-pip python-setuptools --needed
sudo pip3 install protonvpn-cli
To get an overview of available commands
And you can get detailed help on a command by entering this
protonvpn --help connect
You can get some command line examples - see Output details below.
❯ protonvpn examples protonvpn connect Display a menu and select server interactively. protonvpn c BE-5 Connect to BE#5 with the default protocol. protonvpn connect NO#3 -p tcp Connect to NO#3 with TCP. protonvpn c --fastest Connect to the fastest VPN Server. protonvpn connect --cc AU Connect to the fastest Australian server with the default protocol. protonvpn c --p2p -p tcp Connect to the fastest torrent server with TCP. protonvpn c --sc Connect to the fastest Secure-Core server with the default protocol. protonvpn reconnect Reconnect the currently active session or connect to the last connected server. protonvpn disconnect Disconnect the current session. protonvpn s Print information about the current session.
You can only configure one item at a time so you need to rerun the configure command if you want to change several options.
sudo protonvpn configure
Username and password
Login to your Proton VPN account and navigate to your Account page and scroll down to OpenVPN / IKEv2 username and keep the page open.
Copy and paste the username from your account page and press Enter
Do the same with your password (TIP: you can't see the password) copy and paste then press Enter
Repeat the password by copy/paste and press Enter the last time.
Sample configure command
❯ sudo protonvpn configure What do you want to change? 1) Username and Password 2) ProtonVPN Plan 3) Default Protocol 4) DNS Management 5) Kill Switch 6) Split Tunneling 7) Purge Configuration Please enter your choice or leave empty to quit: 1 Enter your ProtonVPN OpenVPN username: some.username.from.account.page Enter your ProtonVPN OpenVPN password: Confirm your ProtonVPN OpenVPN password: Username and Password has been updated!
Selecting between TCP or UDP is a matter of choice. Selecting TCP will make use of other ports than the dedicated OpenVPN port 1194 like 443 and this will make the encrypted traffic appear like any other encrypted traffic. In other words - to an eventual monitoring entity - it is not apparent that it is VPN traffic.
The kill switch can also be configured - ensuring that you do not fallback to your ISP should the connection to the VPN drop for any reason.
The recommended DNS management is to prevent DNS leak. Should you prefer some other DNS it can be changed.
This is a feature where you exclude certain applications or IP addresses from the VPN endpoint.
One example of such use could be work VPN which expect a certain point of origin like your home IP.
Connecting is simple. Using below command launches a dialog based UI where you select country and server. The server list displays the current load on a given server so you can choose the server with the least load.
sudo protonvpn c
But you can as well connect if you know the id of the server. If you are using zsh as your shell - wrap your server id in single qoutes e.g.
sudo protonvpn c 'IS-DE#1'
sudo protonvpn d
Proton VPN provides a free service which is limited to servers from three (3) countries and one (1) connection. The free account does not include P2P, Tor over VPN or the Secure core.
From time to time you can get a bargain deal - I got a Black Friday deal on my Proton Mail account with 50% off on a 2 year Proton VPN Plus.