joewalnes/websocketd

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

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 58 minutes ago
Added to GitGenius on September 3rd, 2026
Created on February 14th, 2013
Open Issues & Pull Requests: 5 (+0)
GitHub issues: Enabled
Number of forks: 1,009
Total Stargazers: 17,464 (+0)
Total Subscribers: 361 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 5
New in 7 days: 2
Closed in 7 days: 4
Avg open age: 141 days
Stale 30+ days: 2
Stale 90+ days: 1

Recent activity

Opened in 7 days: 2
Closed in 7 days: 4
Comments in 7 days: 1
Events in 7 days: 1

Top labels

  • documentation (5)
  • discussion (3)
  • feature (3)
  • defect (1)

Detailed Description

websocketd is a command-line tool that wraps existing programs to expose them as WebSocket servers.

The tool solves the problem of building WebSocket-capable applications without requiring developers to learn networking libraries. It works by listening for WebSocket connections on a specified port, forking a child process for each connection, and piping messages between the WebSocket client and the process's standard input and output streams. Text sent from the client is written to the process's STDIN with a newline appended, and any output the process writes to STDOUT is sent back as a WebSocket message when a newline is encountered. This approach lets developers write server logic in any language that supports reading from STDIN and writing to STDOUT.

The tool suits projects where you have an existing command-line program or script that you want to expose over WebSocket without modification. It works well for simple, line-oriented protocols where bidirectional communication can be expressed through newline-delimited messages. This is particularly valuable for rapid prototyping or for integrating legacy command-line tools into web applications. The README emphasizes that the same program works identically when run from the command line or wrapped as a WebSocket server, eliminating the need to maintain separate implementations.

Issues and pull requests in the project often wait weeks or longer for a first response. Work in the issue tracker is dominated by documentation, discussion, and feature requests.