Automic VaultAutomic Vault

brew

Install websocketd with Homebrew, apk, apt, MacPorts, Nix

WebSockets the Unix way. Version 0.4.1 via Homebrew; verified 2026-07-25. Also installable with debian: sudo apt install websocketd.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install websocketd

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install websocketd

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

Linux

Alpine Linux apkverified · 92%
sudo apk add websocketd

Alpine Linux edge package indexes · websocketd · source: dl-cdn.alpinelinux.org

Debian aptverified · 92%
sudo apt install websocketd

Debian stable package indexes · websocketd · source: deb.debian.org

Nixverified · 92%
nix profile install nixpkgs#websocketd

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

overview

Package summary

WebSockets the Unix way

Commands and aliases

  • websocketd

history

Project history and usage

websocketd is Joe Walnes's "WebSockets the Unix way" daemon. Instead of asking every language ecosystem to grow a WebSocket server stack, it launches ordinary programs, wires WebSocket messages to their standard input and output, and lets the operating system process model do the rest.

Project history

The repository was created in February 2013, when WebSockets were becoming practical for browser/server applications but many command-line and scripting languages still lacked simple server tooling. websocketd framed the problem as a Unix composition issue: if a program can read stdin and write stdout, it can become a WebSocket endpoint.

The README and man page describe the same core design that made the project notable: websocketd listens on a port, forks a configured process for each connection, sends incoming WebSocket messages to the process with newline framing, and turns lines printed to stdout into outgoing WebSocket messages. The project wiki expanded this idea into language-specific examples for Bash, Python, Ruby, Perl, PHP, C, Rust, Node.js, and other runtimes.

Adoption history

websocketd spread through developer communities as a prototyping and integration tool. Its 2015 Hacker News discussion focused on the exact tradeoff that defined its adoption: process-per-connection overhead is not ideal for every high-scale service, but the model is attractive when rapid composition, debuggability with `ps` and `top`, and reuse of existing scripts matter more than squeezing every byte of memory.

By July 2026, the GitHub repository had accumulated more than seventeen thousand stars and was packaged for multiple Unix-like systems. That longevity reflects a durable niche: websocketd is not a general application framework, but it remains a convenient bridge between browser WebSockets and existing command-line programs.

How it is used

The canonical example is a short shell script that prints a count once per second, launched with `websocketd --port=8080 ./count.sh`, and consumed from browser JavaScript with `new WebSocket('ws://localhost:8080/')`. The same pattern applies to scripts that stream logs, expose system metrics, wrap REPL-like tools, or create lightweight dashboards.

Because websocketd delegates application logic to child processes, users choose it when they want language neutrality and operational transparency. They avoid it when the application needs shared in-memory state, very high connection density, or a long-running event-loop architecture.

Why package nerds care

websocketd is significant because it made WebSockets feel like inetd or CGI for the browser era. For package-manager users, it is the archetypal small binary that lets shell scripts and one-off programs cross a protocol boundary without becoming web servers.

Timeline

  • 2013-02: GitHub repository created.
  • 2014-05: v0.2.9 release published.
  • 2014-07: Official wiki tutorial pages edited with quick-start examples.
  • 2015-02: Public Hacker News discussion highlights the Unix-process model and scaling tradeoffs.
  • 2021-01: v0.4.1 release published.

Related projects

  • websocketd belongs with inetd, CGI-style process launchers, and WebSocket CLIs such as websocat and wscat. Its closest conceptual ancestor is inetd: a small daemon accepts network connections and delegates each session to a normal executable.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 13 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
websocketdcliglobal 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-26
manager version0.4.1
manager updated2026-07-25
local dataok
upstreamcurrent
latest detectedv0.4.1

https://github.com/joewalnes/websocketd

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:websocketd
Version0.4.1
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/websocketd
Homepagehttp://websocketd.com
Repositoryhttps://github.com/joewalnes/websocketd
Upstream docshttp://websocketd.com/
LicenseBSD-2-Clause
Source archivehttps://github.com/joewalnes/websocketd/archive/refs/tags/v0.4.1.tar.gz
Last updated2026-07-25T22:40:19+02:00
Pulseupdated
Build dependenciesgo
Bottleavailable (on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namewebsocketd
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • 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.

Debian apt95%

websocketd 0.4.1-1+b23

Turn any program that uses STDIN/STDOUT into a WebSocket server

https://github.com/joewalnes/websocketd

sudo apt install websocketd
  • Section: web
  • Architecture: amd64
  • Source Package: websocketd
  • 1 dependencies
  • normalized package name match
  • Matched by: Websocketd
Debian stable package indexes · deb.debian.org · Debian stable package indexes: websocketd from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

websocketd

nix profile install nixpkgs#websocketd
  • normalized package name match
  • Matched by: Websocketd
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/we/websocketd/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

websocketd 0.4.1-1build1

Turn any program that uses STDIN/STDOUT into a WebSocket server

https://github.com/joewalnes/websocketd

sudo apt install websocketd
  • Section: universe/web
  • Architecture: amd64
  • 1 dependencies
  • normalized package name match
  • Matched by: Websocketd
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: websocketd from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
apk95%

websocketd 0.4.2-r1

Like inetd, but for WebSockets. Turn any application that uses STDIO/STDOUT into a WebSocket server.

https://github.com/joewalnes/websocketd

sudo apk add websocketd
  • License: BSD-2-Clause
  • Architecture: x86_64
  • Source Package: websocketd
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Websocketd
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: websocketd from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
MacPorts95%

websocketd

sudo port install websocketd
  • normalized package name match
  • Matched by: Websocketd
MacPorts ports tree · api.github.com · MacPorts ports tree: net/websocketd/Portfile from https://api.github.com/repos/macports/macports-ports/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