Create an SSH-like service which lets clients open shells through websockets
npm install -g websocket-shell-service
# Start the service on the default port (8080)
websocket-shell-service
# Install the service (Windows / Linux) with a custom port
websocket-shell-service install --port 42069
# Remove the service from your machine
websocket-shell-service uninstall
- Sets up a websocket server bound to localhost:8080
- Pipes incoming websocket connections to shells using node-pty
If you'd like to have your service accessible to the internet, put it behind Nginx with Basic Auth. You'll also want to make sure to proxy websocket connections.
Check out example.html
on how to render a Terminal in your browser using a websocket and xtermjs.