openfortivpn-gui

module
v0.3.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 9, 2026 License: GPL-3.0

README

openfortivpn-gui

GitHub go.mod Go version GitHub release Go Report Card GitHub license

openfortivpn-gui screenshot

A modern GTK4/libadwaita GUI client for Fortinet SSL VPN on Linux, wrapping the openfortivpn CLI tool.

Features

  • Multiple VPN Profiles - Create, edit, and manage multiple VPN connection profiles
  • Multiple Authentication Methods: Username/Password, OTP, Client Certificate, SAML/SSO
  • System Tray Integration - Minimize to tray, quick connect/disconnect
  • Desktop Notifications - Connection status notifications
  • Secure Credential Storage - Passwords stored in system keyring (libsecret)
  • Auto-Connect - Optionally connect to last used profile on startup
  • Configurable Routing - DNS, routes, and split tunneling options

Installation

NixOS / Nix

Add shini4i/nixpkgs as a flake input or install directly:

# Enable binary cache for faster installs
cachix use shini4i

# Install
nix profile install github:shini4i/nixpkgs#openfortivpn-gui

A NixOS module is also available for declarative configuration.

Fedora

Download the .rpm package from GitHub Releases:

sudo dnf install ./openfortivpn-gui-*.rpm

After installation, enable passwordless VPN operations:

sudo usermod -aG openfortivpn-gui $USER
# Log out and back in, then:
sudo systemctl enable --now openfortivpn-gui-helper

Debian/Ubuntu

Note: Debian/Ubuntu packages are not available yet due to libadwaita version requirements (needs 1.7+). Packages will be provided once compatible versions reach Debian/Ubuntu repositories.

Building from Source

# Enter development shell with all dependencies
nix develop

# Build and run
task build
task run

Usage

  1. Launch openfortivpn-gui
  2. Click "+" to create a VPN profile
  3. Configure server, authentication method, and routing options
  4. Select a profile and click "Connect"

Set OPENFORTIVPN_GUI_DEBUG=1 for debug logging.

License

GPL-3.0 - see LICENSE for details.

Acknowledgments

Directories

Path Synopsis
cmd
openfortivpn-gui command
Package main provides the entry point for openfortivpn-gui application.
Package main provides the entry point for openfortivpn-gui application.
openfortivpn-gui-helper command
Package main provides the entry point for the openfortivpn-gui-helper daemon.
Package main provides the entry point for the openfortivpn-gui-helper daemon.
internal
client
Package client provides the client for communicating with the helper daemon.
Package client provides the client for communicating with the helper daemon.
config
Package config manages application-level configuration.
Package config manages application-level configuration.
fileutil
Package fileutil provides common file operations.
Package fileutil provides common file operations.
helper/manager
Package manager provides the VPN connection manager for the helper daemon.
Package manager provides the VPN connection manager for the helper daemon.
helper/protocol
Package protocol defines the message types for communication between the openfortivpn-gui application and the privileged helper daemon.
Package protocol defines the message types for communication between the openfortivpn-gui application and the privileged helper daemon.
helper/server
Package server provides the UNIX socket server for the helper daemon.
Package server provides the UNIX socket server for the helper daemon.
keyring
Package keyring provides secure credential storage using the system keyring.
Package keyring provides secure credential storage using the system keyring.
logging
Package logging provides structured logging setup using log/slog.
Package logging provides structured logging setup using log/slog.
profile
Package profile provides VPN profile management functionality.
Package profile provides VPN profile management functionality.
reconnect
Package reconnect provides automatic VPN reconnection management.
Package reconnect provides automatic VPN reconnection management.
ui
Package ui provides the GTK4/libadwaita user interface for openfortivpn-gui.
Package ui provides the GTK4/libadwaita user interface for openfortivpn-gui.
vpn
Package vpn provides VPN connection management for openfortivpn.
Package vpn provides VPN connection management for openfortivpn.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL