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.
For more detailed information on installing, updating and uninstalling, please view the extensive usage guide.
For the following Linux distribution(s), install the official
guix install protonvpn-cli
sudo dnf install -y protonvpn-cli
protonvpn-cli is available for CentOS/RHEL 7.x and 8.x via the EPEL repositories.
For CentOS/RHEL 7.x:
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo yum install protonvpn-cli
For CentOS/RHEL 8.x:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo dnf install -y protonvpn-cli
Depending on your distribution, run the appropriate following command to install the necessary dependencies
|Ubuntu/Linux Mint/Debian and derivatives||
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
sudo pip3 install protonvpn-cli --upgrade
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/linux-cli
Step into the directory
pip3 install -e .
For updating, you just need to pull the latest version of the repository with git.
||Initialize ProtonVPN profile.|
||Select a ProtonVPN server and connect to it.|
||Connect to a specified server.|
||Connect to a random server.|
||Connect to the fastest server.|
||Connect to the fastest P2P server.|
||Connect to the fastest server in a specified country.|
||Connect to the fastest Secure Core server.|
||Reconnect or connect to the last server used.|
||Disconnect the current session.|
||Print connection status.|
||Change CLI configuration.|
||Refresh OpenVPN configuration and server data.|
||Print example commands.|
||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
If you want to contribute to this project, please read the contribution guide.