21 lines
682 B
Markdown
21 lines
682 B
Markdown
|
|
# webterm
|
||
|
|
web terminal based on xterm.js in rust
|
||
|
|
|
||
|
|

|
||
|
|
|
||
|
|
# 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/
|