[tor-project] Anti-censorship team meeting notes, 2023-05-11

Hey everyone!

Here are our meeting logs:

And our meeting pad:

Anti-censorship work meeting pad




Next meeting: Thursday, May 18 16:00 UTC

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

== 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 139 <\-\- hackerncoder, irl, joydeep, meskio, emmapeel working on it
         \* https://pad.riseup.net/p/sponsor139-meeting-pad

== Announcements ==

== Discussion ==

 \* Update on Analysis of speed deficiency of Snowflake in China, 2023 Q1 https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40251#note_2883879
     \* after a lot of research the proposed solution is to enable datagram transport on webrtc to deal with the packet loss situation
     \* that will convert webrtc into an unreliable channel, and snowflake will add reliablity with kcp
     \* \(NO update from shell @ May 11, research ongoing\)

== Actions ==

== Interesting links ==

 \* Unofficial\(?\) Snowflake extension for Safari in Apple App Store?
     \* https://apps.apple.com/us/app/torproject-snowflake/id1597501940
     \* Previously noted at https://lists.torproject.org/pipermail/anti-censorship-team/2022-February/000222.html
 \* Research about designing an armored bridge line sharing URL format\(https://gitlab.torproject.org/tpo/anti-censorship/team/-/issues/126)
 \* https://opencollective.com/censorship-circumvention/projects/snowflake-daily-operations/updates/2023-april-update

== Reading group ==

 \* We will discuss "Lox: Protecting the Social Graph in Bridge Distribution" on 2023 May 18
     \* https://cypherpunks.ca/~iang/pubs/lox-popets23.pdf
     \* 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): last updated 2023-05-04
Last week:
- tor meeting
This week:
- catch up on emails
- foci stuff
- open issue about archiving snowflake prometheus metrics
- go over lox notes again from meeting
- lox-wasm tor browser builds
Needs help with:

dcf: 2023-05-11 (since 2023-04-20)
Last week:
- made a merge request to add an error check to the distinctcounter program Add a scanner error check to ClusterCounter.Count (!147) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- opened an issue to upgrade tor on snowflake-01 Upgrade tor on snowflake-01 to 0.4.7 (#40270) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- posted April 2023 snowflake-01 update https://opencollective.com/censorship-circumvention/projects/snowflake-daily-operations
- posted a history of pluggable transport placeholder IP addresses improve descriptor arguments published (#17) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / WebTunnel · GitLab
Next week:
- upgrade tor on snowflake-01 Upgrade tor on snowflake-01 to 0.4.7 (#40270) · Issues · 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-04-20
Last week:
- update PTs to use goptlib from gitlab.tpo
- distribute bridges in rdsys even if there fewer than requested in the hashring (rdsys#162)
- add webtunnel support to BridgeDB (rdsys#142)
Next week:
- tormeeting

Shelikhoo: 2023-05-11
Last Week:
- [Merge Request Awaiting] Add SOCKS5 forward proxy support to snowflake (snowflake!64)
- [Research] HTTPT Planning Add HTTPT as a pluggable transport to Tor Browser (#1) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / HTTPT · GitLab
- Research about designing an armored bridge line sharing URL format(Research about designing an armored bridge line sharing URL format (#126) · Issues · The Tor Project / Anti-censorship / Team · GitLab)
- Snowflake Performance Analysis(Ongoing)
Next Week/TODO:
- [Research] WebTunnel planning (Continue)
- Try to find a place to host another vantage point
- logcollector alert system
- webtunnel document for proxy operator
- Snowflake Performance Analysis

onyinyang: 2023-05-11
Last week:
- finished up implementing metrics to check on flickering resources and ratios observed (maybe) awaiting review
- Worked through changes to handle `gone` resources. rdsys changes are tentatively implemented, Lox library changes are more hairy.
This week:
- Finished up the Lox library changes
- Added additional changes to Lox distributor
- Refactoring lox-distributor for readability
- Adding tests for both Lox library and Lox distributor
- Looking into a more reasonable way of storing Lox library data structures:
- Ensure Lox bridge table persists in case of catastrophic failure (#2) · Issues · onyinyang / lox · GitLab
- Make Lox Bridge Table more robust (#3) · Issues · onyinyang / lox · GitLab
(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 useable 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 sacrified 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?
Needs Help with:
- figuring out whether or not the metrics I added to rdsys actually collect what we want them to. I can run prometheus locally but am unsure how to match this with a realistic onbasca test that can actually show whether the metrics are useful/correct. Is there a known way to do such tests other than deploy and find out?

Itchy Onion: 2023-05-11
Last week:
- Work on team#112 (Some bridges are reported offline but are online and working)
This week:
- Continue investigating offline bridges (team#112)
- Discovered bridgestrap#37 (cache gives wrong status of bridge sometimes)
- Start working on rdsys#56 (persistent storage for certain bridge arributes)

hackerncoder: 2023-04-20
last week:
- (py-)ooni-exporter torsf (snowflake)
- (py-)ooni-exporter web_connectivity
Next week:
- work on "bridgetester"?
- how does Iran block bridges?

1 Like