/gse-protonvpn-status

A GNOME extension for controlling and monitoring your ProtonVPN connection.

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Gnome version GitHub top language License

A GNOME extension for controlling and monitoring your ProtonVPN connection through the GNOME DE.

IMPORTANT FOR THIS EXTENSION TO WORK

You need to follow this official guide by the ProtonVPN team to allow this extension to handle the ProtonVPN linux-cli client without superuser privileges.

2022-3-20 Announcement

Over the past two year, I've set out to updating this project eight different times. Every time, I find myself giving up because it's time-consuming and inconvenient. I love this project and the fantastic GNOME community. I feel like I have a home here. But, extension development is challenging and there are more fun things to work on. That's why I'm archiving this repository. At some point, I'd like to make a Rust/GTK ProtonVPN client to replace this, but I'm not sure when I'd have the time for it.

For now, all I can say is thank you so much for your support in this project! I absolutely intend to continue contributing to GNOME in any way I can. ~Ari


The ProtonVPN team has implemented the ability to use pkexec in version 2.2.3 of the linux-cli client.

Using pkexec makes this guide unnecessary since it will handle the use of sudo on behalf of this extension. Version 5 of this extension will allow you to switch between using pkexec and sudo. For now, you must follow the guide for the extension to work.

What This Extension Offers

If you want to interact with ProtonVPN the same way GNOME's network-manager handles OpenVPN, this is the extension for you.

screenshot preview

This extension offers a drop-down item in the user menu which will simply allow you to connect/disconnect from ProtonVPN. You will be notified when the extension starts connecting or disconnecting using the ProtonVPN linux-cli client.

How to Install This Extension

This extension uses the ProtonVPN linux-cli tool. You will need to install it before using this extension. Please follow ProtonVPN's installation guide for your current distribution:

https://protonvpn.com/support/linux-vpn-tool/

Once you've done that, install and enable the extension on GNOME Extensions:

Get it on GNOME Extensions

Manual Install

Or if you want the latest version that is not on GNOME Extensions, you can install the extension directly from this repository using the following command:

git clone git@github.com:ceiphr/gse-protonvpn-status.git /home/$USER/.local/share/gnome-shell/extensions/protonvpn-status@ceiphr.com

Planned Features

Planned Features Feature Implemented
Add notification to indicate connection status Done
Change VPN notification icon to ProtonVPN mark Done
Use pkexec to handle sudo commands
Add country/connection type selection support
Add autostart option in extension settings
Add GUI for changing linux-cli client settings

Compatibility

This extension has been tested with GNOME 3.36.

Credits

This extension is developed and maintained by @ceiphr.

Significant portions of code in this extension were derived from @bajcmartinez's NordVPN-Status.

The ProtonVPN logo and mark are both registered trademarks of Proton Technologies AG.

The GNOME foot logo is a registered trademark of The GNOME Foundation.

The checkmark icon used in "Planned Features" was created by Icons8.

Thank you to u/ndhlms for recommending the use of GSubprocess for handling status updated.

License & Terms

ProtonVPN Status is available under the GNU GENERAL PUBLIC LICENSE v3.0.

Disclaimer

ProtonVPN is a product of Proton Technologies AG. I, Ari Birnbaum, am in no way affiliated with ProtonVPN, the ProtonVPN team, or Proton Technologies AG. Please determine if your issue pertains to this extension or to ProtonVPN's linux-cli client before reporting it.

Thank you for using the extension. I really appreciate it.