mirror of
git://git.proxmox.com/git/pve-xtermjs.git
synced 2025-01-09 01:18:36 +03:00
8acab7c358
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
36 lines
1.2 KiB
Plaintext
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.
|