📈 GH Trending Explorer 🎲 Surprise me

← all repos

adrienverge / openfortivpn

git clone https://github.com/adrienverge/openfortivpn.git 🔥 on GitHub Trending today

Command-line client for PPP+TLS VPN tunnels that spawns pppd and is compatible with Fortinet VPN gateways.

Why you might care

Lets Linux and macOS users connect to Fortinet SSL VPNs without the vendor client, with options for certificates, smartcards via PKCS#11, SAML login, and keeping routes or DNS unchanged. Packages exist for many distros and Homebrew/MacPorts, or it can be built from source.

Categories

Alternatives

FortiClientopenconnectOpenVPNWireGuard
+1
stars, 24h · #13,808
+~5
stars, 7 days · #17,330
+~20
stars, 30 days · #22,044
3.4k
★ total · +0% this week
379
forks · 141 open issues

Star history (as recorded here)

2026-10-20 · 3,447 ★ 2026-10-23 · 3,449 ★
LanguagePerl
LicenseGPL-3.0
Created2015-01-26 (11y ago)
Last push4d ago
Watchers45
OwnerUser

Seen on GitHub Trending

  • 2026-10-23 — #7 daily in perl · +1 ★
  • 2026-10-21 — #5 daily in perl
  • 2026-10-21 — #11 monthly in perl · +32 ★
  • 2026-10-20 — #5 daily in perl
  • 2026-10-20 — #11 monthly in perl · +32 ★

Links

README excerpt
openfortivpn
============
openfortivpn is a client for PPP+TLS VPN tunnel services.
It spawns a pppd process and operates the communication between the gateway and
this process.
It is compatible with Fortinet VPNs.
Usage
-----
 [code] 
Examples
--------
* Simply connect to a VPN:
 [code] 
* Connect to a VPN using an authentication realm:
 [code] 
* Store password securely with a pinentry program:
 [code] 
* Connect with a user certificate and no password:
 [code] 
* Connect using SAML login:
 [code] 
* Don't set IP routes and don't add VPN nameservers to `/etc/resolv.conf`:
 [code] 
* Using a configuration file:
 [code] 
 With `/etc/openfortivpn/my-config` containing:
 [code] 
* For the full list of config options, see the `CONFIGURATION` section of
 [code] 
Smartcard
---------
Smartcard support needs `openssl pkcs engine` and `opensc` to be installed.
The pkcs11-engine from libp11 needs to be compiled with p11-kit-devel installed.
Check #464 for a discussion
of known issues in this area.
Building on Fedora since this
update
will NOT include engine support unless `openssl-devel-engine` is installed. Try
first to use `pkcs11-provider` on OpenSSL >= 3.0.
To make use of your smartcard put at least `pkcs11:` to the user-cert config or commandline
option. It takes the full or a partial PKCS#11 token URI.
 [code] 
In most cases `user-cert = pkcs11:` will do it, but if needed you can get the token-URI
with `p11tool --list-token-urls`.
Multiple readers are currently not supported.
Smartcard support has been tested with Yubikey under Linux, but other PIV enabled
smartcards may work too. On Mac OS X Mojave it is known that the pkcs engine-by-id
is not found.
Installing
----------
### Installing existing packages
Some Linux distributions provide `openfortivpn` packages:
* Fedora / CentOS
* openSUSE / SLE
* Gentoo
* NixOS
* Arch Linux
* Debian
* Ubuntu
* Solus
* Alpine Linux
On macOS both Homebrew and
MacPorts
provide an `openfortivpn` package.
Either install Homebrew then install openfortivpn:
 [code] 
or install MacPorts then install openfortivpn:
 [code] 
A more complete overview can be obtained from repology.
### Building and installing from source
For other distros, you'll need to build and install from source:
1. Install build dependencies.
 * RHEL/CentOS/Fedora: `gcc` `automake` `autoconf` `openssl-devel` `make` `pkg-config`
 * Debian/Ubuntu: `gcc` `automake` `autoconf` `libssl-dev` `make` `pkg-config`
 * Arch Linux: `gcc` `automake` `autoconf` `openssl` `pkg-config`
 * Gentoo Linux: `net-dialup/ppp` `pkg-config`
 * openSUSE: `gcc` `automake` `autoconf` `libopenssl-devel` `pkg-config`
 * macOS (Homebrew): `automake` `autoconf` `openssl@1.1` `pkg-config`
 * FreeBSD: `automake` `autoconf` `libressl` `pkgconf`
 On Linux, if you manage your kernel yourself, ensure to compile those modules:
 [code] 
 On macOS, install 'Homebrew' to install the build dependencies:
 [code] 
2. Build and install.
 [code] 
 If targeting platforms with pppd /remote/saml/start?r

Blurb generated by claude-haiku-5-5 today. Star deltas marked ~ are extrapolated from partial history.