A session to a localhost terminal accessible from the browser
Try it on Heroku
- For eventstream and websockets use thin as your webserver
- install dependencies in run.rb with
$ bundle install
- Run server
$ ruby run.rb
- navigate browser to 127.0.0.1:4567
- Uses EventSource rather than WebSockets, so STDIN can't be sent to terminal after issuing a command (see screenshot for examples of what can be done)
- Will format for ANSI characters, but won't print special characters (clear terminal, modify existing input, etc)
- This grants full access to the terminal. Nefarious users can execute anything they can access in a terminal
- Built on Ruby 2.5.0 on MacOS and Linux