[tor-project] Anti-censorship team meeting notes, 2024-03-21

Hey everyone!

Here are our meeting logs:
https://paste.debian.net/1311523/
(meetbot was not around)

And our meeting pad:

Anti-censorship

···

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

Next meeting: Thursday, March 28 16:00 UTC
Facilitator: onyingyang

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 sponsors, we are working on:
    * All needs review tickets:
      * Merge requests · Anti-censorship · GitLab
    * Sponsor 96 <-- meskio, shell, onyinyang, cohosh
      * Sponsor 96: Rapid Expansion of Access to the Uncensored Internet through Tor in China, Hong Kong, & Tibet · The Tor Project · GitLab
    * Sponsor 150 <-- meskio working on it
      * Issues · Anti-censorship · GitLab

== Announcements ==

== Discussion ==

  * use snowflake's RoundedCounter in rdsys
    * broker/prometheus.go · main · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
    * duplicate the code? extract it to it's own library? import snowflake?
    * lets extract it to it's own library
    * meskio will open an issue to discuss the naming for it
  * Inconsistent release policy for containers between DockerHub and Gitlab
    * the latest in Dockerhub is the most recent stable release
    * the latest in Gitlab is the most recent commit on main(bleeding edge / nightly)
    * let's rename gitlab's latest to nightly and use latest for the latest stable image

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

== 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): 2024-03-21
  Last week:
      - released snowflake v2.9.2
          - Release v2.9.2 · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
      - modified webext source prep to work with mozilla's new requirements
          - 0.7.3 rejected from mozilla (#89) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake WebExtension · GitLab
      - released version 0.7.5 of webextension
          - Files · webext-0.7.5 · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake WebExtension · GitLab
      - upgraded tor on conjure bridge
      - deployed snowflake sqs fixes
          - Deploy new SQS features and fixes (#40347) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
      - debugged some sqs errors
          - https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40350
          - https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40338
  This week:
      - open MR to change front domain for OONI tests (waiting on Go 1.21 support)
      - work on reproducing some reported SQS errors and open a public issue for it
      - compile a list of next-steps for lox
      - update wasm-bindgen fork to fix some bugs and hopefully upstream changes
      - tor-browser-build updates for lox wasm + bindings generation
  Needs help with:

dcf: 2024-03-21
  Last week:
    - reviewed a snowflake-webext README fix Draft: Move webextension building instructions to top of README (!69) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake WebExtension · GitLab
    - merged some missing commits from meek gitolite into gitlab Missing some commits after gitlab migration (#40004) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / meek · GitLab
  Next week:
    - review draft MR for unreliable data channels Draft: Unreliable+unordered WebRTC data channel transport for Snowflake (!219) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
    - 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
    - open issue to disable /debug endpoint on snowflake broker
    - move snowflake-02 to new VM
Help with:

meskio: 2023-03-21
    Last week:
        - captcha moat in rdsys (rdsys#182)
        - prometheus metrics for moat in rdsys (rdsys#124)
        - deploy rdsys and bridgestrap testing bridges every hour (bridgestrap#39)
        - fix and publish obfs4-bridge docker image for armv7 (docker-obfs4-proxy#18)
        - fix bugs introduced by me in bridgestrap (bridgestrap#41)
    Next week:
        - persistency for resources in rdsys (rdsys#56)

Shelikhoo: 2024-03-21
    Last Week:
        - [Merge Request] Add WebTunnel Client Support Integration to lyrebird (Add WebTunnel Client Support Integration to lyrebird (!34) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / lyrebird · GitLab)
        - [Merge Request WIP] Add Container Image Mirroring from Tor Gitlab to Docker Hub(Draft: Add Container Image Mirroring from Tor Gitlab to Docker Hub (!280) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab)
        - Prepare for 3-min presentation
        - Prepare for the discussion session
        - Merge request reviews(a lots of them!)
    Next Week/TODO:
        - [Research] Inspect Snowflake Situation In China
        - [Merge Request] Add WebTunnel Client Support Integration to lyrebird (Add WebTunnel Client Support Integration to lyrebird (!34) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / lyrebird · GitLab)
        - [Merge Request WIP] Add Container Image Mirroring from Tor Gitlab to Docker Hub(Draft: Add Container Image Mirroring from Tor Gitlab to Docker Hub (!280) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab)
        - Prepare for 3-min presentation
        - Prepare for the discussion session
        
onyinyang: 2023-03-14
  Last week(s):
    - continued prep for HACS/DRL meeting
    - Sync-test rebase
      
  This week:
    - continue prep for HACS/DRL meeting
    - Attend HACS, then RWC, then DRL meeting
    (later things)
    - improve metrics collection/think about how to show Lox is working/valuable
    - sketch out Lox blog post/usage notes for forum
    - attempt hyper upgrade again
    
  (long term things were discussed at the meeting!): Riseup Pad
    - 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: 2023-03-14
    Last weeks:
      - Created a setup for extracting fingerprints from DLTS handshakes and analyzed the previous webrtc/dtls data sets from GitHub - kyle-macmillan/snowflake_fingerprintability. Found more fingerprints than presented in the original paper, but the fingerprints are not present in newer snowflake versions.
      - Contacted Sean DuBois at Pion, he is very supporting of the project and happy to merge features related to anti-censorsip
      - Started on a setup for collecting DTLS handshakes to be used for mimicking
      - Exploring and planning features for anti-fingerprinting techniques to implement in the Pion lib.
    Next weeks:
      - Creating a setup for generating DTLS handshakes of web-browsers with selenium/playwright. This will hopefully generate common handshakes/fingerprints
    Help with:
      
--
meskio | https://meskio.net/
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
My contact info: https://meskio.net/crypto.txt
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Nos vamos a Croatan.