npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@nodepisss/protonvpn-cli

v2.2.12

Published

Community-driven CLI for ProtonVPN on Linux

Readme

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.

Deprecation notice

Proton VPN is upgrading its OpenVPN infrastructure. This means the legacy OpenVPN configuration will stop working on 31 March 2025. After this date, you’ll need to switch to the official Proton VPN for Linux app, or reconfigure OpenVPN or WireGuard manually.

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.