Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jhthorsen/app-screenorama

Application output to websocket stream
https://github.com/jhthorsen/app-screenorama

Last synced: 27 days ago
JSON representation

Application output to websocket stream

Awesome Lists containing this project

README

        

NAME
App::screenorama - Application output to websocket stream

VERSION
0.06

DESCRIPTION
This program allow you to pipe STDOUT and STDERR from a program over a
websocket.

Protocol
The data transmitted over the websocket connection is JSON in each
frame:

* Startup

{"program":$str,"program_args":...}

Same as "program" and "program_args".

* Output

{"output":$str}

Comes after each time the program emit data. NOTE: There's no
guaranty that it will be emitted on newline.

* Exit

{"exit_value":$int,"signal":$int}

The exit value of the application. The websocket will be closed
after you see this.

* Error

{"error":$str}

If something goes wrong with the application or other operating
system errors.

SYNOPSIS
Server
# let others connect to the running program
$ screenorama daemon --listen http://*:5000 -- 'while sleep 1; do echo "hey!"; done'

# pipe the output on incoming request
$ screenorama daemon -- ls -l

# Set parameters from config file
$ MOJO_CONFIG=/path/to/config.pl screenorama daemon

Supported config/environment variables:

* conduit

See Mojo::IOLoop::ReadWriteFork.

Default value: "pty".

Environment variable: "SCREENORAMA_CONDUIT".

* program

The application to run.

* program_args

The arguments given to "program".

* single

Set this to true if the server should just run one application,
shared between every connection. The default is false, meaning a new
instance of "program" will be started on each request.

Environment variable: "SCREENORAMA_SINGLE".

* stdin

Set this to true if the "program" should accept commands from STDIN.

Environment variable: "SCREENORAMA_STDIN".

Client
Connect a browser to or to
see the output.

AUTHOR
Jan Henning Thorsen - "[email protected]"