Opened 6 years ago

Closed 5 years ago

Last modified 5 years ago

#5382 closed task (implemented)

Port SWF flash proxy to JavaScript

Reported by: dcf Owned by: dcf
Priority: Medium Milestone:
Component: Archived/Flashproxy Version:
Severity: Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

It's impolite to ask volunteers to run Adobe Flash; also it complicates development, deployment, and testing. It ought to be possible to do everything the Flash badge does in JavaScript (with the exception of the deprecated RTMFP transport).

flash.net.URLLoader becomes XMLHttpRequest. flash.net.Socket becomes WebSocket. Rather than having to run a crossdomain policy server, endpoints will have to understand the WebSocket header. On the Tor relay side, we may run a WebSocket proxy such as https://github.com/kanaka/websockify. On the client side, it should be built into the connector, just as the connector now has a crossdomain server.

This development is happening in https://gitweb.torproject.org/flashproxy.git/shortlog/refs/heads/js.

Child Tickets

Change History (3)

comment:1 Changed 6 years ago by arma

Component: - Select a componentFlashproxy
Keywords: flashproxy removed

comment:2 Changed 5 years ago by dcf

Resolution: implemented
Status: newclosed

This is done and deployed now. The implementation supports Firefox 7+, Chrome 14+, and IE 10+ as proxies. Some enhancements are new tickets:

  • #5574: Support Safari as a proxy.
  • #5575: Implement a custom server transport plugin.

comment:3 Changed 5 years ago by dcf

44/50 of the most recent flashproxy-exercise hourly tests using JavaScript proxies were successful (were able to bootstrap and download a web page). I suspect that the cases where it failed were when a browser with the wrong sort of WebSocket support connected; this should be resolved by https://gitweb.torproject.org/flashproxy.git/commit/48b68ca38541bb5204b04021f48d0e013413d2b0.

Note: See TracTickets for help on using tickets.