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

Hey everyone!

Here are our meeting logs:
http://meetbot.debian.net/tor-meeting/2023/tor-meeting.2023-05-25-15.57.html

And our meeting pad:

Anti-censorship work meeting pad

···

--------------------------------
------------------------------------------------------------------------------------
THIS IS A PUBLIC PAD
------------------------------------------------------------------------------------

Anti-censorship
--------------------------------

Next meeting: Thursday, June 1 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 ==

 \* Research about designing an armored bridge line sharing URL format
     \* https://gitlab.torproject.org/tpo/anti-censorship/team/-/issues/126
     \* we will not include forward error correction
     \* shelikhoo will do a test implementation

 \* 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 reliability with kcp

 \* PT implementation version in the descriptors
     \* https://gitlab.torproject.org/tpo/core/tor/-/issues/11101
     \* Will be included in next Tor version \(0\.4\.8???\)
     \* we'll need to update goptlib and the different PTs

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

== 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-05-25
Last week:
- mostly away
- foci stuff
This week:
- open issue about archiving snowflake prometheus metrics
- lox-wasm tor browser builds
- catch up on gitlab todos
Needs help with:

dcf: 2023-05-25
Last week:
- did more analysis of blocking of the snowflake broker front domain in China Blocking of Snowflake in China, 2023-05-12 to 2023-05-15 (#40038) · Issues · The Tor Project / Anti-censorship / censorship-analysis · GitLab
- upgraded snowflake-01 bridge to tor 0.4.7.13 Upgrade tor on snowflake-01 to 0.4.7 (#40270) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- opened a merge request to use IP_BIND_ADDRESS_NO_PORT in snowflake-server's localhost connections, necessary tor upgrade 0.4.7.13+ Use IP_BIND_ADDRESS_NO_PORT when dialing the ORPort on Linux (!148) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- migrated goptlib, meek, flashproxy, bundle, fog projects from gitolite to gitlab Redirect goptlib, meek, flashproxy repositories to GitLab (#41182) · Issues · The Tor Project / TPA / TPA team · GitLab Redirect pluggable-transports/{bundle.git,fog.git} to GitLab (#41190) · Issues · The Tor Project / TPA / TPA team · GitLab
- commented on interpreting Tor Metrics data Drop in Iranian snowflake users (#123) · Issues · The Tor Project / Anti-censorship / Team · GitLab
- participated more in discussion on shelikhoo's proposal for a new snowflake client–proxy protocol based on unreliable data channels Analysis of speed deficiency of Snowflake in China, 2023 Q1 (#40251) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
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
- open issue to disable /debug endpoint on snowflake broker
Help with:

meskio: 2023-05-25
Last week:
- fix rdsys handling webtunnel bridges (rdsys!126)
- debug bridgedb webtunnel implementation (rdsys#142)
- fix build errors of obfs4 in Tor Browser (obfs4#40011)
- redesign the OnionSproutsBot deployment using plugins (onionsproutsbot#52)
- review bridge flikering metrics in rdsys (rdsys!122)
- review webtunnel IP for bridge line (webtunnel!9)
Next week:
- finish webtunnel rdsys support
- migrate missing repos from git.tpo to gitlab (team#86)

Shelikhoo: 2023-05-25
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
- Snowflake Performance Analysis (Ongoing, Analysis of speed deficiency of Snowflake in China, 2023 Q1 (#40251) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab)
- Trying to fix vantage point (Ongoing)
- Snowflake Performance Analysis
- read & comments on papers
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
- Trying to fix vantage point (Ongoing)

onyinyang: 2023-05-25
Last week:
- Added tests for Lox library and worked on doing the same for Lox distributor
- Refactored rdsys metrics changes to prevent risk of testing in deployment
- Add metrics for flickering bandwidth and ratios seen (!122) · Merge requests · The Tor Project / Anti-censorship / rdsys · GitLab
- 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
- Met with Ian & Vecna (MMath student) on possible future research directions
for Lox:
- Riseup Pad
- Sent a follow up email to provide more info about
tooling/infrastructure that _does_ exist to inform about blocked bridges
This week:
- Still Adding tests Lox distributor
- Finish up changes to rdsys:
- metrics:
Add metrics for flickering bandwidth and ratios seen (!122) · Merge requests · The Tor Project / Anti-censorship / rdsys · GitLab
- more aggressive `gone` labelling to follow that being merged
- 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
- First change the vectors in the bridge_table to maps.
(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 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-05-11
Last 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)
This week:
- Continue working on rdsys#56 (Sign in · GitLab)

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?