A GUI for GlobalProtect VPN, based on OpenConnect, supports the SSO authentication method. Inspired by gp-saml-gui.
- Better Linux support
- Support both CLI and GUI
- Support both SSO and non-SSO authentication
- Support the FIDO2 authentication (e.g., YubiKey)
- Support authentication using default browser
- Support multiple portals
- Support gateway selection
- Support connect gateway directly
- Support auto-connect on startup
- Support system tray icon
The CLI version is always free and open source in this repo. It has almost the same features as the GUI version.
Usage: gpclient [OPTIONS] <COMMAND>
Commands:
connect Connect to a portal server
disconnect Disconnect from the server
launch-gui Launch the GUI
help Print this message or the help of the given subcommand(s)
Options:
--fix-openssl Get around the OpenSSL `unsafe legacy renegotiation` error
--ignore-tls-errors Ignore the TLS errors
-h, --help Print help
-V, --version Print version
See 'gpclient help <command>' for more information on a specific command.
The GUI version is also available after you installed it. You can launch it from the application menu or run gpclient launch-gui
in the terminal.
Note
The GUI version is partially open source. Its background service is open sourced in this repo as gpservice. The GUI part is a wrapper of the background service, which is not open sourced.
Note
This instruction is for the 2.x version. The 1.x version is still available on the 1.x branch, you can build it from the source code by following the instructions in the README.md
file.
Warning
The client requires openconnect >= 8.20
, please make sure you have it installed, you can check it with openconnect --version
.
Installing the client from PPA will automatically install the required version of openconnect
.
sudo add-apt-repository ppa:yuezk/globalprotect-openconnect
sudo apt-get update
sudo apt-get install globalprotect-openconnect
Note
For Linux Mint, you might need to import the GPG key with: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7937C393082992E5D6E4A60453FC26B43838D761
if you encountered an error gpg: keyserver receive failed: General error
.
Download the latest deb package from releases page. Then install it with dpkg
:
sudo dpkg -i globalprotect-openconnect_*.deb
Install from AUR: globalprotect-openconnect-git
yay -S globalprotect-openconnect-git
Download the latest package from releases page. Then install it with pacman
:
sudo pacman -U globalprotect-openconnect-*.pkg.tar.zst
The package is available on COPR for various RPM-based distributions. You can install it with the following commands:
sudo dnf copr enable yuezk/globalprotect-openconnect
sudo dnf install globalprotect-openconnect
The package is also available on OBS for various RPM-based distributions. You can follow the instructions on this page to install it.
Download the latest RPM package from releases page.
The project depends on openconnect >= 8.20
, webkit2gtk
, libsecret
, libayatana-appindicator
or libappindicator-gtk3
. You can install them first and then download the latest binary release (i.e., *.bin.tar.gz
) from releases page.
The CLI version is always free, while the GUI version is paid. There are two trial modes for the GUI version:
- 10-day trial: You can use the GUI stable release for 10 days after the installation.
- 14-day trial: Each beta release has a fresh trial period (at most 14 days) after released.
GPLv3