1 xterm.js webclient and helper utility
2 =====================================
4 This repository contains the client and helper utility to use xterm.js [0] in
5 the web UI of Proxmox projects like Proxmox VE, Proxmox Mail Gateway or Proxmox
8 [0]: https://xtermjs.org
10 To be able to relay between the frontend and a shell program/console running in
11 the backend, we provide a tool called termproxy to open a port (where our
12 websocketproxy connects to) and to open a PTY and execute a program.
14 For communication originating from the client towards the server, it implements
15 a simple packet-based protocol where everything is a string. The protocol
16 consists of the following messages:
20 where LENGTH is the bytelength of the msg
24 where COLS is the number of columns the client wants to resize to, and ROWS
25 the number of rows, respectively
29 used to keep the connection between client and server alive
30 (we have a timeout of 5 minutes)
32 Every other input from the client will be ignored.
34 Communication from server to the client uses no protocol, the raw data coming
35 from the terminal/program will be forwarded 1:1, without any wrapping format.