Skip to main content

An unofficial GUI for ProtonVPN on Linux.

Project description



GitHub Downloads

Downloads per Week PyPi Downloads

Python Versions Wheel License

A GUI for ProtonVPN-CLI on Linux (Unofficial), written entirely in Python.

ProtonVPN-CLI-GUI is Kivy-based GUI built on top of protonvpn-cli-ng as the back-end. Wherever possible, the GUI relies on the actual code of the CLI, so ProtonVPN-CLI-GUI will remain up to date with ProtonVPN-CLI.

Installing Dependencies


To install ProtonVPN-CLI, depending on your distribution, run the appropriate following command to install the necessary dependencies. For more detailed information on installing, updating and uninstalling, please view the extensive usage guide:

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

Once you've installed protonvpn-cli-ng, install ProtonVPN-CLI-GUI.

Note: This has only been tested on Linux Mint 19.3 Cinnamon.

Installing ProtonVPN-CLI-GUI

You can either install via PIP (simple) or by cloning this repository (must manually manage dependencies, etc).

Note: Make sure to run pip with sudo

sudo pip3 install protonvpn-cli-gui

To update to a new version

sudo pip3 install protonvpn-cli-gui --upgrade

Manual Installation

  1. Clone this repository:

    git clone

  2. Navigate to the directory:

    cd {/path/to/directory/}protonvpn-cli-gui

  3. Install:

    sudo python3 install

How to use

sudo protonvpn-cli-gui

Recommendation for Convenience:

For passwordless execution without using a terminal, such as by automated script or .desktop file, update your sudoers file by using sudo visudo and paste the following at the bottom (last line) of your file:

{your_linux_username} ALL = (root) NOPASSWD: /usr/local/bin/protonvpn-cli-gui

Note: The path to your bin might be different. To find, use which protonvpn-cli-gui

Create .desktop file

To create a desktop application launcher using a .desktop file:

  1. Create a new file in .local/share/applications/ named protonvpn-cli-gui.desktop with the following contents:

    [Desktop Entry]
    Exec=sudo protonvpn-cli-gui

    Note: Be sure to update the Icon with your own path to an image file.

This is a pre-release and not all planned features have been implemented.

Some remaining features include:

  • Logging (GUI-only. Kivy, OpenVPN, and ProtonVPN-CLI all have logs of their own.)
  • Searchable Server List
  • Start on Boot
  • Connection Profiles (user-configurable connection profiles that can be saved, e.g. "Fastest TOR server with TCP connection", "Fastest P2P server in Iceland", etc.).
  • Built-in Connection Speed Test
  • System Tray icon with connection status notification


Main Screen

Secure Core Notification


Secure Core


VPN Settings

Project details

Download files

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

Files for protonvpn-cli-gui, version 0.1.9
Filename, size File type Python version Upload date Hashes
Filename, size protonvpn_cli_gui-0.1.9-py3-none-any.whl (2.9 MB) File type Wheel Python version py3 Upload date Hashes View
Filename, size protonvpn-cli-gui-0.1.9.tar.gz (2.7 MB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page