5
0
mirror of git://git.proxmox.com/git/pve-xtermjs.git synced 2025-01-09 01:18:36 +03:00
pve-xtermjs/README
Thomas Lamprecht 8acab7c358 readme: update and reword slightly
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-10-04 15:40:01 +02:00

36 lines
1.2 KiB
Plaintext

xterm.js webclient and helper utility
=====================================
This repository contains the client and helper utility to use xterm.js [0] in
the web UI of Proxmox projects like Proxmox VE, Proxmox Mail Gateway or Proxmox
Backup Server.
[0]: https://xtermjs.org
To be able to relay between the frontend and a shell program/console running in
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
0:LENGTH:MSG
where LENGTH is the bytelength of the msg
* Resize Message
1:COLS:ROWS:
where COLS is the number of columns the client wants to resize to, and ROWS
the number of rows, respectively
* Ping Message
2
used to keep the connection between client and server alive
(we have a timeout of 5 minutes)
Every other input from the client will be ignored.
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.