Stefan's Website

about me projects tech talk brick movies
projects > httpvnc >

HTTPVNC Architecture

16 May 2014

HTTPVNC is a remote desktop server intended to be both powerful and without the need to install special software on the client. While version 0.x started out with a sole Java client, the current version 1.x is a complete rewrite of the software that provides the following features:

  • Superfast and SSL secured C-based server component using one TCP port only
  • Persistent, shareable TightVNC sessions
  • modified Xvnc server uses FVWM because of its small footprint, other display managers may be added in the future
  • printing support over RSS feeds
  • both HTML5 and Java clients are automatically served when a session is opened

Client

Web Browser

Any modern web browser featuring SSL and Websockets/HTML5 Canvas or a Java plugin is supported.

RSS client

Printed documents appear as RSS feeds

TightVNC applet plugin

The optional applet plugin allows Java based sessions to be used. Java HTTPVNC sessions use less bandwidth and are more performant that noVNC based connections

noVNC HTML5/Websocket/Canvas client

The noVNC client works on almost any modern browser, including mobile devices.
SSL secured, one port only network communication.
Server

Mongoose webserver

RSS proxy

VNC protocol forwarder

Websocket/VNC proxy

Session Broker

Supports multiple persistent and shared connections per user

CUPS module

Xvnc

A modified Xvnc provides an X11 server for X clients. Output is rendered as VNC data (tight encoding).

FVWM

The FVWM display manager has an especially small footprint and is very well suited for VNC forwarding.

Linux Terminal Server