A modern, fast, and sleek GlobalProtect VPN client built with Tauri, React, and OpenConnect.
Designed as a free, open-source alternative for the Linux community who need a reliable GlobalProtect connection without the hassle. If you've been looking for a way to connect to your corporate VPN on Linux with a native-feeling experience, smooth system tray integration, and seamless credential management — this is your solution.
- Connection Logs: Real-time log viewer to monitor connection status and troubleshoot issues.
- Enhanced Connectivity: Auto-reconnect logic handles network interruptions gracefully.
- Security Checks: Built-in validation allows you to fix permission issues effortlessly.
- Zero-Password Connection: No root password prompt every time you connect (via automated security policy).
- System Tray Integration: Live connection status (Connected ✅ / Disconnected ❌) directly in your panel.
- Smart Auto-Connect: Automatically connects if credentials are saved.
- Modern UI: Sleek, compact design (width 288px) that looks great on any desktop.
- Credential Management: Store and manage your portal, username, and password in Settings. The local config is restricted to the current user.
- Multi-Distro Support: Available in
.deb(Debian/Ubuntu) and.rpm(Fedora/RHEL) formats.
- Download the latest
.debpackage from the Releases page. - Install it using
aptto automatically fetch dependencies:sudo apt install ./GlobalProtect_1.2.5_amd64.deb
- Download the latest
.rpmpackage from the Releases page. - Install it using
dnf:sudo dnf install ./GlobalProtect-1.2.5-1.x86_64.rpm
- Download the
.AppImagefile. - Make it executable:
chmod +x GlobalProtect_1.2.5_amd64.AppImage
- Run it:
./GlobalProtect_1.2.5_amd64.AppImage
Note: Do not run the AppImage with
sudo. Instead, follow the security tip below to allow the internal VPN process to run with privileges.Compatibility: The AppImage does not bundle OpenConnect,
vpnc-scripts, WebKitGTK, or the restricted privilege helper. Install those runtime dependencies separately. It is primarily tested on Debian-based distributions; Fedora/RHEL users should use the native.rpminstaller.
Native packages install a restricted, root-owned helper for passwordless connections. For development mode, install the same helper and policy once:
sudo install -D -o root -g root -m 0755 src-tauri/globalprotect-helper /usr/libexec/globalprotect/openconnect-helper
sudo install -D -o root -g root -m 0440 src-tauri/globalprotect-sudoers /etc/sudoers.d/globalprotect
sudo visudo -cf /etc/sudoers.d/globalprotectThe helper is used by packaged builds so arbitrary root commands cannot be passed through OpenConnect's --script option. Do not broaden the production policy beyond the packaged helper.
Requirements:
- Node.js (v20+)
- Rust (stable)
- OpenConnect (install
openconnectwith your distribution's package manager)
# Clone the repository
git clone https://github.com/EPX-PANCA/globalprotect-client-linux.git
# Install dependencies
npm install
# Run in development mode
npm run tauri dev
# Build production installer
npm run tauri buildDeveloped by EPX-PANCA. Powered by Tauri and OpenConnect.
v1.2.5 for Linux (x86_64 packages)
