* 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
		
			
				
	
	
	
		
			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
- 
Install openconnect v8.x
sudo apt install openconnect openconnect --versionFor Ubuntu 18.04 you might need to build the latest openconnect from source code.
 - 
Install the Qt dependencies
For Ubuntu 20, this should work.
sudo apt install qtbase5-dev libqt5websockets5-dev qtwebengine5-dev qttools5-dev debhelperFor 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
