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

Proxy server that works as a poor man's VPN. Version 1.3.2 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:sshuttle
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install sshuttle
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install sshuttle
```

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

### Linux

- apk (92%):

```sh
sudo apk add sshuttle
```

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

- Debian apt (92%):

```sh
sudo apt install sshuttle
```

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

- dnf (92%):

```sh
sudo dnf install sshuttle
```

  Evidence: Fedora Rawhide package metadata: sshuttle 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#sshuttle
```

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

- pacman (92%):

```sh
sudo pacman -S sshuttle
```

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

- zypper (92%):

```sh
sudo zypper install sshuttle
```

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

## Package facts

- **Package key:** brew:sshuttle
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/sshuttle>
- **Version:** 1.3.2
- **Source summary:** Proxy server that works as a poor man's VPN
- **Homepage:** <https://github.com/sshuttle/sshuttle>
- **Repository:** <https://github.com/sshuttle/sshuttle>
- **Upstream docs:** <https://github.com/sshuttle/sshuttle#readme>
- **License:** LGPL-2.1-or-later
- **Source archive:** <https://files.pythonhosted.org/packages/f3/fd/18f958bb11d6ae59c8a1388bf03152499270eb9e2ac5ed544b551a693f4f/sshuttle-1.3.2.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- sshuttle (cli)
- sshuttle (alias)

## Dependencies

- python@3.14

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.3.2
- Local data: ok
- Upstream repository: https://github.com/sshuttle/sshuttle
- info: No package-manager update timestamp was available.
- info: No cached GitHub release or tag data was available.
## Project history and usage

sshuttle is a transparent proxy over SSH that is commonly described as a poor man's VPN.

### Project history

The upstream Git history begins in 2010, and the current documentation credits original author Avery Pennarun with earlier transparent-proxy and VPN experiments dating back to Tunnel Vision and Fast Forward in 1998. sshuttle combined those ideas into a tool that forwards TCP sessions over SSH without requiring a packet-level VPN on the remote side.

The project later moved into the `sshuttle/sshuttle` GitHub organization and Read the Docs documentation. Its release history shows long-lived maintenance from early 0.x tags through 1.x releases, with the documentation now covering Linux, macOS, BSD-family systems, pfSense, OpenWRT, ChromeOS, and Windows notes.

### Adoption history

The supplied package metadata lists sshuttle in Homebrew, Alpine, Debian, Fedora, MacPorts, Nix, Arch, Ubuntu, and openSUSE-style packaging. That distribution breadth matches its role as a pragmatic command-line networking tool: it is often installed when a developer has SSH access to a machine but no usable VPN.

### How it is used

Typical usage is `sshuttle -r user@sshserver 0/0` to route traffic through a remote host, optionally adding DNS forwarding or subnet discovery. The docs stress that sshuttle uploads and runs its Python server component over the SSH connection, so the remote side only needs a suitable Python interpreter and an SSH account.

### Why package nerds care

sshuttle is significant in package-manager culture because it occupies a durable CLI niche between OpenSSH port forwarding and full VPN software. It gives developers a one-command network escape hatch, while package maintainers have to care about local firewall backends, Python compatibility, and platform-specific routing behavior.

### Timeline

- 1998: Avery Pennarun released earlier transparent-proxy and VPN-related tools that the sshuttle docs cite as conceptual predecessors.
- 2010: Initial sshuttle commits and early 0.x tags appeared.
- 2016: Sphinx/Read the Docs documentation and renewed 0.7x releases documented BSD, macOS, and Python updates.
- 2020: 1.0.0 added Python 3.8 support, nftables method work, sshpass support, and packaging documentation updates.
- 2025: 1.3.2 documentation identified the project as current stable documentation.

### Related projects

- sshuttle is related to OpenSSH port forwarding, VPN systems such as IPsec and OpenVPN, and transparent proxy tools, but its docs distinguish it by forwarding sessions rather than packets.

### Sources

- Git history from https://github.com/sshuttle/sshuttle
- <https://github.com/sshuttle/sshuttle#readme>
- <https://sshuttle.readthedocs.io/en/stable/changes.html>
- <https://sshuttle.readthedocs.io/en/stable/manpage.html>
- <https://sshuttle.readthedocs.io/en/stable/overview.html>
- <https://sshuttle.readthedocs.io/en/stable/trivia.html>
- <https://sshuttle.readthedocs.io/en/stable/usage.html>
- source_facts.package-manager


## 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:** sshuttle
- **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 - sshuttle - 1.3.1-1: normalized package name match | Debian stable package indexes: sshuttle from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Transparent proxy server for VPN over SSH | https://github.com/sshuttle/sshuttle
- Nix - sshuttle: normalized package name match | nixpkgs package indexes: pkgs/by-name/ss/sshuttle/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - sshuttle - 1.1.1-2ubuntu2: normalized package name match | Ubuntu 24.04 LTS package indexes: sshuttle from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Transparent proxy server for VPN over SSH | https://github.com/sshuttle/sshuttle
- apk - sshuttle - 1.3.2-r1: normalized package name match | Alpine Linux edge package indexes: sshuttle from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Transparent proxy server using ssh | https://github.com/sshuttle/sshuttle
- apk - sshuttle-doc - 1.3.2-r1: normalized package name match | Alpine Linux edge package indexes: sshuttle-doc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Transparent proxy server using ssh (documentation) | https://github.com/sshuttle/sshuttle
- apk - sshuttle-pyc - 1.3.2-r1: normalized package name match | Alpine Linux edge package indexes: sshuttle-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Precompiled Python bytecode for sshuttle | https://github.com/sshuttle/sshuttle
- dnf - sshuttle - 1.3.2-3.fc45: normalized package name match | Fedora Rawhide package metadata: sshuttle from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Transparent Proxy VPN | https://github.com/sshuttle/sshuttle
- pacman - sshuttle - 1.3.2-2: normalized package name match | Arch Linux sync databases: sshuttle from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Transparent proxy server that forwards all TCP packets over ssh | https://github.com/sshuttle/sshuttle
- zypper - sshuttle - 1.3.2-1.3: normalized package name match | openSUSE Tumbleweed package metadata: sshuttle from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | VPN over an SSH tunnel | https://github.com/sshuttle/sshuttle
- MacPorts - sshuttle: normalized package name match | MacPorts ports tree: net/sshuttle/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [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.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [connect](https://www.automicvault.com/pkg/brew/connect/) - Shares av.db curated category or tags: cli, networking, proxy, ssh, tunneling.
- [gotun](https://www.automicvault.com/pkg/brew/gotun/) - Shares av.db curated category or tags: cli, networking, proxy, ssh, tunneling.
- [cntlm](https://www.automicvault.com/pkg/brew/cntlm/) - Shares av.db curated category or tags: cli, networking, proxy, tunneling.
- [corkscrew](https://www.automicvault.com/pkg/brew/corkscrew/) - Shares av.db curated category or tags: cli, networking, proxy, ssh, tunneling.
- [dsvpn](https://www.automicvault.com/pkg/brew/dsvpn/) - Shares av.db curated category or tags: cli, networking, tunneling, vpn.
- [fastd](https://www.automicvault.com/pkg/brew/fastd/) - Shares av.db curated category or tags: cli, networking, tunneling, vpn.
- [geph4](https://www.automicvault.com/pkg/brew/geph4/) - Shares av.db curated category or tags: cli, networking, proxy, vpn.
- [ocproxy](https://www.automicvault.com/pkg/brew/ocproxy/) - Shares av.db curated category or tags: cli, networking, proxy, vpn.
- [mcp-proxy](https://www.automicvault.com/pkg/brew/mcp-proxy/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, networking, proxy, python, python-3-14.

## Combined YAML source

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