[tor-project] cohosh's monthly status report, June 2024

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
Use temporary directory for database tests (!188) · Merge requests · The Tor Project / Anti-censorship / lox · GitLab

- Onboarded onyinyang on the Lox integration with Tor Browser

- Helped debug wasm-bindgen and lox-wasm update issues
   wasm-bindgen rebase (#71) · Issues · The Tor Project / Anti-censorship / lox · GitLab

- 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
   Investigate why we lost so many snowflake webext proxies and do something about it (#142) · Issues · The Tor Project / Anti-censorship / Team · GitLab

- Wrote up a forum post to guide users through snowflake browser extension consent prompt
Create a forum post to inform users of the new opt-in consent requirement (#97) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake WebExtension · GitLab

- Found and fixed a bug with the consent prompt flow
Snowflake will turn off on update or browser restart even if consented (#98) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake WebExtension · GitLab

- Released v0.8.3 of the snowflake extension

- Fixed a few other bugs with the extension UX
Store enabled state on init if user has consented (!77) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake WebExtension · GitLab
Load consented status before opening consent page (!76) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake WebExtension · GitLab

- Added promo tile for Snowflake to Chrome web store
Update description in Snowflake extension pages on Firefox and Chrome (#55) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake WebExtension · GitLab

- 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
SQS specified queue does not exist error (#40363) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab

- Followed up on idea to set SQS anonymous access policies
Look into SQS policies to allow anonymous access to broker and client queues (#40364) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab

- Looked into the use of build tags to reduce snowflake binary size
Conditionally compile WebRTC modules to minimize final binary size (#40362) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab

- Reverted a bad dependency update in Snowflake

- Reviewed merge requests and updated dependencies

- Worked on squashing Conjure PT into lyrebird
Squash PTs into Lyrebrid (#40015) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / lyrebird · GitLab
Adapt Conjure Tor PT into a library that could be easily integrated into lyrebird (#42) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / conjure · GitLab

···

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