# GlobalProtect-openconnect A GlobalProtect VPN client (GUI) for Linux based on Openconnect and built with Qt5, supports SAML auth mode, inspired by [gp-saml-gui](https://github.com/dlenski/gp-saml-gui).
## Display the system tray icon on Gnome 40 Install the [AppIndicator and KStatusNotifierItem Support](https://extensions.gnome.org/extension/615/appindicator-support/) extension and you will see the system try icon (Restart the system after the installation).
## Prerequisites - Openconnect v8.x - Qt5, qt5-webengine, qt5-websockets ## Build & Install Clone this repo with: ```sh git clone https://github.com/yuezk/GlobalProtect-openconnect.git cd GlobalProtect-openconnect ``` ### Arch/Manjaro Install from the [globalprotect-openconnect](https://aur.archlinux.org/packages/globalprotect-openconnect/) AUR. ### Ubuntu/Mint For **Ubuntu 18.04**, add this [dwmw2/openconnect](https://launchpad.net/~dwmw2/+archive/ubuntu/openconnect) PPA first to install the latest openconnect. ```sh sudo add-apt-repository ppa:dwmw2/openconnect sudo apt update ``` ...then build and install with: ```sh ./scripts/install-ubuntu.sh ``` ### openSUSE Build and install with: ```sh ./scripts/install-opensuse.sh ``` ### Fedora Build and install with: ```sh ./scripts/install-fedora.sh ``` ### Other Linux Install the Qt5 dependencies and OpenConnect: - QtCore - QtWebEngine - QtWebSockets - QtDBus - openconnect v8.x ...then build and install with: ```sh ./scripts/install.sh ``` ### Debian package Relatively manual process for now: * Clone the source tree ``` git clone https://github.com/yuezk/GlobalProtect-openconnect.git cd GlobalProtect-openconnect ``` * Install git-archive-all using the pip. Remember to adjust the version numbers etc. ``` pip install git-archive-all ``` * Next create an upstream source tree using git archive. ``` git-archive-all --force-submodules --prefix=globalprotect-openconnect-1.3.0/ ../globalprotect-openconnect_1.3.0.orig.tar.gz ``` * Finally extract the source tree, build the debian package, and install it. ``` cd .. tar -xzvf globalprotect-openconnect_1.3.0.orig.tar.gz cd globalprotect-openconnect-1.3.0 fakeroot dpkg-buildpackage -uc -us -sa 2>&1 | tee ../build.log sudo dpkg -i globalprotect-openconnect_1.3.0-1ppa1_amd64.deb ``` ### NixOS In `configuration.nix`: ``` services.globalprotect = { enable = true; # if you need a Host Integrity Protection report csdWrapper = "${pkgs.openconnect}/libexec/openconnect/hipreport.sh"; }; environment.systemPackages = [ globalprotect-openconnect ]; ``` ## [License](./LICENSE) GPLv3