[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#701822: ITP: websockify -- WebSockets support for any application/server

Package: wnpp
Severity: wishlist
Owner: Thomas Goirand <zigo@debian.org>

* Package name    : websockify
  Version         : 0.3.0
  Upstream Author : Joel Martin <github@martintribe.org>
* URL             : https://github.com/kanaka/websockify
* License         : GPL-3
  Programming Lang: Python
  Description     : WebSockets support for any application/server

 websockify was formerly named wsproxy and was part of the noVNC project.
 At the most basic level, websockify just translates WebSockets traffic to
 normal socket traffic. Websockify accepts the WebSockets handshake, parses it,
 and then begins forwarding traffic between the client and the target in both
 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.
 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 (Sec-WebSocket-Protocol). The
 valid subprotocol values are 'binary' and 'base64' and if the client sends
 both then the server (the python implementation) will prefer 'binary'. The
 'binary' subprotocol indicates that the data will be sent raw using binary
 WebSocket frames. Some HyBi clients (such as the Flash fallback and older
 Chrome and iOS versions) do not support binary data which is why the
 negotiation is necessary.

Reply to: