ProtonVPN-CLI
A Linux CLI for ProtonVPN. Written in Python.
ProtonVPN-CLI is a full rewrite of the bash protonvpn-cli in Python, which adds more features and functionality with the purpose of improving readability, speed and reliability.
Installation & Updating
For more detailed information on installing, updating and uninstalling, please view the extensive usage guide.
Installing Dependencies
Dependencies:
- openvpn
- dialog (optional, needed for interactive selection)
- pip for python3 (pip3)
- python3.5+
- setuptools for python3 (python3-setuptools)
Depending on your distribution, run the appropriate following command to install the necessary dependencies
Distro | Command |
---|---|
Fedora/CentOS/RHEL | sudo dnf install -y openvpn dialog python3-pip python3-setuptools |
Ubuntu/Linux Mint/Debian and derivatives | sudo apt install -y openvpn dialog python3-pip python3-setuptools |
OpenSUSE/SLES | sudo zypper in -y openvpn dialog python3-pip python3-setuptools |
Arch Linux/Manjaro | sudo pacman -S openvpn dialog python-pip python-setuptools |
Installing ProtonVPN-CLI
Installation happens via Python's package manager PIP.
Note: Make sure to run pip with sudo, so it installs globally and recognizes the command with sudo
sudo pip3 install protonvpn-cli
Updating ProtonVPN-CLI
sudo pip3 install protonvpn-cli --upgrade
Manual Installation from source
Disclaimer: If you are unsure about what you're doing, please follow the normal installation guide.
It is recommended to do the manual installation in a virtual environment. Especially if it serves the purpose of developing.
-
Clone this repository
git clone https://github.com/protonvpn/protonvpn-cli-ng
-
Step into the directory
cd protonvpn-cli-ng
-
Install
pip3 install -e .
For updating, you just need to pull the latest version of the repository with git.
How to use
usage guide.
For more detailed information, see the extensiveCommand | Description |
---|---|
protonvpn init |
Initialize ProtonVPN profile. |
protonvpn connect, c |
Select a ProtonVPN server and connect to it. |
protonvpn c [servername] |
Connect to a specified server. |
protonvpn c -r |
Connect to a random server. |
protonvpn c -f |
Connect to the fastest server. |
protonvpn c --p2p |
Connect to the fastest P2P server. |
protonvpn c --cc [countrycode] |
Connect to the fastest server in a specified country. |
protonvpn c --sc |
Connect to the fastest Secure Core server. |
protonvpn reconnect, r |
Reconnect or connect to the last server used. |
protonvpn disconnect, d |
Disconnect the current session. |
protonvpn status, s |
Print connection status. |
protonvpn configure |
Change CLI configuration. |
protonvpn refresh |
Refresh OpenVPN configuration and server data. |
protonvpn examples |
Print example commands. |
protonvpn --version |
Display version. |
protonvpn --help |
Show help message. |
All connect options can be used with the -p
flag to explicitly specify which transmission protocol is used for that connection (either udp
or tcp
).