macOS
brew install openconnectprovider-native install command
brew / rank 1215
Open client for Cisco AnyConnect VPN. Version 9.21 via Homebrew; verified 2026-06-18.
install
brew install openconnectprovider-native install command
overview
Open client for Cisco AnyConnect VPN
history
OpenConnect is a free, LGPL-licensed SSL VPN client that began as an open replacement for Cisco AnyConnect on Linux and grew into a multi-protocol VPN client. It supports Cisco AnyConnect, Juniper/Network Connect, Pulse/Ivanti, Palo Alto GlobalProtect, F5 BIG-IP, Fortinet FortiGate, and Array Networks SSL VPN protocols through one command-line tool and library.
The official project page says OpenConnect development started after testing Cisco's AnyConnect Linux client exposed practical gaps: smartcard and certificate handling limitations, i386-only Linux support, poor NetworkManager integration, and weak Linux distribution packaging. The project therefore began as a compatibility client but with Unix packaging and desktop integration as first-class concerns.
OpenConnect's changelog shows the project expanding from a Cisco-focused client into a compatibility layer for several enterprise VPN products. Juniper support appeared experimentally in the 7.x era, the `--protocol` option was added in 7.07, and later 8.x releases added GlobalProtect, F5, Fortinet, and Array protocol work alongside Windows, Android, SSO, token, and TPM improvements.
OpenConnect was adopted by package managers and front ends because it solved a common enterprise access problem without requiring Cisco's proprietary client on every platform. Its documentation links to Linux, BSD, macOS, Windows, and Android paths, and it is packaged by Homebrew, Debian/Ubuntu, Fedora, Arch, openSUSE, Alpine, MacPorts, Scoop, and other systems.
The companion `ocserv` server implements an improved version of the AnyConnect protocol, which made the OpenConnect ecosystem useful for both client compatibility and open deployments. NetworkManager integration and libopenconnect API work made it easier for desktop tools and distribution front ends to use the same underlying client.
Users run `openconnect` against a VPN gateway, optionally selecting a protocol with `--protocol`. Authentication is handled through forms, certificates, smartcards, token modes, external browser/SSO flows, or protocol-specific mechanisms; after authentication, the client configures a tunnel and routes traffic through TLS, DTLS, ESP, or protocol-specific transports where supported.
Administrators and package maintainers care about OpenConnect because VPN servers are often controlled by employers or institutions, while clients must be installable and automatable on developer laptops, servers, routers, and CI-like environments. The command-line client plus `libopenconnect` gives both scriptable and GUI front ends a shared implementation.
OpenConnect is significant because it sits at the intersection of cryptography libraries, OS tunnel interfaces, corporate authentication flows, and distro packaging. Formula and package updates can affect TLS behavior, SSO compatibility, token handling, platform tunnel drivers, and interoperability with appliance firmware that changes outside the open-source project.
security posture
No matching local secret-handling manifest was found for openconnect. Nucleus package metadata is still published here so future coverage has a stable package URL.
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
openconnect | executable | indexed executable | Discovered from the local executable index. |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:openconnect |
|---|---|
| Version | 9.21 |
| Package manager | Homebrew |
| Homepage | https://www.infradead.org/openconnect/ |
| Last updated | 2026-06-18T14:09:02Z |
| Pulse | updated |
| Bottle | not recorded |
| Service | none declared |
source trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.