[tor-bugs] #5575 [Flashproxy]: Write our own WebSocket server transport plugin
Tor Bug Tracker & Wiki
blackhole at torproject.org
Tue Nov 27 08:11:26 UTC 2012
#5575: Write our own WebSocket server transport plugin
------------------------+---------------------------------------------------
Reporter: dcf | Owner: dcf
Type: task | Status: needs_review
Priority: normal | Milestone:
Component: Flashproxy | Version:
Keywords: | Parent:
Points: | Actualpoints:
------------------------+---------------------------------------------------
Changes (by dcf):
* status: new => needs_review
Comment:
This is written in /user/dcf/flashproxy.git branch transport. It doesn't
yet support the extended OR port.
The new server transport is written in Go using a custom WebSocket
library. Circumstances that led to this decision: websockify is written in
Python. But Python is slow for WebSocket xor masking, and its ability as
an HTTP server is not as nice as you would like. I wanted to write this
program in C, except that I don't want to implement HTTP and base64 and
everything in C, and I don't want to have to worry about memory safety
very much. Go is like C, compiled but with automatic memory management,
and good support for concurrency. There is even a
[https://code.google.com/p/go/source/browse/websocket?repo=net websocket
library], which it turns out is unusable for us, because 1) server support
for subprotocols seems to be broken (it was
[https://code.google.com/p/go/issues/detail?id=4157 broken for clients]
too until recently), and 2) it doesn't seem to limit the size of received
frames. So it is written in Go with a minimal WebSocket implementation.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/5575#comment:2>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list