
Hey everyone! Here are our meeting logs: http://meetbot.debian.net/tor-meeting/2025/tor-meeting.2025-08-14-16.00.html And our meeting pad: Anti-censorship work meeting pad -------------------------------- Anti-censorship -------------------------------- Next meeting: Thursday, Aug 21 16:00 UTC Facilitator: shelikhoo ^^^(See Facilitator Queue at tail) 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 projects, we are working on: * All needs review tickets: * https://gitlab.torproject.org/groups/tpo/anti-censorship/-/merge_requests?sc... * Project 158 <-- meskio working on it * https://gitlab.torproject.org/groups/tpo/anti-censorship/-/issues/?label_nam... == Announcements == == Discussion == * SQS snowflake rendezvous price check? * cost for July 2025 is 22.63 USD https://gitlab.torproject.org/tpo/anti-censorship/team/-/wikis/Snowflake-cos... * there is discussion about moving SQS to tpo's aws credits https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/43842#no... * next steps: * see if tor will pay for sqs * if not, try to find other outside funding * otherwise, shut it down for not being sufficiently cost-efficient, and maybe look into how to make it more sustainable * is sqs rendezvous particularly important to any regions? * maybe china, per https://bridges.torproject.org/moat/circumvention/map and https://snowflake-broker.torproject.net/metrics * client-sqs-ips CN=61904,PL=31576,??=8728,RU=3000,US=2312,CA=744,GB=544,TH=248,IN=216,ID=208,JP=120,BG=80,NL=64,TW=64,IR=56,SA=56,DE=40,IE=40,BR=32,PK=32,UZ=24,ES=24,SG=16,SV=16,AU=16,IT=16,AZ=8,MO=8,VN=8,GQ=8,KR=8,IL=8,MA=8,TN=8,NZ=8,UA=8,HK=8 * Why was the snowflake broker restarted 2025-08-02? * https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowf... * OS uptime is since 2025-07-01, so it wasn't an OS restart. More likely a crash of the broker process and automatic restart by systemd. * There may be some trace in the snowflake-broker log. cohosh will look at it. * shelikhoo reports it was the OOM killer: * Aug 02 12:03:34 snowflake-broker-40349 kernel: Out of memory: Killed process 629 (broker) total-vm:7873300kB, anon-rss:5600452kB, file-rss:0kB, shmem-rss:0kB, UID:1003 pgtables:11224kB oom_score_adj:200 * cohosh will make an issue * https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowf... == Actions == == Interesting links == * https://opencollective.com/censorship-circumvention/projects/snowflake-daily... * IRBlock: A Large-Scale Measurement Study of the Great Firewall of Iran * https://www.usenix.org/conference/usenixsecurity25/presentation/tai == Reading group == * We will discuss "Encrypted Client Hello (ECH) in Censorship Circumvention" on August 14 * https://www.petsymposium.org/foci/2025/foci-2025-0016.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? * We will discuss "IRBlock: A Large-Scale Measurement Study of the Great Firewall of Iran" on September 11 * https://www.petsymposium.org/foci/2025/foci-2025-0016.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 == 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): 2025-08-14 Last week: - looked into drop in snowflake proxy counts (snowflake#40472) - found a concurrency bug in ptutil/safeprom (ptutil#1) - fixups to pull client IP from SDP for AMP cache rendezvous (snowflake#40474) Next week: - deploy updates to Snowflake broker - continue looking into drop in proxy metrics - follow up on snowflake rendezvous failures - take a look at potential snowflake orbot bug - https://github.com/guardianproject/orbot-android/issues/1183 dcf: 2025-08-14 Last week (since 2025-07-24): - commented on a merge request to pull client IP address from SDP https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowf... - made a sample webextension to test chrome.idle callbacks https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowf... - helped investigate and respond to the snowflake-02 bridge outage https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowf... - hacked on sqlite-ification of snowflake-graphs Next week: - open issue to have snowflake-client log whenever KCPInErrors is nonzero https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowf... - parent: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowf... Help with: meskio: 2024-08-14 Last week: - mapping ideas for snowflake proxy integration in 3rd party apps - create a rdsys distributors dashboard (rdsys#228) - deal with alerts and work with TPA to improve them Next week: - Shelikhoo: 2024-08-14 Last Week: - [Testing] Unreliable+unordered WebRTC data channel transport for Snowflake rev2 (cont.)( https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowf... ) testing environment setup/research - [Merge Request] Create new webtunnel release(STALLED BY ISSUE BELOW)(https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtu...) - Unexpected Gitlab Runner Failure from Rate Limiting (https://gitlab.torproject.org/tpo/tpa/team/-/issues/42245) - [Merge Request Done] Add Domain Fronting Test Support to probeobserver ( https://gitlab.torproject.org/tpo/anti-censorship/connectivity-measurement/p... ) - [Merge Request Awaiting] Remove s390x from container building targets (https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowf...) - Merge request reviews - [Review] Draft: Feature / SNI spoofing functionality for WebTunnel PT (https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyreb...) Next (working) Week/TODO: - Merge request reviews - Support the Testing of domain fronting sites ( https://gitlab.torproject.org/tpo/anti-censorship/connectivity-measurement/l... ) (cont.) - Create webtunnel release v0.0.3(stalled) - support and dynamic bridge support - [Merge Request]Draft: Feature / SNI spoofing functionality for WebTunnel PT onyinyang: 2025-08-14 Last week(s): - Vacation - Continuing debugging for: https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/issues/249 Next week: - Next is looking into this mystery: https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/issues/262#note_32... Switch back to some of these: As time allows: Blog post for conjure: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/conju... - review Tor browser Lox integration https://gitlab.torproject.org/tpo/applications/tor-browser/-/merge_requests/... - add TTL cache to lox MR for duplicate responses: https://gitlab.torproject.org/tpo/anti-censorship/lox/-/merge_requests/305 - Work on outstanding milestone issues: - key rotation automation Later: pending decision on abandoning lox wasm in favour of some kind of FFI? https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/43096): - add pref to handle timing for pubkey checks in Tor browser - add trusted invitation logic to tor browser integration: https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42974 - improve metrics collection/think about how to show Lox is working/valuable - sketch out Lox blog post/usage notes for forum (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? theodorsm: 2025-06-12 Last weeks: - Applying for funding from NLnet to implement DTLS 1.3 in Pion. Got through the first round. - Writing paper for FOCI: continuation of master thesis about reducing distinguishability of DTLS in Snowflake by implementing covert-dtls, further analysis of collected browser fingerprint and stability test of covert-dtls in snowflake proxies. Draft: https://theodorsm.net/FOCI25 - Key takeaways: * covert-dtls is stable when mimicking DTLS 1.2 handshakes, while the randomization approach— though more resistant to fingerprinting — tends to be less stable. * Chrome webextensions are more unstable than standalone proxies * covert-dtls should be integrated in Snowflake proxies as they produce the ClientHello messages during the DTLS handshake. * Chrome randomizes the order of extension list. * Firefox uses DTLS 1.3 by default in WebRTC. * A prompt adoption of DTLS 1.3 in both Snowflake and our fingerprint-resistant library is needed to keep up with browsers * The evolution of browsers’ fingerprints had no noticeable effect on Snowflake’s number of daily users over the last year. * Even with a sharp drop in the amount of proxies, it does not seem to affect the number of Snowflake users. * Browser extensions make Snowflake resistant to ClientHello fingerprinting. * Standalone proxies can serve more Snowflake clients per volunteer than webextensions. * We need metrics on which types of proxies are actually being matched and successfully used by clients. Next weeks: - Getting paper camera ready. - Fix merge conflicts in MR (https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowf...). Help with: - Should we do user testing of covert-dtls? Facilitator Queue: meskio onyinyang shelikhoo 1. First available staff in the Facilitator Queue will be the facilitator for the meeting 2. After facilitating the meeting, the facilitator will be moved to the tail of the queue -- --- onyinyang GPG Fingerprint 3CC3 F8CC E9D0 A92F A108 38EF 156A 6435 430C 2036