[tor-project] Anti-censorship team meeting notes, 2026-03-26

Hey everyone!

Here are our meeting logs:

And our meeting pad:

Anti-censorship work meeting pad

···

--------------------------------
Anti-censorship
--------------------------------

Next meeting: Thursday, Apr 02 16:00 UTC
Facilitator: onyinyang

^^^(See Facilitator Queue at tail)

Weekly meetings, every Thursday at 16:00 UTC, in #tor-meeting at OFTC
(channel is logged while meetings are in progress)

This week's Facilitator:shelikhoo
== Goal of this meeting ==

Weekly check-in about the status of anti-censorship work at Tor.
Coordinate collaboration between people/teams on anti-censorship at the Tor Project and Tor community.

== Links to Useful documents ==
* Our anti-censorship roadmap:
* Roadmap:Issue Boards · Issues by Assignee · Boards · Anti-censorship · GitLab
* The anti-censorship team's wiki page:
* Home · Wiki · The Tor Project / Anti-censorship / Team · GitLab
* Past meeting notes can be found at:
* The tor-project Archives
* Tickets that need reviews: from projects, we are working on:
* All needs review tickets:
* Merge requests · Anti-censorship · GitLab

== Announcements ==
*

== Discussion ==
* Release schedule planning for containers
* Latest Docker image is with an outdated Tor version (#59) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / WebTunnel · GitLab
* WebTunnel server has not needed an update, but the tor daemon has updated in the meantime; want to release container updates purely for the sake of getting an upgraded tor, even if there are no changes to WebTunnel
* Shell will write a ticket about 3 month per maintaince release proposal
* --> link is here: Create a maintaince release schedule to keep containers up to date (#181) · Issues · The Tor Project / Anti-censorship / Team · GitLab
(Mar 26 New)
* 3 Bucket NAT Type Testing Proposal:
* Add three NAT type buckets to the snowflake broker (#40077) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
* instead of having one single test, we run 2 webrtc connect test in parallel
* one of them have a "no server reflective candidate, Endpoint+Port Dependent (Pinned) Filter, Endpoint+Port Dependent Mapping" network environment on server side's webrtc to test if the proxy is of type "open", it is open if the client can connect
* one of them have a "Endpoint+Port Dependent Filter, Independent Mapping" to test if the proxy is of type "moderate", if connects then it is
* the nat type test assist server get these network environment by modifying the sdp info(which we already do to remove some host candidate); connecting via socks5 proxy, the socks5 proxy simulate these network types by intentionally sabotaging the relayed connection
* This design would reduce the amount of change of logic we need to make on proxy, however, would result in increase of server load.
* Questions for discussion:
* Is there any missing points/miscategorization that is not discussed?
* Is there any unintented side effects that is not discussed?
* TODO:
* Shelikhoo check broker machine load
* cohosh add more feedback to the ticket
== Actions ==

 \*

== Interesting links ==

== Reading group ==

 \* We will discuss "" on
     \*
     \* Questions to ask and goals to have:
         \* What aspects of the paper are questionable?
         \* Are there immediate actions we can take based on this work?
         \* Are there long\-term actions we can take based on this work?
             \*
         \* Is there future work that we want to call out in hopes that others will pick it up?
 \* Next in the Reading Group Queue:
     \*

== Updates ==
Name:
This week:
- What you worked on this week.
Next week:
- What you are planning to work on next week.
Help with:
- Something you need help with.

cecylia (cohosh): 2026-03-26
Last week:
- merged snowflake broker pool refactor
- Refactor proxy poll broker logic and pool assignment (!694) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- opened MR for first part of letting broker inform proxies how often to poll
- worked on proxy fairness proposal
Next week:
- continue snowflake and lyrebird go version support and release work
- follow up about running shadow simulations for snowflake performance
- research snowflake enumeration attacks (snowflake#40396)
- implement proxy fairness proposal
- follow up on snowflake rendezvous failures (snowflake#40447)
- revisit conjure integration with lyrebird
- take a look at potential snowflake orbot bug
- [BUG] 20% CPU overhead in kindness mode · Issue #1183 · guardianproject/orbot-android · GitHub

dcf: 2026-03-26
Last week:
- commented on a cypherpunks patch for snowflake webextension and OS lock / sleep Lockscreen, screensaver disabled while a proxy session is active (#36) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake WebExtension · GitLab
- upgraded the snowflake bridges to 0.4.9.6 for a security release Upgrade snowflake bridges to 0.4.9.6 (security release) (#40528) · Tasks · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
Next week:
- open issue to have snowflake-client log whenever KCPInErrors is nonzero Deploy snowflake-server for QueuePacketConn buffer reuse fix (#40260) (#40262) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- parent: Improve bug discovery process (#40267) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
Help with:

meskio: 2026-03-26
Last week:
- AFK
- grant work
Next week:
- assignments log clean up in rdsys side

Shelikhoo: 2026-03-26
Last Week:
- [Testing] Unreliable+unordered WebRTC data channel transport for Snowflake rev2 (cont.)( Draft: Unreliable+unordered WebRTC data channel transport for Snowflake rev2 (!315) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab ) testing environment setup/research
- Merge request Reviews
- Vantage point maintaince
- [Research] proxy pool overload and potential blocking in Iran ( Add three NAT type buckets to the snowflake broker (#40077) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab )
- [Research] Add three NAT type buckets to the snowflake broker ( Add three NAT type buckets to the snowflake broker (#40077) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab )
- [MR] Done: Update webtunnel version to 0.0.4 and update bundled dockerfile dependencies ( Update webtunnel version to 0.0.4 and update bundled dockerfile dependencies (!41) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / WebTunnel · GitLab )
Next (working) Week/TODO:
- Merge request reviews
- [Deployment]Unreliable+unordered WebRTC data channel transport for Snowflake rev2 (cont.)( Draft: Unreliable+unordered WebRTC data channel transport for Snowflake rev2 (!315) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab ) Building custom Tor Browser with patch applied
- Vantage point maintaince
- [Research] proxy pool overload and potential blocking in Iran ( Add three NAT type buckets to the snowflake broker (#40077) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab )
- [Research] Add three NAT type buckets to the snowflake broker ( Add three NAT type buckets to the snowflake broker (#40077) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab )

onyinyang: 2026-03-26
Last week(s):
- Finished work on https distributor language selector HTTPS distributor is missing a language selector menu (#196) · Issues · The Tor Project / Anti-censorship / rdsys · GitLab
-Reworking lox-extension MR and integration with Tor
Next week:
- Start new project #170

   Switch back to some of these:
       As time allows:

                 \- Continue work on rdsys\#196
                \- Continue Investigating rdsys\#248 i\.e\., why dysfunctional webtunnel bridges are being distributed
                 \- Troubleshooting conjure not connecting in China
                     \- waiting for more information from conjure authors/maintainers
           \- Lox still seems to be filling up the disk on the rdsys\-test server despite changes made to delete old entries, look into what's going wrong
            Blog post for conjure: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/conjure/-/issues/46
           \- review Tor browser Lox integration https://gitlab.torproject.org/tpo/applications/tor-browser/-/merge_requests/1300
           \- add TTL cache to lox MR for duplicate responses:
     \- Work on outstanding milestone issues:
         \- key rotation automation

     Later:
     pending decision on abandoning lox wasm in favour of some kind of FFI? https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/43096):
         \- add pref to handle timing for pubkey checks in Tor browser
         \- add trusted invitation logic to tor browser integration:

- improve metrics collection/think about how to show Lox is working/valuable
- sketch out Lox blog post/usage notes for forum

 \(long term things were discussed at the meeting\!\):
     \- brainstorming grouping strategies for Lox buckets \(of bridges\) and gathering context on how types of bridges are distributed/use in practice
         Question: What makes a bridge usable for a given user, and how can we encode that to best ensure we're getting the most appropriate resources to people?
             1\. Are there some obvious grouping strategies that we can already consider?
                 e\.g\., by PT, by bandwidth \(lower bandwidth bridges sacrificed to open\-invitation buckets?\), by locale \(to be matched with a requesting user's geoip or something?\)
             2\. Does it make sense to group 3 bridges/bucket, so trusted users have access to 3 bridges \(and untrusted users have access to 1\)? More? Less?

theodorsm: 2026-02-19
Last weeks:
- Bumping pion stack version with backport: Sign in · GitLab
- Implementing DTLS 1.3 in pion
Next weeks:
- Implementing DTLS 1.3 in pion
Help with:
-

Facilitator Queue:
cohosh onyinyang shelikhoo meskio
1. First available staff in the Facilitator Queue will be the facilitator for the meeting
2. After facilitating the meeting, the facilitator will be moved to the tail of the queue