Go to file
2021-06-18 21:35:28 +08:00
.github/workflows Update publish.yml 2021-05-07 13:42:33 +08:00
debian Update changelog 2020-07-09 10:22:38 +08:00
GPClient Release 1.2.8 2021-04-24 22:21:29 +08:00
GPService Fix locale for GPService 2020-05-24 23:33:49 +08:00
plog@fda4a26c26 Code refactor, support multiple gateways and non-SAML authentication (#9) 2020-05-23 15:51:10 +08:00
singleapplication@0f6695e2a9 Add singleapplication 2020-02-15 16:42:20 +08:00
.gitignore Fix locale for GPService 2020-05-24 23:33:49 +08:00
.gitmodules Code refactor, support multiple gateways and non-SAML authentication (#9) 2020-05-23 15:51:10 +08:00
GlobalProtect-openconnect.pro Initial commit 2020-02-15 16:26:32 +08:00
LICENSE Initial commit 2020-02-15 16:23:49 +08:00
PKGBUILD.template Mark for inclusion in aarch64 archlinux repository (#58) 2021-05-06 15:19:07 +08:00
README.md README.md: add section for NixOS (#65) 2021-06-18 21:35:28 +08:00
screenshot.png Move image 2020-02-20 23:31:33 +08:00

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.

Features

  • Similar user experience as the official client in macOS.
  • Supports both SAML and non-SAML authentication modes.
  • Supports automatically selecting the preferred gateway from the multiple gateways.
  • Supports switching gateway from the system tray menu manually.

Prerequisites

  • Openconnect v8.x
  • Qt5, qt5-webengine, qt5-websockets

Ubuntu

  1. Install openconnect v8.x

    For Ubuntu 18.04 you might need to build the latest openconnect from source code.

  2. Install the Qt dependencies

    sudo apt install qt5-default libqt5websockets5-dev qtwebengine5-dev qttools5-dev
    

OpenSUSE

Install the Qt dependencies

sudo zypper install libqt5-qtbase-devel libqt5-qtwebsockets-devel libqt5-qtwebengine-devel

Install

Install from AUR (Arch/Manjaro)

Install globalprotect-openconnect.

Build from source code

git clone https://github.com/yuezk/GlobalProtect-openconnect.git
cd GlobalProtect-openconnect
git submodule update --init

# qmake or qmake-qt5
qmake CONFIG+=release
make
sudo make install

Open GlobalProtect VPN in the application dashboard.

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 and build the debian package.

    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
    

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

GPLv3