Skip to main content

An unofficial GUI for ProtonVPN on Linux.

Project description

ProtonVPN-CLI-GUI

ProtonVPN

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

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

Installing ProtonVPN-CLI

sudo pip3 install protonvpn-cli

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

Kivy Dependencies

Prior to installing the GUI, run the following command to ensure the necessary Kivy dependencies are in place.

sudo apt install -y build-essential git python3-dev ffmpeg libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libportmidi-dev libswscale-dev libavformat-dev libavcodec-dev zlib1g-dev xclip

For installing the 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 https://github.com/jcemerson/protonvpn-cli-gui

  2. Navigate to the directory:

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

  3. Install:

    sudo python3 setup.py 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]
    Name=ProtonVPN-CLI-GUI
    GenericName=ProtonVPN-CLI-GUI
    Exec=sudo protonvpn-cli-gui
    Icon={path/to/icon}
    Type=Application
    Terminal=False
    Categories=Network;VPN
    

    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

Screenshots

Main Screen

Secure Core Notification

Disconnected

Secure Core

Menu

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.

Source Distribution

protonvpn-cli-gui-0.1.10.tar.gz (2.7 MB view hashes)

Uploaded Source

Built Distribution

protonvpn_cli_gui-0.1.10-py3-none-any.whl (2.9 MB view hashes)

Uploaded Python 3

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