DOKK / manpages / debian 12 / websocketd / websocketd.8.en
websocketd(8) websocketd man page websocketd(8)

websocketd - turns any program that uses STDIN/STDOUT into a WebSocket server.

websocketd [options] COMMAND [command args]

or

websocketd [options] --dir=SOMEDIR

websocketd is a command line tool that will allow any executable program that accepts input on stdin and produces output on stdout to be turned into a WebSocket server.

To learn more about websocketd visit http://websocketd.com and project WIKI on GitHub!

A summary of the options supported by websocketd is included below.

--port=PORT

HTTP port to listen on.

--address=ADDRESS

Address to bind to (multiple options allowed). Use square brackets to specify IPv6 address. Default: "" (all)

--sameorigin={true,false}

Restrict (HTTP 403) protocol upgrades if the Origin header does not match to requested HTTP Host. Default: false.

--origin=host[:port][,host[:port]...]

Restrict (HTTP 403) protocol upgrades if the Origin header does not match to one of the host and port combinations listed. If the port is not specified, any port number will match. Default: "" (allow any origin)

--ssl --sslcert=FILE --sslkey=FILE

Listen for HTTPS socket instead of HTTP. All three options must be used or all of them should be omitted.

--passenv VAR[,VAR...]

Lists environment variables allowed to be passed to executed scripts.

--reverselookup={true,false}

Perform DNS reverse lookups on remote clients. Default: true

--dir=DIR

Allow all scripts in the local directory to be accessed as WebSockets. If using this, option, then the standard program and args options should not be specified.

--staticdir=DIR

Serve static files in this directory over HTTP.

--cgidir=DIR

Serve CGI scripts in this directory over HTTP.

--help

Print help and exit.

--version

Print version and exit.

--license

Print license and exit.

--devconsole

Enable interactive development console. This enables you to access the websocketd server with a web-browser and use a user interface to quickly test WebSocket endpoints. For example, to test an endpoint at ws://[host]/foo, you can visit http://[host]/foo in your browser. This flag cannot be used in conjunction with --staticdir or --cgidir.

--loglevel=LEVEL

Log level to use (default access). From most to least verbose: debug, trace, access, info, error, fatal

* full documentation at http://websocketd.com
* project source at https://github.com/joewalnes/websocketd

The only known condition so far is that certain applications in programming languages that enforce implicit STDOUT buffering (Perl, Python, etc.) would be producing unexpected data passing delays when run under websocketd. Such issues could be solved by editing the source code of those applications (prohibiting buffering) or modifying their environment to trick them into autoflush mode (e.g. pseudo-terminal wrapper "unbuffer").

Active issues in development are discussed on GitHub: https://github.com/joewalnes/websocketd/issues.

Please use that page to share your concerns and ideas about websocketd, authors would greatly appreciate your help!

Copyright 2013-2014 Joe Walnes and the websocketd team. All rights reserved.

BSD license: Run 'websocketd --license' for details.

28 Sep 2014 0.0