# Install miniupnpc with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

UPnP IGD client library and daemon. Version 2.3.3 via Homebrew; verified 2026-06-26.

## Install

```sh
sudo av install brew:miniupnpc
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install miniupnpc
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install miniupnpc
```

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

### Linux

- apk (92%):

```sh
sudo apk add miniupnpc
```

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

- Debian apt (92%):

```sh
sudo apt install libminiupnpc-dev
```

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

- dnf (92%):

```sh
sudo dnf install miniupnpc
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#miniupnpc
```

  Evidence: nixpkgs package indexes: pkgs/by-name/mi/miniupnpc/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S miniupnpc
```

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

- zypper (92%):

```sh
sudo zypper install libminiupnpc-devel
```

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

## Package facts

- **Package key:** brew:miniupnpc
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/miniupnpc>
- **Version:** 2.3.3
- **Source summary:** UPnP IGD client library and daemon
- **Homepage:** <http://miniupnp.free.fr/>
- **Repository:** <https://github.com/miniupnp/miniupnp>
- **Upstream docs:** <https://miniupnp.tuxfamily.org/doc>
- **License:** BSD-3-Clause
- **Source archive:** <https://github.com/miniupnp/miniupnp/releases/download/miniupnpc_2_3_3/miniupnpc-2.3.3.tar.gz>
- **Last updated:** 2026-06-26T19:31:35-04:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- external-ip (cli)
- upnp-listdevices (cli)
- upnpc (cli)
- external-ip (alias)
- upnp-listdevices (alias)
- upnpc (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.3.3
- Package-manager updated: 2026-06-26
- Local data: ok
- Upstream repository: https://github.com/miniupnp/miniupnp
- info: No cached GitHub release or tag data was available.
## Project history and usage

miniupnpc is the client-library side of Thomas Bernard's MiniUPnP project, a compact C implementation for UPnP Internet Gateway Device control. The MiniUPnP homepage explains that the project was created to provide a free-software implementation of the IGD part of UPnP, with MiniUPnPc acting as the control point library and MiniUPnPd acting as the gateway daemon. Its design goal was smallness: the author explicitly contrasted it with heavier UPnP SDKs and emphasized ANSI C, a tiny footprint, and no dependency on external XML parsers or HTTP implementations.

### Project history

The project grew around practical NAT traversal. MiniUPnPd first targeted OpenBSD with pf, later gained portability across BSDs, Solaris, macOS, and Linux firewall stacks, while MiniUPnPc remained the portable client component for POSIX, Windows, and AmigaOS. NAT-PMP and PCP support were added on the daemon side, while libnatpmp handles client-side NAT-PMP. The GitHub repository groups miniupnpc, miniupnpd, minissdpd, and experimental async/libevent clients together, reflecting a small suite rather than a single binary.

### How it is used

In practice miniupnpc is embedded by applications that need incoming connections through consumer NAT routers: peer-to-peer clients, active-mode FTP clients, IRC DCC, games, and server-like desktop software. The MiniUPnP site cites Transmission as a BitTorrent client using miniupnpc and libnatpmp, and notes XChat patch work as an example of application integration. In package managers it appears both as command-line tools such as upnpc and as development libraries such as Debian and Ubuntu's libminiupnpc-dev, which is why the Homebrew formula describes it as a UPnP IGD client library and daemon.

### Sources

- <https://formulae.brew.sh/formula/miniupnpc>
- <https://github.com/miniupnp/miniupnp>
- <https://miniupnp.tuxfamily.org/>
- <https://miniupnp.tuxfamily.org/doc/>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** miniupnpc
- **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 - libminiupnpc-dev - 2.2.8-2+b2: normalized package name match | Debian stable package indexes: libminiupnpc-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | UPnP IGD client lightweight library development files | https://miniupnp.tuxfamily.org/
- Debian apt - libminiupnpc18 - 2.2.8-2+b2: normalized package name match | Debian stable package indexes: libminiupnpc18 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | UPnP IGD client lightweight library | https://miniupnp.tuxfamily.org/
- Debian apt - miniupnpc - 2.2.8-2+b2: normalized package name match | Debian stable package indexes: miniupnpc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | UPnP IGD client lightweight library client | https://miniupnp.tuxfamily.org/
- Debian apt - python3-miniupnpc - 2.2.8-2+b2: normalized package name match | Debian stable package indexes: python3-miniupnpc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | UPnP IGD client lightweight library Python 3 bindings | https://miniupnp.tuxfamily.org/
- Nix - miniupnpc: normalized package name match | nixpkgs package indexes: pkgs/by-name/mi/miniupnpc/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - libminiupnpc-dev - 2.2.6-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libminiupnpc-dev from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | UPnP IGD client lightweight library development files | http://miniupnp.free.fr/
- Ubuntu apt - libminiupnpc17 - 2.2.6-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libminiupnpc17 from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | UPnP IGD client lightweight library | http://miniupnp.free.fr/
- Ubuntu apt - miniupnpc - 2.2.6-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: miniupnpc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | UPnP IGD client lightweight library client | http://miniupnp.free.fr/
- Ubuntu apt - python3-miniupnpc - 2.2.6-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: python3-miniupnpc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | UPnP IGD client lightweight library Python 3 bindings | http://miniupnp.free.fr/
- apk - miniupnpc - 2.3.3-r2: normalized package name match | Alpine Linux edge package indexes: miniupnpc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Library and tool to control NAT in UPnP-enabled routers | http://miniupnp.free.fr
- apk - miniupnpc-dev - 2.3.3-r2: normalized package name match | Alpine Linux edge package indexes: miniupnpc-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Library and tool to control NAT in UPnP-enabled routers (development files) | http://miniupnp.free.fr
- apk - miniupnpc-doc - 2.3.3-r2: normalized package name match | Alpine Linux edge package indexes: miniupnpc-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Library and tool to control NAT in UPnP-enabled routers (documentation) | http://miniupnp.free.fr
- apk - py3-miniupnpc - 2.3.3-r2: normalized package name match | Alpine Linux edge package indexes: py3-miniupnpc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Python bindings for miniupnpc | http://miniupnp.free.fr
- dnf - miniupnpc - 2.3.3-6.fc45: normalized package name match | Fedora Rawhide package metadata: miniupnpc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Library and tool to control NAT in UPnP-enabled routers | http://miniupnp.free.fr/
- dnf - miniupnpc-devel - 2.3.3-6.fc45: normalized package name match | Fedora Rawhide package metadata: miniupnpc-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for miniupnpc | http://miniupnp.free.fr/
- dnf - python3-miniupnpc - 2.3.3-6.fc45: normalized package name match | Fedora Rawhide package metadata: python3-miniupnpc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Python3 interface to miniupnpc | http://miniupnp.free.fr/


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [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.
- [Web development packages](https://www.automicvault.com/pkg/web-dev-tools/) - Matched web development metadata.
- [i2pd](https://www.automicvault.com/pkg/brew/i2pd/) - Popular package that depends on this formula.
- [ppsspp](https://www.automicvault.com/pkg/brew/ppsspp/) - Popular package that depends on this formula.
- [simutrans](https://www.automicvault.com/pkg/brew/simutrans/) - Popular package that depends on this formula.
- [transmission-cli](https://www.automicvault.com/pkg/brew/transmission-cli/) - Popular package that depends on this formula.
- [gupnp](https://www.automicvault.com/pkg/brew/gupnp/) - Shares av.db curated category or tags: cli, networking, upnp.
- [gupnp-tools](https://www.automicvault.com/pkg/brew/gupnp-tools/) - Shares av.db curated category or tags: cli, networking, upnp.
- [libnatpmp](https://www.automicvault.com/pkg/brew/libnatpmp/) - Shares av.db curated category or tags: cli, nat-traversal, networking.
- [pwnat](https://www.automicvault.com/pkg/brew/pwnat/) - Shares av.db curated category or tags: cli, nat-traversal, networking.
- [stuntman](https://www.automicvault.com/pkg/brew/stuntman/) - Shares av.db curated category or tags: cli, nat-traversal, networking.
- [coturn](https://www.automicvault.com/pkg/brew/coturn/) - Shares av.db curated category or tags: cli, nat-traversal, networking.
- [dumbpipe](https://www.automicvault.com/pkg/brew/dumbpipe/) - Shares av.db curated category or tags: cli, nat-traversal, networking.
- [libiscsi](https://www.automicvault.com/pkg/brew/libiscsi/) - Shares av.db curated category or tags: cli, client-library, networking.

## Combined YAML source

View the package source record on GitHub. [combined/miniupnpc.yml](https://github.com/automic-vault/db/blob/main/combined/miniupnpc.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
