Skip to content

jcemerson/protonvpn-cli-gui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Kivy-based ProtonVPN GUI for protonvpn-cli-ng on Linux (Unofficial)

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages