3 Commits

Author SHA1 Message Date
Joel Martin db6a7e3e28 Update to version 0.4.1
*** IMPORTANT NOTE ***

0.4.X is the last minor version to support the Hixie protocol. 0.5.0
will drop the Hixie protocol support. The latest released version of
all major browsers (and web-socket-js) support the IETF 6455 protocol.

- Other changes: add 'include/' sub-dir to source distribution and to
  installed packaged.
2013-03-12 13:46:45 -05:00
Joel Martin d9aedfe7d3 Update to version 0.4.0
*** IMPORTANT NOTE ***

This is the last minor version to support the Hixie protocol. I may do
bug fixes (e.g. 0.4.1) but 0.5.0 will drop the Hixie protocol support.
The latest released version of all major browsers (and web-socket-js)
support the IETF 6455 protocol.

- Other changes: updating TODO and release process notes.
2013-03-12 13:10:53 -05:00
Joel Martin 805026360e Use Buffer base64 support instead of pkrumins/node-base64 2013-02-19 13:12:10 -06:00
8 changed files with 47 additions and 24 deletions
+13
View File
@@ -1,6 +1,19 @@
Changes
=======
0.4.1 - Mar 12, 2013
--------------------
* ***NOTE*** : 0.5.0 will drop Hixie protocol support
* add include/ directory and remove some dev files from source
distribution.
0.4.0 - Mar 12, 2013
--------------------
* ***NOTE*** : 0.5.0 will drop Hixie protocol support
* use Buffer base64 support in Node.js implementation
0.3.0 - Jan 15, 2013
--------------------
+1 -1
View File
@@ -1 +1 @@
include CHANGES.txt *.py README.md LICENSE.txt
include CHANGES.txt websockify include README.md LICENSE.txt
+8 -7
View File
@@ -10,14 +10,15 @@ the target in both directions.
### WebSockets binary data
Websockify supports all versions of the WebSockets protocol (Hixie and
HyBi). The older Hixie versions of the protocol only support UTF-8
text payloads. In order to transport binary data over UTF-8 an
encoding must used to encapsulate the data within UTF-8.
Websockify 0.4.X supports all versions of the WebSockets protocol
(Hixie and HyBi). Starting with websockify 0.5.0, only the HyBi / IETF
6455 WebSocket protocol is supported.
With Hixie clients, Websockify uses base64 to encode all traffic to
and from the client. This does not affect the data between websockify
and the server.
The older Hixie versions of the protocol only support UTF-8 text
payloads. In order to transport binary data over UTF-8 an encoding
must used to encapsulate the data within UTF-8. With Hixie clients,
Websockify uses base64 to encode all traffic to and from the client.
This does not affect the data between websockify and the server.
With HyBi clients, websockify negotiates whether to base64 encode
traffic to and from the client via the subprotocol header
+3 -6
View File
@@ -1,9 +1,6 @@
- Go implementation
- Support multiple targets that are selected by the path line. Some
sort of wildcarding of ports too.
- Support SSL targets too.
- Rust implementation
- Add sub-protocol support to upstream einaros/ws module and use that
instead of the patched module.
- wstelnet: support CSI L and CSI M
+9 -2
View File
@@ -13,5 +13,12 @@ browser.
Building web-socket-js emulator:
cd include/web-socket-js/flash-src
mxmlc -static-link-runtime-shared-libraries WebSocketMain.as
cd include/web-socket-js/flash-src
mxmlc -static-link-runtime-shared-libraries WebSocketMain.as
Building release tarball:
- not really necessary since tagged revision can be downloaded
from github as tarballs
git archive --format=tar --prefix=websockify-${WVER}/ v${WVER} > websockify-${WVER}.tar
gzip websockify-${WVER}.tar
-2
View File
@@ -4,8 +4,6 @@
git tag v${WVER}
git push origin master
git push origin v${WVER}
git archive --format=tar --prefix=websockify-${WVER}/ v${WVER} > websockify-${WVER}.tar
gzip websockify-${WVER}.tar
- Register with pypi.python.org (once):
python setup.py register
- Upload the source distribution to pypi
+4 -5
View File
@@ -5,8 +5,8 @@
// Licensed under LGPL version 3 (see docs/LICENSE.LGPL-3)
// Known to work with node 0.8.9
// Requires node modules: ws, base64, optimist and policyfile
// npm install ws base64 optimist policyfile
// Requires node modules: ws, optimist and policyfile
// npm install ws optimist policyfile
//
// NOTE:
// This version requires a patched version of einaros/ws that supports
@@ -26,7 +26,6 @@ var argv = require('optimist').argv,
fs = require('fs'),
policyfile = require('policyfile'),
base64 = require('base64/build/Release/base64'),
Buffer = require('buffer').Buffer,
WebSocketServer = require('ws').Server,
@@ -51,7 +50,7 @@ new_client = function(client) {
//log("sending message: " + data);
try {
if (client.protocol === 'base64') {
client.send(base64.encode(new Buffer(data)));
client.send(new Buffer(data).toString('base64'));
} else {
client.send(data,{binary: true});
}
@@ -67,7 +66,7 @@ new_client = function(client) {
client.on('message', function(msg) {
//log('got message: ' + msg);
if (client.protocol === 'base64') {
target.write(base64.decode(msg),'binary');
target.write(new Buffer(msg, 'base64'));
} else {
target.write(msg,'binary');
}
+9 -1
View File
@@ -1,6 +1,6 @@
from setuptools import setup, find_packages
version = '0.3.0'
version = '0.4.1'
name = 'websockify'
long_description = open("README.md").read() + "\n" + \
open("CHANGES.txt").read() + "\n"
@@ -12,6 +12,14 @@ setup(name=name,
classifiers=[
"Programming Language :: Python",
],
data_files=[('share/websockify/include',
['include/util.js',
'include/base64.js',
'include/websock.js']),
('share/websockify/include/web-socket-js',
['include/web-socket-js/WebSocketMain.swf',
'include/web-socket-js/swfobject.js',
'include/web-socket-js/web_socket.js'])],
keywords='noVNC websockify',
license='LGPLv3',
url="https://github.com/kanaka/websockify",