
Security News
vlt Launches "reproduce": A New Tool Challenging the Limits of Package Provenance
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
protonvpn-linux-gui-calexandru2018
Advanced tools
Protonvpn-linux-gui works on top of protonvpn-cli-ng, making it a dependency. All local configurations are managed by the GUI (such as updating protocol, split tunneling, manage killswitch) while the connections are managed by the CLI. This way, you will be able to use the latest version of the CLI, while also being able to use the GUI.
Distro | Command |
---|---|
Fedora/CentOS/RHEL | sudo dnf install -y python3-gobject gtk3 |
Ubuntu/Linux Mint/Debian and derivatives | sudo apt install -y python3-gi python3-gi-cairo gir1.2-gtk-3.0 |
OpenSUSE/SLES | sudo zypper install python3-gobject python3-gobject-Gdk typelib-1_0-Gtk-3_0 libgtk-3-0 |
Arch Linux/Manjaro | sudo pacman -S python-gobject gtk3 |
While this works well on X11, there are certain restrictions on Wayland since it does not allow GUIs to be launched as root. The way the GUI works at the moment is that it accesses much of the content that the CLI protects with sudo, thus starting with sudo lowers the UX friction, though this is subject to change. More info here and here.
Workaround is provied:
xhost
or x11-xserver-utils
xhost si:localuser:root
sudo protonvpn-gui
Distro | Command |
---|---|
Fedora/CentOS/RHEL | sudo dnf install -y libappindicator-gtk3 |
Ubuntu/Linux Mint/Debian and derivatives | sudo apt install -y gir1.2-appindicator3 |
OpenSUSE/SLES | sudo zypper install libappindicator-gtk3 |
Arch Linux/Manjaro | sudo pacman -S libappindicator-gtk3 |
NOTE: Gnome users will to install and additional extension for this to work: KStatusNotifierItem/AppIndicator Support
There is a known issue when user attempts to start the systray/appindicator. This might throw an error that is simillar to this one: (<app-name>:<pid>) LIBDBUSMENU-GLIB-WARNING **: Unable to get session bus: Failed to execute child process "dbus-launch" (No such file or directory)
if a user does not have a specific package installed. If you are unable to use the systray/appindicator and have a simillar error then a solution is provided below.
Solution:
Install dbus-x11
package for your distribution, more information can be found on this stackoverflow post.
Note: Make sure to run pip with sudo
sudo pip3 install protonvpn-linux-gui-calexandru2018
sudo pip3 install protonvpn-linux-gui-calexandru2018 --upgrade
Clone this repository
git clone https://github.com/calexandru2018/protonvpn-linux-gui
Step into the directory
cd protonvpn-linux-gui
Install
sudo python3 setup.py install
If you would like to run the the GUI within a virtual environment (for either development purpose or other), then you can easily do that with the help of pipenv. Make sure to install pipenv beforehand following the next steps.
git clone https://github.com/calexandru2018/protonvpn-linux-gui
cd protonvpn-linux-gui
pipenv install
installs the virtual environment and all necessary dependencies from Pipfile
.pipenv shell
enters the virtual environment.sudo pip install -e .
installs the GUI in your virtual environment.sudo protonvpn-gui
starts the GUI from within the virtual environment.sudo protonvpn-gui
protonvpn-tray
To create at desktop launcher with a .desktop file, follow the instrucitons below.
Find the path to the package with pip3 show protonvpn-linux-gui-calexandru2018
You should get something like Location: /usr/local/lib/<YOUR_PYTHON_VERSION>/dist-packages
, this is where your Python packages reside. Note: Based on your distro, your Location
path may not look exactly like this one, so make sure to use your own and Location
path.
Based on previous information, the path to your icon should be <PATH_DISPLAYED_IN_STEP_1>/protonvpn_linux_gui/resources/img/logo/protonvpn_logo.png
Create a protonvpn-gui.desktop
file in .local/share/applications/
, and paste in the following code. Remember to change the Icon
path to your own path.
[Desktop Entry]
Name=ProtonVPN GUI
GenericName=Unofficial ProtonVPN GUI for Linux
Exec=sudo protonvpn-gui
Icon=<YOUR_ICON_PATH>
Type=Application
Terminal=False
Categories=Utility;GUI;Network;VPN
To create at tray icon launcher with a .desktop file, follow the instrucitons below.
Find the path to the package with pip3 show protonvpn-linux-gui-calexandru2018
You should get something like Location: /usr/local/lib/<YOUR_PYTHON_VERSION>/dist-packages
, this is where your Python packages reside. Note: Based on your distro, your Location
path may not look exactly like this one, so make sure to use your own and Location
path.
Based on previous information, the path to your icon should be <PATH_DISPLAYED_IN_STEP_1>/protonvpn_linux_gui/resources/img/logo/protonvpn_logo.png
Create a protonvpn-tray.desktop
file in .local/share/applications/
, and paste in the following code. Remember to change the Icon
path to your own path.
[Desktop Entry]
Name=ProtonVPN GUI Tray
GenericName=Unofficial ProtonVPN GUI Tray for Linux
Exec=protonvpn-tray
Icon=<YOUR_ICON_PATH>
Type=Application
Terminal=False
Categories=Utility;GUI;Network;VPN
If you would like to launch the GUI without having to type in your sudo password everytime, then you could add the bin to visudo
. This is extremly useful when you have a .desktop file, and all you want to do is click the launcher to have the GUI pop-up without being prompted for sudo password.
which protonvpn-gui
. You should get something like this: /usr/bin/protonvpn-gui
. Save it since you will need it later. Note: As previously mentioned, the path may look different for you, based on your distro.whoami
. Save it (or memorize it).sudo visudo
, and a window should pop-up, scroll to the very bottom of it.<YOUR_USERNAME_FROM_STEP2> ALL = (root) NOPASSWD: <YOUR_PATH_FROM_STEP1>
FAQs
Unofficial Linux GUI client for ProtonVPN
We found that protonvpn-linux-gui-calexandru2018 demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.