[tor-project] Anti-censorship team meeting notes, 2023-07-27

Hey everyone!

Here are our meeting logs:

http://meetbot.debian.net/tor-meeting/2023/tor-meeting.2023-07-27-15.57.html

And our meeting pad:

Anti-censorship

···

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

Next meeting: Thursday, Aug 3 16:00 UTC
Facilitator: meskio

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: 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 139 <-- hackerncoder, irl, joydeep, meskio, emmapeel working on it
      * Riseup Pad

== Announcements ==

  * onyingyang co-won PETS 2023 Best Student Paper Award Privacy Enhancing Technologies Symposium 2023
  * shelikhoo co-won FOCI 2023 Best Practical Award https://twitter.com/royaensafi/status/1678822594332557312

== Discussion ==

  * Does this issue need attention (Snowflake/Pion incompatibility with Android 11+ and SDK >29)?
    * Snowflake failed to connect on Android 11 and above (#40278) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
    * might only affect android apps that target android>11, but google will start requiring it soon (end of August 2023)
      * Target API level requirements for Google Play apps - Play Console Help
    * Issue on pion side, closed as wontfix: Calling net.Interfaces() on Android 30+ results in selinux errors · Issue #228 · pion/transport · GitHub
    * we ought to be up to date with dependencies, as renovatebot is connected to the snowflake repo
    * meskio will cc Guardian Project on #40278 to see if they have any insight
    * shelikhoo will try to reproduce and will try the available patches

  * Publish advisory for accidentally collected unhashed proxy churn measurements?
    * https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40161
    * dcf will make the issues public and write a forum post

== Actions ==

  *

== Interesting links ==

  * Open Collective - Make your community sustainable. Collect and spend money transparently.
  * Using Arti with Windows schannel for the sake of a different TLS fingerprint
    * Обсуждение блокировок интернета в Туркменистане (26.04.23) - #9 by maxmetu - Turkmenistan - NTC

== 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): last updated 2023-06-29
  Last weeks:
      - fixed certificate error in Snowflake and Conjure
          - Let's Encrypt "DST Root X3" root expiration affects old Android clients accessing broker (#40087) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
          - Failed to verify TLS certificate on older android versions (#32) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / conjure · GitLab
      - released snowflake v2.6.0
          - Release v2.6.0 · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
      - bumped version of Snowflake in Tor Browser
          - Bump version of snowflake to v2.6.0 (#40885) · Issues · The Tor Project / Applications / tor-browser-build · GitLab
      - fixed a crash in Conjure on Android
          - Crash after hang on android (#34) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / conjure · GitLab
      - code lint improvements in lox
          - Clippy fixes (!12) · Merge requests · The Tor Project / Anti-censorship / lox-rs · GitLab
      - started deployment of lox distributor
          - Deploy the lox distributor in a staging environment (#19) · Issues · The Tor Project / Anti-censorship / lox-rs · GitLab
      - found and fixed a bug in the parsing of resource diffs from rdsys
          - Lox Distributor not properly parsing empty ResourceDiff (#22) · Issues · The Tor Project / Anti-censorship / lox-rs · GitLab
  This week:
      - tidy up and share shadow simulations guide for PTs
      - Lox tor browser integration
      - conjure maintenance
  Needs help with:

dcf: 2023-07-27
  Last week:
    - presented "Running a high-performance pluggable transports Tor bridge" at FOCI 2023 Running a high-performance pluggable transports Tor bridge
    - opened a merge request to reduce memory allocations in snowflake-server Have encapsulation.ReadData read into a provided buffer (!154) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
    - tried and discarded a performance optimization in ClientMap Specialize ClientMap for ClientID (#40277) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
    - snowflake CDN bookkeeping Changes · Snowflake costs · Wiki · The Tor Project / Anti-censorship / Team · GitLab
    - tried adjusting num-turbotunnel on snowflake bridges to observe the effect on performance Try reducing num-turbotunnel in server (#40279) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
    - opened issue to remove proxy churn measurements from broker Remove proxy churn measurement from broker (#40280) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
    - reopened issue to delete accidentally unblinded hashed IP addresses in unpublished measurements https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40161#note_2923103
  Next week:
    - write forum post for proxy churn measurements https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40161
    - revise encapsulation.ReadData redesign to return an error in the case of a short buffer Have encapsulation.ReadData read into a provided buffer (!154) · 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
  Help with:

meskio: 2023-07-27
   Last week:
    - read and review lox code
    - integrate gettor updater metrics into prometheus
    - catch up after PETS...
   Next week:
    - test i18n support in rdsys (rdsys#11)

Shelikhoo: 2023-07-27
   Last Week:
    - [Merge Request Awaiting] Add SOCKS5 forward proxy support to snowflake (snowflake!64) (stalled)
    - [Research] HTTPT Planning Add HTTPT as a pluggable transport to Tor Browser (#1) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / HTTPT · GitLab
    - logcollector alert system - ongoing
    - Reviewing & comment on merge requests
    - FOCI Keynote and attendence
   Next Week/TODO:
    - logcollector alert system <- immediate todo

onyinyang: 2023-07-27
  Last week(s):
    - Finished up up indexing of hashmaps for Lox bridgetable
      Lox bridge_table HashMaps should find the next available key (!15) · Merge requests · The Tor Project / Anti-censorship / lox-rs · GitLab
     - Presented Lox presentation for PETS (with some details about Tor integration) <see announcements :tada:>
     - Completed basic serialization/deserialization of Lox context
       Argument passing and Serialize/Deserialize of Lox Context (!18) · Merge requests · The Tor Project / Anti-censorship / lox-rs · GitLab
     - Decided that poloDB is probably the most useful db for Lox, but still need to work out some details of how best to synchronize between rdsys/Lox with the current API (or if that needs to change)
     - Implemented a basic k-invites for open entry distribution
       Distribute Open invitations to K users (!20) · Merge requests · The Tor Project / Anti-censorship / lox-rs · GitLab
    - Thinking more deeply about how best to sync Lox with rdsys given Change labelling of resources failing tests from `gone` (#168) · Issues · The Tor Project / Anti-censorship / rdsys · GitLab
  This week:
    - Come up with a plan to address Change labelling of resources failing tests from `gone` (#168) · Issues · The Tor Project / Anti-censorship / rdsys · GitLab
   - Implement db and synchronization between Lox/rdsys (possibly reliant on some aspects of the former point)
    - Work on adding metrics
  (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?

Itchy Onion: 2023-06-08
    Last week:
    - fixed snowflake pipeline due to outdated Debian image
    - continue working on rdsys#56 implementation. Still need to do the following:
      - finish up computing bridge distribution in Kraken
       - does it have to be deterministic?
       - does the disproportion have to be strictly followed
     - finish writing tests
     - refactor code because some functions are getting extremely long
     - what to do with stencil package?
    This week:
    - review MRs
    - continue working on rdsys#56 implementation. Still need to do the following:
    - fixed a problem with vanilla bridges not being added properly to the database
    - still working on tests
    - adding a migaration patch (Consider persistent storage of bridge information (#56) · Issues · The Tor Project / Anti-censorship / rdsys · GitLab)

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

1 Like