GlobalProtect-openconnect/README.md
Robert M Flight 3495dbfe18
Remove qt5 default (#68)
* removing qt5-default

as of ubuntu 21.04 it doesn't exist anymore

* update readme

based on ubuntu 21, and actually installing the deb for ubuntu

* missed the other package
2021-07-04 18:31:28 +08:00

3.0 KiB

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

    sudo apt install openconnect
    openconnect --version
    

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

  2. Install the Qt dependencies

    For Ubuntu 20, this should work.

    sudo apt install qtbase5-dev libqt5websockets5-dev qtwebengine5-dev qttools5-dev debhelper
    

    For Ubuntu 21, you need to install the base pieces separately as QT5 is the default.

    sudo apt install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libqt5websockets5-dev qtwebengine5-dev qttools5-dev debhelper
    

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, 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

GPLv3