[tor-project] Anti-censorship team meeting notes, 2023-09-28

Hey everyone!

Here are our meeting logs:

And our meeting pad:

Anti-censorship work meeting pad




Next meeting: Thursday, Oct 05 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: onyinyang

== 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: https://gitlab.torproject.org/groups/tpo/anti-censorship/-/boards
 \* The anti\-censorship team's wiki page:
     \* https://gitlab.torproject.org/tpo/anti-censorship/team/-/wikis/home
 \* Past meeting notes can be found at:
     \* https://lists.torproject.org/pipermail/tor-project/
 \* Tickets that need reviews: from sponsors, we are working on:
     \* All needs review tickets:
         \* https://gitlab.torproject.org/groups/tpo/anti-censorship/-/merge_requests?scope=all&utf8=%E2%9C%93&state=opened&assignee_id=None
     \* Sponsor 96 <\-\- meskio, shell, onyinyang, cohosh
         \* https://gitlab.torproject.org/groups/tpo/-/milestones/24
     \* Sponsor 150 <\-\- meskio working on it
         \* https://gitlab.torproject.org/groups/tpo/anti-censorship/-/issues/?label_name%5B%5D=Sponsor%20150

== Announcements ==

== Discussion ==

- Update on snowflake domain fronting issues:
- problem with cdn.sstatic.net affected more than just snowflake, also moat, conjure (no deployment change required)
- fixed in new tor browser update but some users relying on snowflake/moat bridges will be unable to update
- relying on a the same new front may be detrimental to improve connection issues for some users, perhaps a pool of randomly selected domains would improve the situation:

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

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): 2023-09-28
Last week:
- rdsys merge request !157
- wrote a feature for snowflake that allows multiple domain fronts
- Randomly select front domain from comma-separated list (!182) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- wrote a forum post for the domain fronting issue with moat
- Temporary fix for moat and connection assist
- looked into orbot use of circumvention settings api
- Use the snowflake bridge lines returned by the circumvention map API when using the "Ask Tor" feature · Issue #983 · guardianproject/orbot · GitHub
This week:
- finish deploying lox distributor
- follow up on conjure reliability issues
- visualize and write up some snowflake shadow simulation results
Needs help with:

dcf: 2023-09-21
Last week:
- snowflake CDN bookkeeping Changes · Snowflake costs · Wiki · The Tor Project / Anti-censorship / Team · GitLab
- noticed a problem with the fastly domain front and coordinated with cohosh to analyze it [anti-censorship-team] cdn.sstatic.net sometimes resolves to Cloudflare, since 2023-09-20 14:00
Next week:
- 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
Before EOY 2023:
- move snowflake-02 to new VM
Help with:

meskio: 2023-09-21
Last week:
- make fake descriptors for rdsys (rdsys#171)
- document rdsys development process (rdsys#131)
- use the right content-type in moat (rdsys#175)
- add token authentication to onbasca requests (rdsys#174)
Next week:
- add a DB for bridges to rdsys (rdsys#56)

Shelikhoo: 2023-09-28
Last Week:
- [Merge Request Awaiting] Add SOCKS5 forward proxy support to snowflake (snowflake!64) (stalled)
- Write Tor Spec for Armored URL
- Remove Go 1.20 CI for Snowflake: Remove Golang 1.20 from CI Testing (!184) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- Consolidated Snowflake Update dependencies:Update dependencies (!185) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- Merge request reviews
Next Week/TODO:
- Write Tor Spec for Armored URL(continue)
- Merge request reviews

onyinyang: 2023-09-28
Last week(s):
- Still need to merge the updated dependencies and make MR to upstream ZK lib:
- found bug in the zkp crate and will push a change to this to the upstream branch
- reach out to dalek-cryptography maintainers to give them a heads up and get a sense of the plan for zkp lib
- we may end up maintaining the zkp lib
- Finished changes to rdsys API at the /resources endpoint to meet the needs of Lox
- Working on required changes to lox-distributor
This week:
- Hopefully,finish up with the dependencies issue
- Finish up changes to Lox distributor
- continue with metrics

 \(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?


GPG Fingerprint 3CC3 F8CC E9D0 A92F A108 38EF 156A 6435 430C 2036