websocketd(8)

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

SYNOPSIS
websocketd [options] COMMAND [command args]

or

websocketd [options] --dir=SOMEDIR

DESCRIPTION
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!

OPTIONS
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

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

BUGS
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!

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

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