]> git.proxmox.com Git - pve-xtermjs.git/blob - README
termproxy: cargo: sort dependencies
[pve-xtermjs.git] / README
1 xterm.js webclient and helper utility
2 =====================================
3
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
6 Backup Server.
7
8 [0]: https://xtermjs.org
9
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.
13
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:
17
18 * Normal Message
19 0:LENGTH:MSG
20 where LENGTH is the bytelength of the msg
21
22 * Resize Message
23 1:COLS:ROWS:
24 where COLS is the number of columns the client wants to resize to, and ROWS
25 the number of rows, respectively
26
27 * Ping Message
28 2
29 used to keep the connection between client and server alive
30 (we have a timeout of 5 minutes)
31
32 Every other input from the client will be ignored.
33
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.