Skip to content
kanaka edited this page Feb 15, 2011 · 3 revisions
  • To encrypt the traffic using the WebSocket 'wss://' URI scheme you need to generate a certificate for the proxy to load. By default the proxy loads a certificate file name self.pem but the --cert=CERT option can override the file name. You can generate a self-signed certificate using openssl. When asked for the common name, use the hostname of the server where the proxy will be running:
openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem
  • tightvnc provide a nice startup script that can be used to run a separate X desktop that is served by VNC. To install and run the server under Ubuntu you would do something like this:
sudo apt-get install tightvncserver
vncserver :1

The VNC server will run in the background. The port that it runs on is the display number + 5900 (i.e. 5901 in the case above).

  • x11vnc can be used to share your current X desktop. Note that if you run noVNC on the X desktop you are connecting to via VNC you will get a neat hall of mirrors effect, but the the client and server will fight over the mouse.
sudo apt-get install x11vnc
x11vnc -forever -display :0

Without the -forever option, x11vnc will exit after the first disconnect. The -display option indicates the exiting X display to share. The port that it runs on is the display number + 5900 (i.e. 5900 in the case above).

  • To run the python proxy directly without using launch script (to pass additional options for example):

./utils/websockify source_port target_addr:target_port ./utils/websockify 8787 localhost:5901

  • To activate the mini-webserver in websockify use the --web DIR option:
./utils/websockify --web ./ 8787 localhost:5901
  • Point your web browser at http://localhost:8787/vnc.html. On the page enter the location where the proxy is running (localhost and 8787) and the password that the vnc server is using (if any). Hit the Connect button.

  • If you are using python 2.3 or 2.4 and you want websockify to support 'wss://' (TLS) then see the websockify README for instructions on building the ssl module.

Clone this wiki locally