webterm icon indicating copy to clipboard operation
webterm copied to clipboard

web terminal based on xterm.js in rust

webterm

web terminal based on xterm.js in rust

Screenshot

Is it any good?

Yes.

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 providing an xterm.js UI.

Local development

cargo build
cargo run

Then head to http://localhost:8080/ to see it in action!

Should I run this on the internet?

Probably not. It lets anyone who can access the webpage control your system.