Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jcemerson/protonvpn-cli-gui
Kivy-based ProtonVPN GUI for protonvpn-cli-ng on Linux (Unofficial)
https://github.com/jcemerson/protonvpn-cli-gui
kivy linux protonvpn protonvpn-cli-ng python3
Last synced: 3 months ago
JSON representation
Kivy-based ProtonVPN GUI for protonvpn-cli-ng on Linux (Unofficial)
- Host: GitHub
- URL: https://github.com/jcemerson/protonvpn-cli-gui
- Owner: jcemerson
- License: gpl-3.0
- Created: 2020-03-07T22:47:29.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-04-28T22:17:05.000Z (over 3 years ago)
- Last Synced: 2024-04-29T04:04:49.026Z (9 months ago)
- Topics: kivy, linux, protonvpn, protonvpn-cli-ng, python3
- Language: Python
- Size: 2.71 MB
- Stars: 11
- Watchers: 4
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
ProtonVPN-CLI-GUI
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:**
- Kivy
- OpenVPN
- pip for Python3 (pip3)
- ProtonVPN-CLI
- Python3.6+
- setuptools for python3 (python3-setuptools)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](https://github.com/ProtonVPN/protonvpn-cli-ng/blob/master/USAGE.md#installation--updating):| **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