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 directions.

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.

Upload more screenshots

Please help extend the collection of screenshots. Just make a screenshot and upload it here. You don't need to register or anything.

Upload a screenshot

Hint: upload an image here from your clipboard with Ctrl-V



Install this software package

If the package is available for the distribution you are currently using on your computer then install the software by clicking on…

Install websockify