readme: update and reword slightly

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2023-09-29 10:07:17 +02:00
parent 154b65d5b9
commit 8acab7c358

29
README
View File

@ -1,15 +1,19 @@
xterm.js webclient and helper utility xterm.js webclient and helper utility
===================================== =====================================
This repository contains the client and helper utility to use This repository contains the client and helper utility to use xterm.js [0] in
xterm.js (https://xtermjs.org) for Proxmox VE. the web UI of Proxmox projects like Proxmox VE, Proxmox Mail Gateway or Proxmox
Backup Server.
To be able to relay between the gui and a shell program/console, [0]: https://xtermjs.org
we need a tool (called termproxy) to open a port (where our websocketproxy
connects to) and to open a pty and execute a program
From Client to Server it implements a simple packet-based protocol: To be able to relay between the frontend and a shell program/console running in
(everything is a string) the backend, we provide a tool called termproxy to open a port (where our
websocketproxy connects to) and to open a PTY and execute a program.
For communication originating from the client towards the server, it implements
a simple packet-based protocol where everything is a string. The protocol
consists of the following messages:
* Normal Message * Normal Message
0:LENGTH:MSG 0:LENGTH:MSG
@ -17,16 +21,15 @@ From Client to Server it implements a simple packet-based protocol:
* Resize Message * Resize Message
1:COLS:ROWS: 1:COLS:ROWS:
where COLS is the number of columns the client wants to resize to, where COLS is the number of columns the client wants to resize to, and ROWS
and ROWS the number of rows, respectively the number of rows, respectively
* Ping Message * Ping Message
2 2
used to keep the connection between client and server alive used to keep the connection between client and server alive
(we have a timeout of 5 minutes) (we have a timeout of 5 minutes)
every other input from the client will be ignored Every other input from the client will be ignored.
From server to client, the data will simply sent, without any
format
Communication from server to the client uses no protocol, the raw data coming
from the terminal/program will be forwarded 1:1, without any wrapping format.