Hi all,
Here's what the anti-censorship team accomplished in September 2020:
Snowflake ---------
* Merged a contribution from Peter Gerber to consider more IP address ranges local, for the purpose of stripping from SDP offers sent to the broker.
Rdsys -----
* Built an HTTP streaming API between rdsys's backend and its distributors that allows distributors to receive resource updates (e.g. a bridge changing its IP address) in real-time.
* Implemented a registration API that allows standalone-proxies (i.e. without a corresponding Tor bridge) to register themselves: https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/issues/4
* Added lots of unit tests. Rdsys's domain logic is 72.1% tested.
* Experimented with reCAPTCHA support in rdsys. We could port BridgeDB's HTTPS distributor to rdsys and replace our Gimp-generated CAPTCHAs with Google's reCAPTCHA. To prevent exposing our users to Google, we would have to set up a reverse proxy, so Google only gets to see our machine's IP address. This is possible but messy to build.
* Started brainstorming Salmon's user interface; in particular how we can best integrate it in Tor Browser: https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/issues/7
* Started writing up rdsys's design and architecture. The goal is to eventually publish a technical blog post that discusses how we built rdsys.
Bridgestrap -----------
* Wrapped up a "minimum viable product" of bridgestrap: https://gitlab.torproject.org/tpo/anti-censorship/trac/-/issues/31874
* Filed issues to improve how bridgestrap spawns a Tor instance to test bridges: https://gitlab.torproject.org/tpo/anti-censorship/bridgestrap/-/issues/1 https://gitlab.torproject.org/tpo/anti-censorship/bridgestrap/-/issues/2 https://gitlab.torproject.org/tpo/anti-censorship/bridgestrap/-/issues/3
Miscellaneous -------------
* Our infrastructure monitoring daemon's emails started getting rejected by Gandi's spam filter. We reported the issue and Gandi fixed it shortly after.
* Read the HTTPT paper as part of our reading group and filed several issues that summarise what's necessary to deploy HTTPT as our next pluggable transport: https://github.com/net4people/bbs/issues/50 https://censorbib.nymity.ch/#Frolov2020b https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/httpt...
* Filed an issue to improve our terminology around bridges: https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/issues/8
* Brainstormed how Tor Browser could detect censorship: https://gitlab.torproject.org/tpo/applications/tor-browser-spec/-/issues/400...
Outreach --------
* Philipp will present rdsys in a lightning talk at the Pluggable Transport Implementer's Meeting on Oct 13: https://www.pluggabletransports.info/ptim2020/
* Published a blog post about Hashik's experience as one of Tor's GSoC'20 students: https://blog.torproject.org/gsoc-2020-snowflake-proxy-mobile
* Recorded a brief video that summarises Tor's anti-censorship work for a class at the University of Michigan.