websockify/other
Joel Martin 04b3b2057c HyBi/IETF 6455 support to C websockify.
It's probably broken and it's definitely still messy in several ways,
but basic tests work with Chrome.

Several other C websockify cleanups:

- Remove most of the non-thread safe global variable usage (still
  a little bit that could be fixed so that threading would be easier).

- Remove wswrapper. It is unmaintained, out of date, and never worked
  well anyways (since it really needed a way to do asynchronous queued
  work but it was running in another process context making that
  hard).

- Use md5 routines from openssl.

- Remove md5.c and md5.h since no longer needed.

Thanks to https://github.com/dew111 for spurring me on to get this
done by writing code. I didn't end up using much his forked code, but
having something there goaded me enough to just get it working.
2012-02-01 19:10:39 -06:00
..
Makefile HyBi/IETF 6455 support to C websockify. 2012-02-01 19:10:39 -06:00
README.md READMEs: kumina features, clarifications. 2011-07-14 12:27:04 -05:00
kumina.c Update kumina with HyBi-10+ support. 2011-10-25 17:02:04 -05:00
launch.sh Use /usr/bin/env shebang to make more crossplatform. 2011-03-26 15:27:08 -05:00
md5_test.c fork noVNC, rename to websockify, cleanup. 2011-01-12 18:09:54 -06:00
project.clj Clojure websockify: -main and command line args. 2012-01-30 13:38:18 -06:00
websocket.c HyBi/IETF 6455 support to C websockify. 2012-02-01 19:10:39 -06:00
websocket.h HyBi/IETF 6455 support to C websockify. 2012-02-01 19:10:39 -06:00
websocket.rb HyBi and threading support to ruby websockify. 2011-10-05 17:53:36 -05:00
websockify.c HyBi/IETF 6455 support to C websockify. 2012-02-01 19:10:39 -06:00
websockify.clj Clojure websockify: -main and command line args. 2012-01-30 13:38:18 -06:00
websockify.js fork noVNC, rename to websockify, cleanup. 2011-01-12 18:09:54 -06:00
websockify.rb HyBi and threading support to ruby websockify. 2011-10-05 17:53:36 -05:00
wswrap Use /usr/bin/env shebang to make more crossplatform. 2011-03-26 15:27:08 -05:00

README.md

This directory contain alternate implementations of WebSockets-to-TCP-Socket proxies (for noVNC).

websockify.c (C)

Description

This is a C version of the original websockify. It is more limited in functionality than the original.

websockify.js

Description

This is a Node.JS (server-side event driven Javascript) implementation of websockify.

kumina.c (C)

Description

The upstream source of the kumina proxy is here.

This article describes the kumina proxy.

kumina is an application that is run from inetd, which allows noVNC to connect to an unmodified VNC server. Furthermore, it makes use of the recently added support in noVNC for file names. The file name is used to denote the port number. Say, you connect to:

ws://host:41337/25900

The kumina proxy opens a connection to:

vnc://host:25900/

The address to which kumina connects, is the same as the address to which the client connected (using getsockname()).

Configuration

kumina can be enabled by adding the following line to inetd.conf:

41337 stream tcp nowait nobody /usr/sbin/kumina kumina 25900 25909

The two parameters of kumina denote the minimum and the maximum allowed port numbers. This allows a single kumina instance to multiplex connections to multiple VNC servers.