Hi! This is my status report for contract work done in June 2024.
# Reputation-based bridge distribution
Most of my work last month on reputation-based bridge distribution (Lox) was focused on on-boarding onyinyang on how to maintain and work on the integration of Lox with Tor Browser. In particular, how to reproducibly build the Lox client into .wasm binaries, where to put these binaries in Tor Browser, and how to test and debug the Lox module.
The Lox client updates also required a rebase of our wasm-bindgen fork that produces the Javascript bindings for the Lox module to be able to call from .wasm.
- Fixed the Lox database tests
https://gitlab.torproject.org/tpo/anti-censorship/lox/-/merge_requests/188
- Onboarded onyinyang on the Lox integration with Tor Browser
- Helped debug wasm-bindgen and lox-wasm update issues https://gitlab.torproject.org/tpo/anti-censorship/lox/-/issues/71
- Reviewed merge requests and updated dependencies
# Snowflake webextension
We are still dealing with some of the effects of Mozilla's changes to their requirements for web extensions. The consent prompt updates we rolled out previously caused a sharp decline in proxies polling the broker from both web stores. We have been iterating on fixing bugs and incorporating UX feedback from users and have released new versions on both stores. Progress is also being made on a manifest v3 prototype for the Chrome web store.
- Looked into sharp decline of browser extension proxies https://gitlab.torproject.org/tpo/anti-censorship/team/-/issues/142
- Wrote up a forum post to guide users through snowflake browser extension consent prompt
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowf...
- Found and fixed a bug with the consent prompt flow
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowf...
- Released v0.8.3 of the snowflake extension
- Fixed a few other bugs with the extension UX
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowf...
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowf...
- Added promo tile for Snowflake to Chrome web store
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowf...
- Reviewed manifest v3 prototype
- Released v0.8.4 of snowflake browser extension
# Pluggable Transports
In addition to reproducing and documenting followups to some experience reports about the SQS rendezvous feature, my work on PTs last month was focused on requirements to reduce PT binary sizes in Tor Browser android. I looked at two potential ideas for reducing binary sizes: by integrating Conjure with Lyrebird and using go build tags in Snowflake.
- Reproduced reported SQS rendezvous bug with two bridges
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowf...
- Followed up on idea to set SQS anonymous access policies
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowf...
- Looked into the use of build tags to reduce snowflake binary size
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowf...
- Reverted a bad dependency update in Snowflake
- Reviewed merge requests and updated dependencies
- Worked on squashing Conjure PT into lyrebird
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyreb...
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/conju...
tor-project@lists.torproject.org