MCPcopy Index your code
hub / github.com/Xpra-org/xpra-html5

github.com/Xpra-org/xpra-html5 @v18.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v18.1 ↗ · + Follow
1,331 symbols 3,607 edges 39 files 168 documented · 13% updated 13d agov20 · 2026-03-18★ 33327 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

HTML5 client for Xpra

Simply point your browser to the contents of the html5 folder, and you will get an HTML5 client which you can use to connect to any xpra server.

This client is usually packaged as xpra-html5 and the xpra server will normally pick it up automatically so that you can access it using the builtin web server.

Sample Screenshot

Here is a xpra seamless session with an xterm and glxspheres shown running in Google Chrome: xterm session

Installation

The xpra repositories and packages already include the html5 client.
Just install xpra-html5 from there.


To install from source:

git clone https://github.com/Xpra-org/xpra-html5
cd xpra-html5
./setup.py install

On Linux, this will install the html5 client in /usr/share/xpra/www which is where the xpra server expects to find it.

To install with Nginx or Apache, you may need to change the installation path to something like /var/www/html/.

To generate your own RPMs or DEBs, just run: ./setup.py rpm or ./setup.py deb.

Usage

Simply start an xpra session on a specific TCP port (ie: 10000):

xpra start --start=xterm --bind-tcp=0.0.0.0:10000

Then you can access this session with your browser by pointing it to that port. ie locally:

xdg-open http://localhost:10000/

For more information on xpra server options, please refer to the xpra project.

Configuration

Most common HTML5 client options can be specified from the connect dialog form, which is found at /connect.html.
connection to proxy This screenshot shows the dialog when loaded from a proxy server which is able to populate more connection options.

Failures to connect to a server from the default page should also redirect to this connection dialog page automatically.

All of the options can also be specified as URL parameters. ie:

http://localhost:10000/?username=foo&keyboard_layout=fr

For a more complete list of options, see configuration options
The advanced options of the connection dialog exposes some of them: connection to proxy

Compatibility

This client is compatible with any currently supported version of xpra.

Core symbols most depended-on inside this repo

V
called by 1823
html5/js/lib/aurora/mp3.js
$
called by 617
html5/js/Menu.js
PTR
called by 328
html5/js/lib/aurora/mp3.js
read
called by 251
html5/js/lib/web-streams-ponyfill.es6.js
push
called by 195
html5/js/lib/web-streams-ponyfill.es6.js
jQuery
called by 143
html5/js/lib/jquery.js
debug
called by 101
html5/js/Client.js
log
called by 80
html5/js/Client.js

Shape

Function 864
Method 419
Class 48

Languages

TypeScript99%
Python1%

Modules by API surface

html5/js/lib/web-streams-ponyfill.es6.js380 symbols
html5/js/Client.js213 symbols
html5/js/lib/jquery.js112 symbols
html5/js/lib/simple-keyboard.js88 symbols
html5/js/Window.js71 symbols
html5/js/Utilities.js61 symbols
html5/js/lib/brotli_decode.js51 symbols
html5/js/lib/jquery-ui.js41 symbols
html5/js/lib/rencode.js38 symbols
html5/js/lib/aurora/aurora.js35 symbols
html5/js/Protocol.js26 symbols
html5/js/lib/aurora/mp3.js17 symbols

For agents

$ claude mcp add xpra-html5 \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact