# wstunnel を Homebrew, MacPorts, Nix, scoop でインストール

wstunnel のインストール経路、実行ファイル、メタデータ、AI エージェント向けセキュリティノートを確認します。

## インストール

```sh
sudo av install brew:wstunnel
```

追加のインストールコマンド:

### macOS

- Homebrew (100%):

```sh
brew install wstunnel
```

  証拠: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install wstunnel
```

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

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#wstunnel
```

  証拠: nixpkgs package indexes: pkgs/by-name/ws/wstunnel/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

### Windows

- Scoop (92%):

```sh
scoop install main/wstunnel
```

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

## パッケージ情報

- **パッケージキー:** brew:wstunnel
- **パッケージマネージャ:** Homebrew
- **バージョン:** 10.6.2
- **ソース概要:** Tunnel all your traffic over Websocket or HTTP2
- **ホームページ:** <https://github.com/erebe/wstunnel>
- **リポジトリ:** <https://github.com/erebe/wstunnel>
- **最終更新:** 2026-07-18T14:04:18Z
- **生成日時:** 2026-08-03T19:37:03+00:00

## 実行可能ファイル

- wstunnel (エイリアス)

## インストール挙動

- Bottle: 利用不可

## バージョンと鮮度

- ページ生成日: 2026-08-03
- マネージャ版: 10.6.2
## プロジェクトの歴史と使われ方

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.

### プロジェクトの歴史

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.

### 採用の歴史

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.

### 使われ方

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.

### パッケージ好きにとっての重要性

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.

### タイムライン

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

### ソース

- <https://github.com/erebe/wstunnel#readme>
- <https://github.com/erebe/wstunnel/pkgs/container/wstunnel>
- <https://github.com/erebe/wstunnel/releases>
- <https://github.com/erebe/wstunnel/tree/haskell>


## セキュリティノート

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

- **Geiger リスク:** blue / 中
- broad file, network, media, or database tool signal

## 他のパッケージマネージャ記録

- Nix - wstunnel: normalized package name match | nixpkgs package indexes: pkgs/by-name/ws/wstunnel/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - wstunnel: normalized package name match | MacPorts ports tree: net/wstunnel/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/wstunnel: normalized package name match | Scoop official bucket manifest trees: bucket/wstunnel.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/wstunnel.yml](https://github.com/mxcl/pkgdb/blob/main/combined/wstunnel.yml)


## ソース

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
