Update README.md and TODO.
This commit is contained in:
parent
07287cfd89
commit
1626e0f8f8
42
README.md
42
README.md
|
@ -5,28 +5,38 @@ VNC HTML5 Client
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
An VNC client implemented using HTML5, specifically Canvas and Web Sockets.
|
An VNC client implemented using HTML5, specifically Canvas and
|
||||||
|
WebSocket.
|
||||||
|
|
||||||
|
For browsers that do not have builtin WebSocket support, the project
|
||||||
|
includes web-socket-js, a WebSocket emulator using Adobe Flash
|
||||||
|
(http://github.com/gimite/web-socket-js).
|
||||||
|
|
||||||
|
|
||||||
Requirements
|
Requirements
|
||||||
------------
|
------------
|
||||||
|
|
||||||
* A browser that supports Web Sockets (mostly Chrome as of Apr 6, 2010)
|
Until there is VNC server support for WebSocket connections, you need
|
||||||
and Canvas (most browsers)
|
to use a WebSocket to TCP socket proxy. There is a python proxy
|
||||||
|
included ('wsproxy').
|
||||||
|
|
||||||
* Until VNC server support web sockets, you need to use a Web Sockets to
|
There a few reasons why a proxy is required:
|
||||||
normal socket proxy. There are a couple reasons for this:
|
|
||||||
|
|
||||||
1. Web Sockets is not a pure socket protocol. There is an initial HTTP
|
1. WebSocket is not a pure socket protocol. There is an initial HTTP
|
||||||
like handshake to allow easy hand-off by web servers and allow some
|
like handshake to allow easy hand-off by web servers and allow
|
||||||
origin policy exchange. Also, each Web Sockets frame begins with
|
some origin policy exchange. Also, each WebSocket frame begins
|
||||||
0 ('\x00') and ends with 255 ('\xff').
|
with 0 ('\x00') and ends with 255 ('\xff').
|
||||||
|
|
||||||
2. Javascript itself does not have the ability to handle pure byte
|
2. Javascript itself does not have the ability to handle pure byte
|
||||||
strings (Unicode encoding messes with it) even though you can read
|
strings (Unicode encoding messes with it) even though you can
|
||||||
them with Web Sockets. The python proxy base64 encodes the data so
|
read them with WebSocket. The python proxy encodes the data so
|
||||||
that the Javascript client can base64 decode the data into an array.
|
that the Javascript client can base64 decode the data into an
|
||||||
|
array. The client requests this encoding
|
||||||
|
|
||||||
|
3. When using the web-socket-js as a fallback, WebSocket 'onmessage'
|
||||||
|
events may arrive out of order. In order to compensate for this
|
||||||
|
the client asks the proxy (using the initial query string) to add
|
||||||
|
sequence numbers to each packet.
|
||||||
|
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
|
@ -34,7 +44,7 @@ Usage
|
||||||
|
|
||||||
* run a VNC server.
|
* run a VNC server.
|
||||||
|
|
||||||
`Xvnc :1`
|
`vncserver :1`
|
||||||
|
|
||||||
* run the python proxy:
|
* run the python proxy:
|
||||||
|
|
||||||
|
@ -52,7 +62,7 @@ Usage
|
||||||
* Point your web browser at http://localhost:8080/vnc.html
|
* Point your web browser at http://localhost:8080/vnc.html
|
||||||
(or whatever port you used above to run the web server).
|
(or whatever port you used above to run the web server).
|
||||||
|
|
||||||
* Provide the host and port where the proxy is running and the password
|
* Provide the host and port where the proxy is running and the
|
||||||
that the vnc server is using (if any).
|
password that the vnc server is using (if any). Hit the Connect
|
||||||
|
button and enjoy!
|
||||||
|
|
||||||
|
|
4
TODO
4
TODO
|
@ -1,10 +1,8 @@
|
||||||
- Make packet sequence number optional based on WebSockets 'path'.
|
|
||||||
|
|
||||||
- Add WSS/https/SSL support to page and wsproxy.py
|
- Add WSS/https/SSL support to page and wsproxy.py
|
||||||
|
|
||||||
- Make C version of wsproxy.py
|
- Make C version of wsproxy.py
|
||||||
|
|
||||||
- Implement UI option for shared.
|
- Implement UI option for VNC shared mode.
|
||||||
|
|
||||||
- Upgrade to protocol 3.8
|
- Upgrade to protocol 3.8
|
||||||
- implement ZRLE encoding
|
- implement ZRLE encoding
|
||||||
|
|
Loading…
Reference in New Issue