5
0
mirror of git://git.proxmox.com/git/pve-xtermjs.git synced 2025-03-11 20:58:41 +03:00
Thomas Lamprecht 83a3b0745d xtermjs: hard-depent on proxmox-termproxy for now
Avoids that we need to bump all frontends with updated dependencies
and then add them to the proxmox-termproxy's Breaks info.

We can loosen this dependency on the next major release, or when all
users switch to the respective ones (with a versioned Break!).

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-10-17 10:49:54 +02:00
2020-07-23 12:13:31 +02:00
2023-10-17 10:49:54 +02:00
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.
Description
No description provided
Readme 2.7 MiB
Languages
Rust 44.7%
JavaScript 27.6%
CSS 16%
Makefile 11.7%