Here are our meeting logs:
And our meeting pad:
Anti-censorship work meeting pad
THIS IS A PUBLIC PAD
Next meeting: Thursday, Oct 26 16:00 UTC
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 ==
\* A poll to set a date for a 'Future of PTs' voice conversation \* https://www.systemli.org/poll/#/poll/YRRF8K19Bq/evaluation?encryptionKey=e1f9KPaHH6z7I6uYGNQVlegHvMGB3aHJaEufGQl7 \* Times in UTC
== Discussion ==
* Armored Bridge line Spec(Oct-19: let's discuss again)
* the spec is ready to review
* we'll discuss it next week
* examples of bridgelines and their encoding will be handy
* currently is not possible with goptlib to publish non-ascii bridgelines, we seem to be safe to assume ASCII bridgelines
* SmethodArgs calls encodeSmethodArgs, which does not do anything to escape non-ASCII bytes, then the line function calls argIsSafe to check the encoded line for non-ASCII before allowing it to be printed
* we'll use brdg.es as domain name for urls
\* snowflake broker restart\(deployment\) needed, and deletion of ip\-count\-mask key
* shelikhoo will tag a snowflake version and deploy it
* v2.7.0 has been deployed Snowflake Broker Deployment 23-10-16 (#40296) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
* still need destruction of ip masking key Restart broker without proxy churn measurements (#40295) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
== Actions ==
== Interesting links ==
\* "On Precisely Detecting Censorship Circumvention in Real\-World Networks" \* https://www.robgjansen.com/publications/precisedetect-ndss2024.html \* develops new classifiers for Snowflake rendezvous and data transfer, among other things \* "Covertness Analysis of Snowflake Proxy Request" \* https://ieeexplore.ieee.org/document/10152736 \* https://github.com/Xanole/SnowDT \* "TorKameleon: Improving Tor's Censorship Resistance With K\-anonymization and Media\-based Covert Channels" \* https://arxiv.org/abs/2303.17544 \* https://github.com/AfonsoVilalonga/TorKameleon \* https://restoreprivacy.com/torkameleon-strengthening-tor-against-deanonymization-attacks/ \* uses WebRTC Encoded Transforms for efficient encoding of data into WebRTC media streams \(rather than data channels\), which we have discussed before for Snowflake: \* https://lists.torproject.org/pipermail/anti-censorship-team/2023-February/000284.html \* https://github.com/AfonsoVilalonga/TorKameleon/blob/c6ef7116043dfd74701ddb62f38606e748faf84b/PT/WebRTC/Client/public/js/main.js#L225 \* const transformStream = new TransformStream \* https://github.com/AfonsoVilalonga/TorKameleon/blob/c6ef7116043dfd74701ddb62f38606e748faf84b/PT/WebRTC/Client/public/js/modulators/addFrame.js#L8 \* if \(encodedFrame instanceof RTCEncodedVideoFrame && enconding\.length > 0\)
== Reading group ==
\* We will discuss "On Precisely Detecting Censorship Circumvention in Real\-World Networks" on November 9 \* https://www.robgjansen.com/publications/precisedetect-ndss2024.html \* 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 ==
- What you worked on this week.
- What you are planning to work on next week.
- Something you need help with.
cecylia (cohosh): 2023-10-19
- reviewed lox!51
- commented on snowflake!187
- commented on conjure#28
- attended meeting on PT-tor integration
- deploy lox distributor
- follow up on conjure reliability issues
- visualize and write up some snowflake shadow simulation results
Needs help with:
- commented on tor incorrectly reporting PT metrics since 0.4.8.4 Tor incorrectly stores stats on incoming PT connections (#40871) · Issues · The Tor Project / Core / Tor · GitLab
- closed an obsolete uTLS-in-Snowflake issue Upgrade utls dependency to v1.1.3 or later (#40217) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab
- commented on reported "Unexpectedly high use successes counts" with snowflake-02 "Unexpectedly high use successes counts", maybe one of reasons why users prefer to snowflake-01? (#42161) · Issues · The Tor Project / Applications / Tor Browser · GitLab
- read some new snowflake-related papers (see Interesting Links)
- 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
- look at win7 lyrebrid crash in Tor Browser (tor-browser#42179)
- debug renovate bot issues in rdsys and snowflake (snowflake!199)
- deploy the latest onionsproutsbot and update translations (onionsproutsbot#53)
- review lox rdsys integration (lox-rs!24)
- write Sponsor 96 report
- fail to get a phone number to register the whatsapp bot
- test the whatsapp bot (rdsys#147)
- [Merge Request] Add SOCKS5 forward proxy support to snowflake (snowflake!64) (continue): proceed to rebase (Add SOCKS5 forward proxy support(Redoed) (!200) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab)
- [Merge Request Done] Refine argument error processing in WebTunnel server(Refine argument error processing in WebTunnel server (!19) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / WebTunnel · GitLab)
- [Merge Request Done] Release Snowflake 2.7.0(Update version to 2.7.0 (!198) · Merge requests · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab)
- [Deployment] Snowflake Broker Deployment 23-10-16 (Snowflake Broker Deployment 23-10-16 (#40296) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab)
- [Merge Request Reviews] lots of...
- Write Tor Spec for Armored URL (continue)
- Begin to work on snowflake performance improvement
- Merge request reviews
- Continued with metrics
- Added functionality for a MAX_DAILY_BRIDGES (the number of bridges that can be distributed each day)
- Found some bugs in static-resources MR and updated it after review
- Hopefully finish up metrics work
- Start work on telegram distributor bot for Lox
- Add functionality to handle blocked bridges in a single location for MVP
\(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