diff --git a/README.md b/README.md new file mode 100644 index 0000000..b8842c9 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +# webterm +web terminal based on xterm.js in rust + +![Screenshot](screenshots/screenshot.png) + +# Is it any good? +[Yes.](https://news.ycombinator.com/item?id=3067434) + +# How does it work? + +There is a rust backend based [Actix], consisting of two actors: +* `Websocket` implements a websocket that speaks the [Terminado] protocol +* `Terminal` handles communication to a child spawned on a PTY using [tokio-pty-process]. + +The frontend is a static HTML page served by [actix-web][Actix] providing an [xterm.js] UI. + +[Actix]: https://actix.rs +[Terminado]: https://github.com/jupyter/terminado +[tokio-pty-process]: https://crates.io/crates/tokio-pty-process +[xterm.js]: https://xtermjs.org/ diff --git a/screenshots/screenshot.png b/screenshots/screenshot.png new file mode 100644 index 0000000..ce13130 Binary files /dev/null and b/screenshots/screenshot.png differ