# Install openconnect with Homebrew, apk, apt, dnf, MacPorts, pacman, scoop, zypper

Open client for Cisco AnyConnect VPN. Version 9.21 via Homebrew; verified 2026-06-18.

## Install

```sh
sudo av install brew:openconnect
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install openconnect
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install openconnect
```

  Evidence: MacPorts ports tree: net/openconnect/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add openconnect
```

  Evidence: Alpine Linux edge package indexes: openconnect from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install libopenconnect-dev
```

  Evidence: Debian stable package indexes: libopenconnect-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install openconnect
```

  Evidence: Fedora Rawhide package metadata: openconnect from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- pacman (92%):

```sh
sudo pacman -S openconnect
```

  Evidence: Arch Linux sync databases: openconnect from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install libopenconnect5
```

  Evidence: openSUSE Tumbleweed package metadata: libopenconnect5 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install main/openconnect
```

  Evidence: Scoop official bucket manifest trees: bucket/openconnect.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:openconnect
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/openconnect>
- **Version:** 9.21
- **Source summary:** Open client for Cisco AnyConnect VPN
- **Homepage:** <https://www.infradead.org/openconnect/>
- **Repository:** <https://git.infradead.org/users/dwmw2/openconnect.git>
- **Upstream docs:** <https://www.infradead.org/openconnect>
- **License:** LGPL-2.1-only
- **Source archive:** <https://www.infradead.org/openconnect/download/openconnect-9.21.tar.gz>
- **Last updated:** 2026-06-18T14:09:02Z
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- openconnect (cli)
- openconnect (alias)

## Dependencies

- gettext
- gmp
- gnutls
- nettle
- p11-kit
- stoken

## Build dependencies

- gettext
- pkgconf

## Uses from macOS

- libxml2

## Install behavior

- Post-install hook: not defined
- Caveats: A `vpnc-script` has been installed at $HOMEBREW_PREFIX/etc/vpnc/vpnc-script. If you applied any local changes then newer versions will be available at $HOMEBREW_PREFIX/etc/vpnc/vpnc-script.default
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 9.21
- Package-manager updated: 2026-06-18
- Local data: ok
- Upstream repository: https://www.infradead.org/openconnect/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

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.

### Project history

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.

### Adoption history

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.

### How it is used

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.

### Why package nerds care

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.

### Timeline

- 2009: Public histories identify the first OpenConnect release era and its original Cisco AnyConnect replacement role.
- 2015: Version 7.05 added preliminary Juniper SSL VPN support.
- 2016: Version 7.07 added the `--protocol` option, formalizing multi-protocol selection.
- 2022: Version 8.20 added F5, Fortinet, and Array protocol work and broadened Windows/tunnel-driver support.
- 2026: Version 9.20 and 9.21 changelog entries show continuing maintenance for Pulse, GlobalProtect, Cisco TLS 1.3 behavior, token handling, TPM auth, and safety fixes.

### Related projects

- OpenConnect is related to Cisco AnyConnect/Secure Client, NetworkManager-openconnect, vpnc-scripts, ocserv, GnuTLS, OpenSSL, Wintun, and the VPN appliances whose protocols it interoperates with.

### Sources

- <https://formulae.brew.sh/formula/openconnect>
- <https://ocserv.openconnect-vpn.net/ocserv.8.html>
- <https://www.infradead.org/openconnect/>
- <https://www.infradead.org/openconnect/changelog.html>
- <https://www.infradead.org/openconnect/manual.html>


## Security Notes

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.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** openconnect
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - libopenconnect-dev - 9.12-3+deb13u2: normalized package name match | Debian stable package indexes: libopenconnect-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | open client for various network vendors SSL VPNs - development files | https://www.infradead.org/openconnect/
- Debian apt - libopenconnect5 - 9.12-3+deb13u2: normalized package name match | Debian stable package indexes: libopenconnect5 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | open client for various network vendors SSL VPNs - shared library | https://www.infradead.org/openconnect/
- Debian apt - openconnect - 9.12-3+deb13u2: normalized package name match | Debian stable package indexes: openconnect from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | open client for various network vendors SSL VPNs | https://www.infradead.org/openconnect/
- Ubuntu apt - libopenconnect-dev - 9.12-1build5: normalized package name match | Ubuntu 24.04 LTS package indexes: libopenconnect-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | open client for various network vendors SSL VPNs - development files | https://www.infradead.org/openconnect/
- Ubuntu apt - libopenconnect5 - 9.12-1build5: normalized package name match | Ubuntu 24.04 LTS package indexes: libopenconnect5 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | open client for various network vendors SSL VPNs - shared library | https://www.infradead.org/openconnect/
- Ubuntu apt - openconnect - 9.12-1build5: normalized package name match | Ubuntu 24.04 LTS package indexes: openconnect from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | open client for various network vendors SSL VPNs | https://www.infradead.org/openconnect/
- apk - openconnect - 9.12-r2: normalized package name match | Alpine Linux edge package indexes: openconnect from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Open client for Cisco AnyConnect VPN | https://www.infradead.org/openconnect/
- apk - openconnect-bash-completion - 9.12-r2: normalized package name match | Alpine Linux edge package indexes: openconnect-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Bash completions for openconnect | https://www.infradead.org/openconnect/
- apk - openconnect-dev - 9.12-r2: normalized package name match | Alpine Linux edge package indexes: openconnect-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Open client for Cisco AnyConnect VPN (development files) | https://www.infradead.org/openconnect/
- apk - openconnect-doc - 9.12-r2: normalized package name match | Alpine Linux edge package indexes: openconnect-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Open client for Cisco AnyConnect VPN (documentation) | https://www.infradead.org/openconnect/
- apk - openconnect-openrc - 9.12-r2: normalized package name match | Alpine Linux edge package indexes: openconnect-openrc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Open client for Cisco AnyConnect VPN (OpenRC init scripts) | https://www.infradead.org/openconnect/
- dnf - openconnect - 9.12-11.fc45: normalized package name match | Fedora Rawhide package metadata: openconnect from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Open multi-protocol SSL VPN client | https://www.infradead.org/openconnect/
- dnf - openconnect-devel - 9.12-11.fc45: normalized package name match | Fedora Rawhide package metadata: openconnect-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development package for OpenConnect VPN authentication tools | https://www.infradead.org/openconnect/
- pacman - openconnect - 1:9.12-5: normalized package name match | Arch Linux sync databases: openconnect from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Open client for Cisco AnyConnect VPN | https://www.infradead.org/openconnect/
- zypper - libopenconnect5 - 9.12-3.6: normalized package name match | openSUSE Tumbleweed package metadata: libopenconnect5 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Libraries for openconnect | http://www.infradead.org/openconnect.html
- zypper - openconnect - 9.12-3.6: normalized package name match | openSUSE Tumbleweed package metadata: openconnect from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Client for Cisco AnyConnect VPN | http://www.infradead.org/openconnect.html


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Security and crypto packages](https://www.automicvault.com/pkg/security-crypto-tools/) - Matched security, identity, cryptography, password, signing, or certificate metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [gettext](https://www.automicvault.com/pkg/brew/gettext/) - Runtime dependency declared by Homebrew.
- [gnutls](https://www.automicvault.com/pkg/brew/gnutls/) - Runtime dependency declared by Homebrew.
- [nettle](https://www.automicvault.com/pkg/brew/nettle/) - Runtime dependency declared by Homebrew.
- [p11-kit](https://www.automicvault.com/pkg/brew/p11-kit/) - Runtime dependency declared by Homebrew.
- [stoken](https://www.automicvault.com/pkg/brew/stoken/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [dsvpn](https://www.automicvault.com/pkg/brew/dsvpn/) - Shares av.db curated category or tags: cli, networking, vpn.
- [edgevpn](https://www.automicvault.com/pkg/brew/edgevpn/) - Shares av.db curated category or tags: cli, networking, vpn.
- [geph4](https://www.automicvault.com/pkg/brew/geph4/) - Shares av.db curated category or tags: cli, networking, vpn.
- [macosvpn](https://www.automicvault.com/pkg/brew/macosvpn/) - Shares av.db curated category or tags: cli, networking, vpn.
- [sing-box](https://www.automicvault.com/pkg/brew/sing-box/) - Shares av.db curated category or tags: cli, networking, vpn.
- [sstp-client](https://www.automicvault.com/pkg/brew/sstp-client/) - Shares av.db curated category or tags: cli, networking, vpn.
- [tinc](https://www.automicvault.com/pkg/brew/tinc/) - Shares av.db curated category or tags: cli, networking, vpn.
- [udp2raw-multiplatform](https://www.automicvault.com/pkg/brew/udp2raw-multiplatform/) - Shares av.db curated category or tags: cli, networking, vpn.
- [tiger-vnc](https://www.automicvault.com/pkg/brew/tiger-vnc/) - Local metadata places this package in an adjacent workflow. Shared terms: cli, client, gettext, gmp, gnutls.
- [freediameter](https://www.automicvault.com/pkg/brew/freediameter/) - Local package facts share a topical domain. Shared terms: cli, gnutls, networking, open.

## Combined YAML source

View the package source record on GitHub. [combined/openconnect.yml](https://github.com/automic-vault/db/blob/main/combined/openconnect.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
