QVPN Status Monitor Status and restart VPN Connections in Linux

This mini tool is a systemtray applet for monitoring and restarting vpn connections with desktop notifications and optional sound notifications and intervals. If you are on linux some of the VPN GUI options are pretty limited. Another good reason is that some vpn connection profiles will not work properly in Gnome network manager, but work fine when started via nmcli.

When working from home like most are these days its super common to think your on your work’s VPN and not be. Then when you do realize your not your VPN your 2 Factor push notifications have piled up and now you cannot reconnect till the time out with the remote server and 2FA proxy clears. This really hampers work productivity and ups the frustration factor. After having suffered with a Windows VM which made things easier to be able to work on work VPN a coworker recently suggested I give Linux another try as I already use Mint for my personal stuff. After getting it working thanks to his help manually I decided to make systemtray applet as I already have Desktop Application development skills and out came this nifty tool over the weekend.

Repo and code is opensource. With very little effort you can mod it to trigger custom customs sounds or whatever you might need.

See the repo below for installation instructions and source code if you prefer compiling from source.

https://gitlab.com/mikeramsey/qvpnstatus

It is based on my copier-poetry-fbs skeleton which uses PyQT5 for the GUI elements and fbs for the installer creation.

Special thanks to below references and resources.

Resources:
Python nmcli api package which made this a breeze:
https://github.com/ushiboy/nmcli
https://pypi.org/project/nmcli/

References:
https://www.learnpyqt.com/tutorials/system-tray-mac-menu-bar-applications-pyqt/
https://itectec.com/ubuntu/ubuntu-connect-disconnect-from-vpn-from-the-command-line/
https://www.devdungeon.com/content/python3-qt5-pyqt5-tutorial#toc-9


Leave a Comment

Item added to cart.
0 items - $0.00