[tor-project] Anti-censorship team meeting notes, 2025-03-06

Hey everyone!

Here are our meeting logs:
http://meetbot.debian.net/tor-meeting/2025/tor-meeting.2025-03-06-16.00.html

And our meeting pad:

Anti-censorship

···

--------------------------------

Next meeting: Thursday,March 11 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: meskio

== 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:Development · 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
    * Project 158 <-- meskio working on it
      * Issues · Anti-censorship · GitLab

== Announcements ==

  * There is a new version of the snowflake website
    * https://snowflake.torproject.org/
    * A fresh coat for Snowflake: a website refresh to help more people get online | The Tor Project
    * you can help translating it:
      * Tor Project/Tor Websites - Snowflake @ Hosted Weblate

== Discussion ==

  * Should we user test snowflake with covert-dtls? It is difficult to force Snowflake client to become the DTLS client: Add covert-dtls to proxy and client (!448) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
    * "After some debugging, reading the pion webrtc source code, and referencing RFC 5763 (DTLS-SRTP framework) I realized why hook was never triggered. The Snowflake client will almost always become the server in the DTLS handshake as sends the SDP Offer every time. According to the RFC, only the offer can decide who becomes the client or server."
    * we'll use the testing setup of a broker, bridge, ... that we plan to do also for the unreliable transport
    * meskio will update his proxies to test the new developments on covertls (DTLS 1.3)

  * snowflake broker match failure rate is high?
    * high number of 504 errors Lower broker ClientTimeout to 5 seconds (!498) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
    * lots of client poll timeout log messages Find and address the root cause of client poll timeouts (#40447) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
    * SQS rendezvous seems to perform badly under high load SQS specified queue does not exist error (#40363) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
    * removing the rate limit at the broker didn't fully address issues Raise rate limit for client requests at broker (#40451) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
    * cohosh will prepare a MR for the broker using pprof to monitor if there are goroutinges being blocked
    * we'll discuss with this MR if we want to deploy it in production

== Actions ==

== Interesting links ==

  * Snowflake Daily Operations February 2025 update
    * Snowflake users still declining month by month
    * Relay Search
    * Relay Search

== 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?

== 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): 2025-03-06
  Last week:
      - AWS accounting
      - followed up on SQS errors (snowflake#40363)
      - worked on a fix for broken shadow integration tests (snowflake#40456)
      - helped debug conjure registration work (conjure#43)
      - did some tests to figure out cause of snowflake broker failure rate (snowflake#40447)
  This week:
      - support conjure work
      - follow up in snowflake rendezvous failures
      - take a look at potential snowflake orbot bug
          - [BUG] 20% CPU overhead in kindness mode · Issue #1183 · guardianproject/orbot-android · GitHub
      - maybe do some lox work
  
dcf: 2025-03-06
  Last week:
    -
  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: 2024-03-06
    Last week:
        - config as env variables for dsys private data (rdsys#219)
        - remove moat shim token and dummy bridges
        - improvements on rdsys docker images
        - investigate how the gitlab container dependency proxy works (snowflake!522)
    Next week:
        - steps towards a rdsys in containers (rdsys#219)

Shelikhoo: 2024-03-06
    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
         - Vantage Point maintaince
        - Merge request reviews
    Next Week/TODO:
        - Merge request reviews
        - [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 ) improvements

onyinyang: 2025-03-06
  Last week(s):
    - continued work on ampcache registration method for conjure
      - WIP MR: [WIP] Adding AMP Cache registrar to conjure by onyiny-ang · Pull Request #1 · cohosh/conjure · GitHub
        - Draft: Ampcache (!34) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / conjure · GitLab
      
  Next week:
    - finish up ampcache registration method (sqs on hold for now)
    - Begin work on decoy registration option
    - review Tor browser Lox integration
      - Bug 43096: Move to Rust for the Lox integration (!1300) · Merge requests · The Tor Project / Applications / Tor Browser · GitLab
    - add TTL cache to lox MR for duplicate responses:
    Enable repeat responses to successful Lox requests (!305) · Merge requests · The Tor Project / Anti-censorship / lox · GitLab
    As time allows:
    - Work on outstanding milestone issues:
      - key rotation automation
    
    Later:
    pending decision on abandoning lox wasm in favour of some kind of FFI? Consider dropping Lox's WASM (#43096) · Issues · The Tor Project / Applications / Tor Browser · GitLab):
      - add pref to handle timing for pubkey checks in Tor browser
      - add trusted invitation logic to tor browser integration:
      Lox module doesn't include trusted invitation redemption (#42974) · Issues · The Tor Project / Applications / Tor Browser · GitLab
    - 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: 2025-03-06
    Last weeks:
      - Implementing key_share extension support in covert-dtls
      - Implementing mimicking DTLS 1.3 extensions
      - Debugging Tor Build with covert-dtls: Add covert-dtls to proxy and client (!448) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
    Next weeks:
      - Update MR with new covert-dtls version.
      - Write instructions on how to configure covert-dtls with snowflake client
      - Fix merge conflicts in MR (Add covert-dtls to proxy and client (!448) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab).
      - Condensing thesis into paper (on hold)
    Help with:
      - Test stability of covert-dtls in snowflake
      
Facilitator Queue:
     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

--
meskio | https://meskio.net/
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
My contact info: https://meskio.net/crypto.txt
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Nos vamos a Croatan.

2 Likes