From 5aeb98801bafe847d844df9481726f229c909186 Mon Sep 17 00:00:00 2001 From: Joel Martin Date: Tue, 6 Apr 2010 21:34:56 -0500 Subject: [PATCH] Change to markdown README.md. - Semi-colon missing. --- README | 21 -------------------- README.md | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ vnc.js | 2 +- 3 files changed, 59 insertions(+), 22 deletions(-) delete mode 100644 README create mode 100644 README.md diff --git a/README b/README deleted file mode 100644 index f689404e..00000000 --- a/README +++ /dev/null @@ -1,21 +0,0 @@ -VNC Web Client implemented using HTML5 (Web Sockets, Canvas) - -In order to use the client you need to use the python proxy. There are -a couple reasons for this: - -- Web Sockets is not a pure socket protocol. There is an initial HTTP - like handshake to allow easy hand-off by web servers and allow some - origin policy exchange. Also, each Web Sockets frame begins with - 0 ('\x00') and ends with 255 ('\xff'). - -- Javascript itself does not have the ability to handle pure byte - strings (Unicode encoding messes with it) even though you can read - them with Web Sockets. The python proxy base64 encodes the data so - that the Javascript client can base64 decode the data into an array. - -The python proxy is run like this: - - ./wsproxy.py - -You then point the client at the listen_port on the host where the -wsproxy.py command is running. diff --git a/README.md b/README.md new file mode 100644 index 00000000..00e0b0c6 --- /dev/null +++ b/README.md @@ -0,0 +1,58 @@ +VNC HTML5 Client +================ + + +Description +----------- + +An VNC client implemented using HTML5, specifically Canvas and Web Sockets. + + + +Requirements +------------ + +* A browser that supports Web Sockets (mostly Chrome as of Apr 6, 2010) + and Canvas (most browsers) + +* Until VNC server support web sockets, you need to use a Web Sockets to + normal socket proxy. There are a couple reasons for this: + + * Web Sockets is not a pure socket protocol. There is an initial HTTP + like handshake to allow easy hand-off by web servers and allow some + origin policy exchange. Also, each Web Sockets frame begins with + 0 ('\x00') and ends with 255 ('\xff'). + + * Javascript itself does not have the ability to handle pure byte + strings (Unicode encoding messes with it) even though you can read + them with Web Sockets. The python proxy base64 encodes the data so + that the Javascript client can base64 decode the data into an array. + + +Usage +----- + +* run a VNC server. + + `Xvnc :1` + +* run the python proxy: + + `./wsproxy.py [listen_port] [vnc_host] [vnc_port]` + + `./wsproxy.py 8787 localhost 5901` + + +* run the mini python web server to serve the directory: + + `./web.py PORT` + + `./web.py 8080` + +* Point your web browser at http://localhost:8080/vnc.html + (or whatever port you used above to run the web server). + +* Provide the host and port where the proxy is running and the password + that the vnc server is using (if any). + + diff --git a/vnc.js b/vnc.js index b92c7571..b965e119 100644 --- a/vnc.js +++ b/vnc.js @@ -122,7 +122,7 @@ init_msg: function (data) { debug("Challenge: " + challenge + "(" + challenge.length + ")"); passwd = RFB.passwdTwiddle(RFB.password); //debug("passwd: " + passwd + "(" + passwd.length + ")"); - response = des(passwd, challenge, 1) + response = des(passwd, challenge, 1); //debug("reponse: " + response + "(" + response.length + ")"); RFB.send_array(response);