Automic VaultAutomic Vault

brew

Install wstunnel with Homebrew, MacPorts, Nix, scoop

Tunnel all your traffic over Websocket or HTTP2. Version 10.6.1 via Homebrew; verified 2026-06-29.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install wstunnel

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install wstunnel

MacPorts ports tree · net/wstunnel/Portfile · source: api.github.com

Linux

Nixverified · 92%
nix profile install nixpkgs#wstunnel

nixpkgs package indexes · pkgs/by-name/ws/wstunnel/package.nix · source: api.github.com

Windows

Scoopverified · 92%
scoop install main/wstunnel

Scoop official bucket manifest trees · bucket/wstunnel.json · source: api.github.com

overview

Package summary

Tunnel all your traffic over Websocket or HTTP2

Commands and aliases

  • wstunnel

history

Project history and usage

wstunnel is a tunneling tool that carries arbitrary traffic over WebSocket or HTTP/2, aiming to look like ordinary HTTP-family traffic on networks where direct protocols are blocked by firewalls, proxies, or DPI systems. It supports static and reverse tunnels, TCP, UDP, Unix sockets, stdio, SOCKS5, HTTP proxy mode, TLS, mTLS, IPv6, and standalone binaries.

Project history

The upstream README says wstunnel was inspired by an older npm package named `wstunnel`, but was remade so users would not need npm and Node.js. The project was originally written in Haskell and later moved to Rust; the README calls v7.0.0 a complete Rust rewrite that is not compatible with earlier versions and keeps the previous Haskell implementation on a separate branch.

The Rust rewrite was motivated by maintenance and performance concerns. The maintainer cites lower jitter from avoiding Haskell garbage collection, a more homogeneous command-line interface, reverse tunneling support, traffic that better resembles normal traffic, and easier long-term maintenance because the Haskell ecosystem had become harder for the maintainer to keep up with.

Adoption history

wstunnel's adoption is concentrated among users who need a single-file tunnel that can survive HTTP-only or proxy-constrained networks. The README's examples cover ordinary port forwarding, UDP DNS forwarding, SOCKS5 and HTTP proxy modes, transparent proxying, Unix sockets, and using stdio as an SSH ProxyCommand transport.

The GitHub releases page shows an active v10 series, and the project publishes container images through GitHub Packages in addition to binary releases. That packaging footprint reflects its operational audience: people copying a tunnel binary or container to constrained client and server environments.

How it is used

A common pattern is to run a public wstunnel server and then start a local client with one or more `-L` local-to-remote forwards or `-R` remote-to-local forwards. For SSH, the README documents a stdio tunnel suitable for `ssh -o ProxyCommand=...`; for browser or whole-session use, it can expose SOCKS5 or HTTP proxy listeners.

The tool is often used where WebSocket over TLS is more likely to pass through middleboxes than raw SSH, WireGuard, or application-specific TCP/UDP traffic. The README cautions that HTTP/2 tunneling is harder behind reverse proxies and CDNs because buffering and protocol conversion can break streaming.

Why package nerds care

wstunnel is notable because it sits in the pragmatic tunneling family with tools such as chisel, gost, boringproxy, and SSH ProxyCommand setups, but keeps a very explicit WebSocket/HTTP transport identity. The Haskell-to-Rust rewrite also makes it a useful example of a network utility migrating runtimes to improve distribution and maintenance.

Timeline

  • Original era: wstunnel was implemented in Haskell, inspired by an npm WebSocket tunnel package.
  • v7.0.0: The project was rewritten in Rust with an incompatible command-line and protocol transition from the Haskell version.
  • 2020s: The README documents WebSocket and HTTP/2 transports, reverse tunneling, SOCKS5/HTTP proxy modes, mTLS, IPv6, and standalone binaries.
  • 2026: The GitHub releases page lists active v10.x releases.

Related projects

  • The README links the older npm `wstunnel` package as the inspiration for this implementation.
  • The README points to the Haskell branch for users interested in the pre-v7 implementation.

security posture

Risk level: blue

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

Risk classifier

blue risk · medium confidence · tool

Why

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

Signals

  • text:http

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
wstunnelcliglobal executable

freshness

Version and 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.

page generated2026-07-08
manager version10.6.1
manager updated2026-06-29
local dataok
upstreamcurrent
latest detectedv10.6.1

https://github.com/erebe/wstunnel

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:wstunnel
Version10.6.1
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/wstunnel
Homepagehttps://github.com/erebe/wstunnel
Repositoryhttps://github.com/erebe/wstunnel
Upstream docshttps://github.com/erebe/wstunnel#readme
LicenseBSD-3-Clause
Source archivehttps://github.com/erebe/wstunnel/archive/refs/tags/v10.6.1.tar.gz
Last updated2026-06-29T11:32:54Z
Pulseupdated
Build dependenciesrust
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namewstunnel
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

wstunnel

nix profile install nixpkgs#wstunnel
  • normalized package name match
  • Matched by: Wstunnel
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ws/wstunnel/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
MacPorts95%

wstunnel

sudo port install wstunnel
  • normalized package name match
  • Matched by: Wstunnel
MacPorts ports tree · api.github.com · MacPorts ports tree: net/wstunnel/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Scoop95%

main/wstunnel

scoop install main/wstunnel
  • normalized package name match
  • Matched by: Wstunnel
Scoop official bucket manifest trees · api.github.com · Scoop official bucket manifest trees: bucket/wstunnel.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

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