Package: qvpnstatus
QVpnStatusVPN Status tray icon for monitoring VPN connections from nmcli. Allows you to specify interval to check and also toggle off sound notifications.See linkherefor more information.It is based on mycopier-poetry-fbsskeleton which uses PyQT5 for the GUI elements andfbsfor the installer creation.Installation###Debian/Ubuntu/Mint Linux InstallationManual Installer link without automatic updates.https://fbs.sh/qvpnstatus/qvpnstatus/qvpnstatus.deb###Install from website.wgethttps://fbs.sh/qvpnstatus/qvpnstatus/qvpnstatus.deb
sudodpkg-iqvpnstatus.deb####To install with automatic updates supported via repo.sudoapt-getinstall-yapt-transport-https
wget-qO-https://fbs.sh/qvpnstatus/qvpnstatus/public-key.gpg|sudoapt-keyadd-echo'deb [arch=amd64] https://fbs.sh/qvpnstatus/qvpnstatus/deb stable main'|sudotee/etc/apt/sources.list.d/qvpnstatus.list
sudoapt-getupdate;sudoapt-getinstall-yqvpnstatusInstallation is done into /opt/qvpnstatus/###Arch Linux Installation####Manual Installer link without automatic updates.https://fbs.sh/qvpnstatus/qvpnstatus/qvpnstatus.pkg.tar.xz####To install with automatic updates supported via repo.curl-Ohttps://fbs.sh/qvpnstatus/qvpnstatus/public-key.gpg&&sudopacman-key--addpublic-key.gpg&&sudopacman-key--lsign-key9EF5FD1B7714354D0535303CFF1B29F26A1378E8&&rmpublic-key.gpgecho-e'\n[qvpnstatus]\nServer = https://fbs.sh/qvpnstatus/qvpnstatus/arch'|sudotee-a/etc/pacman.conf
sudopacman-SyuqvpnstatusIf you already have the app installed, you can force an immediate update via:sudopacman-Syu--neededqvpnstatusInstallation viapip:python3.7-mpipinstallqvpnstatusInstallation viapipx:python3.7-mpipinstall--userpipx

pipxinstall--pythonpython3.7qvpnstatusDev RequirementsQVpnStatus requires Python 3.7 or above.To install Python 3.7, I recommend usingpyenv.# install pyenvgitclonehttps://github.com/pyenv/pyenv~/.pyenv# setup pyenv (you should also put these three lines in .bashrc or similar)exportPATH="${HOME}/.pyenv/bin:${PATH}"exportPYENV_ROOT="${HOME}/.pyenv"eval"$(pyenvinit-)"# install Python 3.7pyenvinstall3.7.12# make it available globallypyenvglobalsystem3.7.12Creating a native installerclone the repo locallygit clone git@gitlab.com:mikeramsey/qvpnstatus.gitInstallpoetrycurl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python3 -Setting the below settings are highly recommended for ensuring the virtual environment poetry makes is located inside the project folder.poetry config virtualenvs.create true; poetry config virtualenvs.in-project true;Runpoetry installin the path to install all the dependenciesEnter the virtual environment that poetry created. This can be found by runningpoetry env infoSee alsohereRunfbs freezeand thenfbs installerafterwards if the frozen "compiled" app runs without issues. Seeherefor more on how fbs works. And alsohereCreditsSpecial thanks to below references and resources.Resources:
Python nmcli api package which made this a breeze:https://github.com/ushiboy/nmclihttps://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