15:59:29 #startmeeting tor anti-censorship meeting 15:59:29 Meeting started Thu Mar 17 15:59:29 2022 UTC. The chair is meskio. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:59:29 Useful Commands: #action #agreed #help #info #idea #link #topic. 15:59:33 hello!! 15:59:36 Hi~ 15:59:40 here is our meeting pad: https://pad.riseup.net/p/tor-anti-censorship-keep 15:59:48 feel free to add what you've been working on and put items on the agenda 16:00:06 hello 16:00:13 hi! 16:00:15 Welcome itchyonion! 16:00:19 Welcome to the team! 16:00:26 thanks! 16:00:39 yeah!!! wellcome 16:00:47 \o/ 16:00:52 for everybody itchyonion is a new member of the Anti Cenrsorship team, starting today :) 16:00:54 ql`v`lp 16:02:10 we have a pretty empty agenda today, anything to talk about? 16:02:59 What's a good place for me to start? 16:03:28 Welcome itchyonion! 16:03:41 thanks! 16:03:45 itchyonion: I guess you can start with the team wiki: https://gitlab.torproject.org/tpo/anti-censorship/team/ 16:04:14 and having a look to snowflake: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake 16:05:34 on monday we'll have a proper meeting to talk about it, just start slowly and read the documentation 16:05:50 ok :) 16:06:02 I wee we have one point in the agenda: "dnstt bridges" 16:06:30 who added it? 16:07:08 I have some news to share, together with Guardian Project we are working on iplementation of dnstt for iOS and Android. 16:07:22 ohh, nice 16:07:41 * anadahz searches for a git commit 16:08:13 https://github.com/tladesignz/IPtProxy/commit/e2ce9d113c412f9baa436f641a61d6af465a3043 16:08:37 anadahz: cool! 16:09:01 for context for others, dnstt is a plugable transport that uses dns traffic: https://www.bamsoftware.com/software/dnstt/ 16:09:15 threeletteracronym[m]: Mentioned that it is relatively easy to add it also on Orbot as a failover to obfs4 and snowflake. 16:10:29 The big question now is how can we support dnstt and include it in tpo's infrastructure (metrics, moat, ...)? 16:10:48 What could be the best strategy to do this? 16:11:20 wow, interesting 16:11:59 mmm, I'm not sure I have in my head all the needed steps 16:12:14 anadahz: these don't need to be done all at once for what it's worth 16:12:56 metrics will automatically collect info for new transports, as long as you publish your descriptor to BridgeDB 16:13:47 cohosh: is there a doc with details on how to do this? 16:14:21 bridgedb and rdsys will require being configured to support those kind of bridges, but might not even need changes in the code (or trivial ones) 16:15:22 ok so perhaps opening an issue first? 16:15:32 yes, I think that should be the first step 16:15:54 anadahz: yeah opening an issue is the best call, there's no central documentation for all you want to do 16:17:02 I guess also some work will be needed for dnstt to be supported in Tor Browser? 16:17:15 how slow is dnstt in practice? I guess we'll prefer always using obfs4 or snowflake as dnstt might be fairly slow, isn't it? 16:17:52 I think that shouldn't be difficult to support DNSTT in Tor Browser, considering in most case it is just a bridge line 16:18:10 meskio: https://www.bamsoftware.com/software/dnstt/performance.html 16:18:24 yes you can use it in tor browser now just by pasting the bridge line into it 16:18:36 oh wait sorry 16:18:40 NONONO 16:18:47 tor browser needs to ship the client side binary 16:18:48 I think it is not now 16:18:55 but, it would be possible 16:19:08 you can hack it to use a different path but it requires manually editing tor browser's torrc files 16:19:17 yes, I think the hard part in TB is to figure out how everything fits together and how to communicate things 16:20:20 Sounds like a good start will be to open a ticket for TB as well. 16:20:48 anadahz: who would run dnstt bridges? it would be something like the default built-in obfs4 bridges or the open relay operator community? 16:21:36 ggus: That's a good question and I would hope that dnstt bridges should be deployed by the community similarly to obfs4. 16:21:43 I think we could make it possible for community to run it..... 16:22:10 I can setup a short how-to if relay operators would like to host any bridges with dnstt. 16:22:48 so include in the estimation: writing dnstt guides for all platforms (*bsd, linux..) and writing tor browser user documentation too. 16:23:08 ggus: yep! 16:23:31 anadahz: the big thing for tor browser support is getting reproducible builds 16:23:52 if you're doing time estimation, this can be a lengthy process 16:24:27 Do you know any way we could use to simulate or measure performance impact of multiple dnstt bridge clients using a relay? 16:24:55 hmm, the easiest way is to just deploy something 16:25:35 what we did for snowflake was set up a bridge, get some cli users, then get tor browser alpha users, then finally tor browser stable after a looong ramp up process 16:25:38 cohosh: Was this an issue for obfs4 and snowflake to get faster reproducible builds? 16:25:59 faster reproducible builds? 16:26:17 ah, for snowflake it took some time because of the number of libraries involved 16:26:37 i am not sure about obfs4 since that was set up for reproducible builds before my time 16:27:02 also for snowflake we had issues with building some of the libraries and had to switch which ones we used 16:27:29 i suspiect dnstt won't have that particular issue 16:27:41 That's really useful to know the process with snowflake. 16:27:53 I think this process will be easier for pure go program 16:28:04 In which repo do you track the reproducible build code? 16:28:05 since there would be a standardized process 16:28:21 this is not so for program that requires CGO 16:28:30 * cohosh nods 16:28:38 (I wish dcf1 was here today) 16:28:47 anadahz: https://gitlab.torproject.org/tpo/applications/tor-browser-build/ 16:28:56 looking at the code it doesn't seem to have many dependencies, and kind of common ones like kcp or utls, but we'll see 16:29:07 yeah, in that case it could be really quick 16:29:21 cohosh: thx 16:30:05 amazing, thanks for the work there, is great to have more pluggable transports 16:30:14 hi folks 16:30:23 Hi~ keroserene 16:30:28 hello 16:30:30 ggus: Do you think it makes sense to announce this in the forum and ask for volunteer dnstt bridges and testers? 16:32:15 I think will be nice to do that once we have rdsys/bridgedb handling those kind of bridges and some documentation on how to setup and use them 16:32:31 anadahz: do you mean now? or when users can test it? 16:32:59 We can have a default test bridge and get some test client users first. 16:33:20 because right now you can install other PTs in your bridge, but that doesn't mean clients will use it since BridgeBD only shares obfs4 and vanilla bridges 16:33:25 I have already some documentation for Debian and a test bridge that is available now. 16:34:48 The setup is pretty easy. 16:34:57 i like the default test bridge approach before pushing to the whole operator community 16:35:13 dcf and I had a long chat / catch-up a few days ago, on snowflake, alternate rendezvous, dnstt & everything 16:36:09 ggus: sounds like a good plan 16:36:12 anadahz: let's go step by step, open the issue in anti-censorship/team and lets start discussing the steps on our side there and after we can look on how to communicate it 16:36:26 Anyhow here it is: https://pad.riseup.net/p/WraKJFLJ54lxKLeSeYKF 16:36:42 nice 16:36:54 anadahz: we have a tor relay operator meetup on April 2, it would be nice to introduce the dnstt topic there, explain the current usage limitations (bridgeBD and Tor Browser) 16:37:00 meskio: great 16:37:54 keroserene: pretty cool, any interesting conclusions on it? 16:37:56 ggus: will try to join 16:39:41 meskio: dnstt and amp-cache may be important soon, and there's a bunch of stuff we need to do soon to keep up w/ demand in ru and everything 16:40:13 fastly / domain fronting maybe doesn't have much longevity.. 16:40:41 i'm also in the process of possibly bringing in a whole bunch more resources for this thing 16:40:50 It is worth noting that AMP cache don't work in China, as google and its AMP cache is blocked in China 16:41:16 shelikhoo yes :/ 16:42:09 thanks for the summary 16:42:24 anything else to discuss? should we move to the reading group? 16:44:04 we have for this week: Throttling Twitter: an emerging censorship technique in Russia 16:44:09 https://dl.acm.org/doi/pdf/10.1145/3487552.3487858 16:45:05 the paper analizes how russia was doing censorship on twitter by throttling the connections to it in 2021 16:45:56 is a new way of doing censorship, by making it slow to connect, so users give up but there is no backlash of people complaining of services being blocked 16:46:06 also hard to prove that is happening 16:46:17 scary 16:46:21 This kind of censorship is triggered by Twitter's SNI 16:47:14 I read an interesting approach to detect throttling of Twitter in Russia. 16:47:16 yep, was interesting to see how they could circumvent it just by splitting the SNI field into two packets 16:47:26 Not sure if this is the same as in the paper: https://ooni.org/post/2022-russia-blocks-amid-ru-ua-conflict/#twitter-throttled 16:48:01 might be related, as OONI is also part of the authors of the paper 16:49:07 we discussed some weeks ago another paper about ching doing throttling of connections exiting the country 16:50:12 but the russian one is easier to avoid as they SNI parser is not perfect 16:51:10 also with ECH they will have a harder time to do this kind of things 16:51:35 it is possible to just block ECH and let browser downgrade 16:51:38 ECH == Encrypte Client Hello (the SNI is encrypted and the censor can not see the domain the user is visiting) 16:51:52 This have been done in China to ESNI 16:51:52 shelikhoo: yep, isn't china doing that currently? 16:52:04 I see 16:52:07 Yes 16:52:39 we'll we ever have an internet where ECH is mandatory and browsers don't downgrade? 16:53:01 it took decades to get to https being the default in the browsers and we are not there yet, so... 16:53:18 need to rebase our universe to do that... sadly 16:54:02 :( 16:54:27 some days I consider if geminy or any of those retro looking protocols are not the solution... 16:54:39 s/geminy/gemini/ 16:55:32 but AFAIK ESNI was working for tunnel bear to avoid being blocked in Iran 16:55:40 so there is still hope 16:56:09 https://www.tunnelbear.com/blog/tunnelbear-circumvents-iran-vpn-block/ 16:56:25 september 2020, not sure if still works 16:57:30 It is not difficult to get something works, but it is difficult to get it keep working when authority really hates it 16:58:01 yes, all this cat an mouse games 16:58:55 anything else on this paper? 16:59:24 will be interesting to see how much domestic pushback russia gov will face now that it blocks twitter, or if it matters at all 16:59:25 I'll give it an extra minute to see if someone has something else and close the meeting 16:59:27 Oh, and now I read this paper, I though about China's approach to make throttle network 17:00:11 itchyonion: are they totally blocking it now? I'm a bit lost with news latelly 17:00:34 i thought that's what I read, but not 100% sure 17:00:50 itchyonion: I think it's easier for Russia to block more things, now that the parts of the world are also blocking their services to Russia. 17:01:03 In China, most of the traffic to network traffic from residential network to foreign IP address are deprioritized and transferred with congested network 17:01:24 yep, is probably true, we'll see, but it looks like being at war they don't allow much pushback from people 17:01:32 in reality it means even if a website is not blocked, it would be really slow to Chinese users 17:02:37 shelikhoo: yes, but the solutions they found in the twitter paper will not work in china, as they basically throttle everything 17:02:39 And to increase the connectivity, the foreign ISP will need to buy expensive transit with Chinese ISP 17:03:18 which means most VPS commonly found have bad connectivity to china 17:03:51 i know russia has their own version of facebook (VK), but not sure about others popular platforms. While China already has their own version of everything 17:04:06 and one need to look for uncommon provider that have purchased transit from chinese ISP to increase its speed 17:04:35 and this cost will be transferred to the VPS operator 17:04:54 this is the reason why meek-azure is popular in China 17:05:17 it is because Azure's connectivity to China is better 17:05:43 than most of obfs4 bridges or snowflake proxy 17:06:06 as bridge operators often look for VPS will cheap traffic cost 17:06:33 but that means it is not paying Chinese ISP to increase its connectivity with Chinese user 17:07:11 we can either use special protocol to compensate for packet loss as a result of this, like the thing we are trying to do with snowflake 17:08:08 shelikhoo: i remember last year some folks from HK telling me that tor and vpn traffic was being throttled in some residential ISPs. https://gitlab.torproject.org/tpo/community/support/-/issues/40029 17:08:12 or find expensive VPS that have better connectivity to host other bridges like obfs4 17:09:48 Yes. I think it would be wise to try to setup a vantage point in Hong Kong as well to detect network connectivity issue. 17:10:30 yes, that will be nice 17:10:39 Hong Kong's network environment is different than China mainland's 17:11:39 if you look hk metrics graph there are some interesting dips and spikes - https://metrics.torproject.org/userstats-relay-country.html?start=2021-12-17&end=2022-03-17&country=hk&events=off 17:13:00 related to that, the paper we had in the reading group some months ago: Characterizing Transnational Internet Performance and the Great Bottleneck of China https://censorbib.nymity.ch/#Zhu2020a 17:13:27 anything else here? 17:14:29 I'll close the meeting then 17:14:33 #endmeeting