slirp4netns
brew install slirp4netns
v1.3.4
GPL-2.0-or-later
User-mode networking for unprivileged Linux network namespaces, enabling rootless containers to access the network without root privileges.
Why you might care
Essential for rootless container runtimes like Podman and crun that need network connectivity without elevated privileges. Implements a user-space TCP/IP stack (slirp) to bridge namespace-isolated processes to the host network, avoiding the need for privileged veth setup. Primary runtime dependency for rootless container tooling.
3.1k
30-day installs · #790
13.1k
90-day · #703
51.1k
365-day · #673
919
★ GitHub stars · updated 25d ago
Runtime dependencies
Build dependencies
GitHub topics
rootless-containers
slirp
usermode-networking
Links
- https://github.com/rootless-containers/slirp4netns
- GitHub: rootless-containers/slirp4netns
- Brew formula source: Formula/s/slirp4netns.rb
Blurb generated by claude-haiku-4-5 on today.
Raw metadata
{
"aliases": [],
"alternatives": [
"veth",
"slirp",
"podman-network"
],
"build_dependencies": [
"autoconf",
"automake",
"pkgconf"
],
"categories": [
"container-runtime",
"networking",
"virtualization"
],
"caveats": null,
"conflicts_with": [],
"dependencies": [
"glib",
"libcap",
"libseccomp",
"libslirp"
],
"deprecated": 0,
"deprecation_reason": null,
"desc": "User-mode networking for unprivileged network namespaces",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:41:06+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "slirp4netns",
"github_default_branch": "master",
"github_last_commit_at": "2026-05-26T13:57:21Z",
"github_readme_excerpt": "# slirp4netns: User-mode networking for unprivileged network namespaces \n\nslirp4netns provides user-mode networking (\"slirp\") for unprivileged network namespaces.\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON\u0027T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n\n- [Motivation](#motivation)\n- [Projects using slirp4netns](#projects-using-slirp4netns)\n- [Maintenance policy](#maintenance-policy)\n- [Quick start](#quick-start)\n - [Install](#install)\n - [Usage](#usage)\n- [Manual](#manual)\n- [Benchmarks](#benchmarks)\n - [iperf3 (netns -\u003e host)](#iperf3-netns---host)\n- [Install from source](#install-from-source)\n- [Acknowledgement](#acknowledgement)\n- [License](#license)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n## Motivation\n\nStarting with Linux 3.8, unprivileged users can create [`network_namespaces(7)`](http://man7.org/linux/man-pages/man7/network_namespaces.7.html) along with [`user_namespaces(7)`](http://man7.org/linux/man-pages/man7/user_namespaces.7.html).\nHowever, unprivileged network namespaces had not been very useful, because creating [`veth(4)`](http://man7.org/linux/man-pages/man4/veth.4.html) pairs across the host and network namespaces still requires the root privileges. (i.e. No internet connection)\n\nslirp4netns allows connecting a network namespace to the Internet in a completely unprivileged way, by connecting a TAP device in a network namespace to the usermode TCP/IP stack ([\"slirp\"](https://gitlab.freedesktop.org/slirp/libslirp)).\n\n## Projects using slirp4netns\n\nKubernetes distributions:\n* [Usernetes](https://github.com/rootless-containers/usernetes) (via RootlessKit)\n* [k3s](https://k3s.io) (via RootlessKit)\n\nContainer engines:\n* [Podman](https://github.com/containers/libpod)\n* [Buildah](https://github.com/containers/buildah)\n* [ctnr](https://github.com/mgoltzsche/ctnr) (via slirp-cni-plugin)\n* [Docker \u0026 Moby](https://get.docker.com/rootless) (optionally, via Ro",
"github_repo": "rootless-containers/slirp4netns",
"github_stars": 919,
"github_topics": [
"rootless-containers",
"slirp",
"usermode-networking"
],
"homepage": "https://github.com/rootless-containers/slirp4netns",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 3064,
"installs_365d": 51126,
"installs_90d": 13056,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "GPL-2.0-or-later",
"llm_generated_at": "2026-06-20T23:47:04+00:00",
"llm_model": "claude-haiku-4-5",
"name": "slirp4netns",
"oldnames": [],
"one_liner": "User-mode networking for unprivileged Linux network namespaces, enabling rootless containers to access the network without root privileges.",
"optional_dependencies": [],
"rank_30d": 790,
"rank_365d": 673,
"rank_90d": 703,
"raw_hash": "a4a774e499edb8af",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/s/slirp4netns.rb",
"tap": "homebrew/core",
"test_dependencies": [
"jq"
],
"uses_from_macos": [],
"version_head": null,
"version_stable": "1.3.4",
"versioned_formulae": [],
"why_use_this": "Essential for rootless container runtimes like Podman and crun that need network connectivity without elevated privileges. Implements a user-space TCP/IP stack (slirp) to bridge namespace-isolated processes to the host network, avoiding the need for privileged veth setup. Primary runtime dependency for rootless container tooling."
}