5
0
mirror of git://git.proxmox.com/git/pve-xtermjs.git synced 2024-12-21 13:34:37 +03:00
Go to file
Fabian Grünbichler b3b1677289 bump pico-args to 0.5
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2024-07-29 09:36:38 +02:00
.cargo move .cargo/config to .cargo/config.toml 2024-06-20 12:38:14 +02:00
termproxy bump pico-args to 0.5 2024-07-29 09:36:38 +02:00
xterm.js xtermjs: bump version to 5.3.0-3 2023-12-11 13:37:18 +01:00
.gitignore split upstream and our native into different source packages 2023-10-17 10:49:54 +02:00
README readme: update and reword slightly 2023-10-04 15:40:01 +02:00

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.