Skip to main content

Linux command-line client for ProtonVPN

Project description

ProtonVPN-CLI

Logo

Downloads GitHub Downloads per Week
Twitter Follow Subreddit subscribers

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.

Important information

The official ProtonVPN Linux app is available for Debian 10, Ubuntu 20+, Mint 19+, MX Linux 19+, Fedora 31+ and Archlinux / Manjaro. Where possible, we recommend that you upgrade to the official app. The community Linux client described below remains available for those who need it.

Installation & Updating

For more detailed information on installing, updating and uninstalling, please view the extensive usage guide.

Installing from distribution repositories

For the following Linux distribution(s), install the official protonvpn-cli package:

Fedora

sudo dnf install -y protonvpn-cli

CentOS & RHEL

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

Installing from PyPI

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.

  1. Clone this repository

    git clone https://github.com/ProtonVPN/linux-cli-community

  2. Step into the directory

    cd linux-cli

  3. Install

    pip3 install -e .

For updating, you just need to pull the latest version of the repository with git.

How to use

For more detailed information, see the extensive usage guide.

Command 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).

Contributing

If you want to contribute to this project, please read the contribution guide.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

protonvpn_cli-2.2.11.tar.gz (29.7 kB view details)

Uploaded Source

Built Distribution

protonvpn_cli-2.2.11-py3-none-any.whl (41.5 kB view details)

Uploaded Python 3

File details

Details for the file protonvpn_cli-2.2.11.tar.gz.

File metadata

  • Download URL: protonvpn_cli-2.2.11.tar.gz
  • Upload date:
  • Size: 29.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.6

File hashes

Hashes for protonvpn_cli-2.2.11.tar.gz
Algorithm Hash digest
SHA256 dfeac76f80e49573819c9fae51fa4c7b7638dabdb61c9c91a4caad5f5edb08ce
MD5 2359552b636c051c4dcc2787f31390ad
BLAKE2b-256 7df755844a152a8a08ff6acb62e6eb38c5df29eb8843927d1bdda0b752acbdf4

See more details on using hashes here.

File details

Details for the file protonvpn_cli-2.2.11-py3-none-any.whl.

File metadata

  • Download URL: protonvpn_cli-2.2.11-py3-none-any.whl
  • Upload date:
  • Size: 41.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.6

File hashes

Hashes for protonvpn_cli-2.2.11-py3-none-any.whl
Algorithm Hash digest
SHA256 78211b9755b08cecbc55585e416a4477f9ad9269829a335577777aba068b3b6a
MD5 c294bb659282e4dedcbe56f0c388a010
BLAKE2b-256 4a4ad666fdd1131787f52ffe9d374f1697823a9c73e7aac1a1c22ff0552a8c3a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page