There are a lot of components that make up the meek transport. There is
the client and server, and then there is the middle part that runs on
App Engine, and the browser extension that ensures we are speaking HTTPS
the right way. I'm working towards deploying the transport, and to that
end I'd like to encourage code review. This is your chance to get in on
the ground floor of a new transport!

The purpose of review is to find bugs. Yawning found one already in the
server component (the server didn't put a time limit on handling
requests). Even comments such as "it's not clear what this part of the
code is doing" are useful, because those parts of the code can hide
bugs.

The following are, in my opinion, the files most in need of review. Most
of them are under 350 lines, so they shouldn't be too hard to get into.
The languages used are JavaScript for the browser extensions and Go for
everything else. The overall information flow is
        tor ↔ meek-client ↔ extension ↔ reflector ↔ meek-server ↔ tor
Also look at https://trac.torproject.org/projects/tor/wiki/doc/meek#Overview
to get a feel for precisely what packets get sent.

Client plugin (meek-client)
https://gitweb.torproject.org/pluggable-transports/meek.git/blob/HEAD:/meek-client/meek-client.go
https://gitweb.torproject.org/pluggable-transports/meek.git/blob/HEAD:/meek-client/helper.go

Server plugin (meek-server)
https://gitweb.torproject.org/pluggable-transports/meek.git/blob/HEAD:/meek-server/meek-server.go

Reflector (the part that runs on App Engine)
https://gitweb.torproject.org/pluggable-transports/meek.git/blob/HEAD:/appengine/reflect.go

Firefox extension (#11183)
https://gitweb.torproject.org/pluggable-transports/meek.git/blob/HEAD:/firefox/components/main.js
https://gitweb.torproject.org/user/dcf/tor-browser-bundle.git/blob/refs/heads/meek:/Bundle-Data/PTConfigs/meek-http-helper-user.js

Chrome extension (#11393) (Not currently part of the bundle, but you can run it 
manually.)
https://gitweb.torproject.org/pluggable-transports/meek.git/blob/HEAD:/chrome/app/background.js
https://gitweb.torproject.org/pluggable-transports/meek.git/blob/HEAD:/chrome/extension/background.js

Browser bundle packaging (#10935)
https://gitweb.torproject.org/user/dcf/tor-browser-bundle.git/commitdiff/tbb-3.5.4-meek-1?hp=tbb-3.5.4-build3

David Fifield
_______________________________________________
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev

Reply via email to