18:00:02 <gaba> #startmeeting Sponsor 30 - Empowering Communities in the Global South to Bypass Censorship 18:00:02 <MeetBot> Meeting started Tue Feb 11 18:00:02 2020 UTC. The chair is gaba. Information about MeetBot at http://wiki.debian.org/MeetBot. 18:00:02 <MeetBot> Useful Commands: #action #agreed #help #info #idea #link #topic. 18:00:10 <antonela> hi folks 18:00:12 <gaba> the pad for this meeting is here: https://pad.riseup.net/p/sponsor30-agenda-notes-Y1-keep 18:00:15 <gaba> hi :) 18:01:02 <phw> oh gosh, i forgot to update the pad with my status 18:01:13 <gaba> The first to do is to add statuses on the work done on this for last month. I see that people started doing that :) 18:02:10 <gaba> np. let's give a little more time for this 18:04:27 * gaba is reading the whole list from ooni.. 18:06:54 <slacktopus> <hellais> We shared a more verbose version of that in the tor-project mailing list some days ago: https://lists.torproject.org/pipermail/tor-project/2020-February/002701.html 18:07:35 <slacktopus> <hellais> You probably want to be using the text from our monthly report in the funder report 18:09:08 <gaba> yes, the funder report is in 3 months 18:09:22 <gaba> For this meeting let's check if there is any dependency or coordination that needs to be done 18:10:04 <phw> i'm ready to start. i'll add ticket numbers after the meeting if that's fine with you gaba 18:10:34 <gaba> yes, no problem. I can check on those 18:10:44 <gaba> OONI has some stuff they need feedback on 18:10:53 <gaba> related to UX that antonela will be working on for this month 18:11:04 <antonela> yes, i have your stuff in my to-do list for this month hellais 18:11:17 <antonela> i dont want to block ooni development 18:11:40 <slacktopus> <hellais> yeah we are not blocking on it 18:11:48 <antonela> cool, good to know :) 18:11:58 <slacktopus> <hellais> we already made a release candidate with the tentative Tor test UI I made 18:12:23 <antonela> for which platform? 18:12:35 <slacktopus> <hellais> macOS and windows 18:12:37 <antonela> sometimes we talk about desktop but i bet we will deploy it cross-platform 18:12:45 <slacktopus> <hellais> https://github.com/ooni/probe-desktop/releases/tag/v3.0.0-rc.4 18:12:46 <antonela> cross-device, sorry 18:12:50 <antonela> good 18:12:54 <slacktopus> <hellais> No, this is only Desktop 18:13:02 <antonela> why? 18:13:34 <slacktopus> <hellais> Because the mobile applications are a very different codebase and have different design constraints 18:13:34 <antonela> is probe mobile out of scope? 18:13:45 <slacktopus> <hellais> Yes mobile is out of scope 18:13:50 <antonela> oh 18:13:57 <antonela> okey 18:14:24 <slacktopus> <hellais> It will probably take us much more time to get to a point where we can ship the golang testing engine on mobile too 18:14:33 <antonela> i see 18:14:35 <slacktopus> <hellais> And that is a deliverable we have for another funder 18:14:50 <antonela> got it 18:14:52 <phw> i tested the windows build a few days ago. i have some minor feedback that i can turn into a ticket 18:15:33 <slacktopus> <hellais> phw: that would be great! We especially need some windows testing 18:16:02 <slacktopus> <hellais> (FYI this is the issue related to the golang support in the mobile app: https://github.com/ooni/probe/issues/997) 18:16:28 <gaba> great. I will check it out later today. 18:16:31 <antonela> good stuff 18:16:48 <gaba> do we have any other need/help for the stuff you all are working on? 18:17:00 <phw> yes 18:17:21 <phw> the big that we need coordination on is the bridgedb/ooni feedback loop that we discussed briefly in the past 18:17:39 <phw> there's #32740 on trac and i think there's also a ticket on ooni's bug tracker 18:18:02 <phw> we don't need to discuss this now but i wanted to get it on hellais's radar 18:18:36 <phw> we should soon brainstorm how exactly we want this feedback loop to work 18:19:09 <phw> the big thing* 18:19:17 <slacktopus> <hellais> You probably also want to link in that trac ticket the close github issue related to the tor test targets: https://github.com/ooni/orchestra/issues/82 18:19:45 <slacktopus> <hellais> You may also want to take note of the fact that it’s now possible for you to retrieve all tor test results with this query: https://api.ooni.io/api/v1/measurements?test_name=tor 18:20:17 <phw> oh, neat! thanks hellais, i will add that to the ticket 18:20:44 <phw> the specific issue that we don't seem to have a plan yet is how bridgedb should hand bridges to ooni 18:20:47 <slacktopus> <hellais> Example result from China: https://explorer.ooni.org/measurement/20200207T050741Z_AS56041_vF6LpJlK1box3R7IR3YWXDv4rFKXjfgmjSERc22nGpH5s58SZM & Iran: https://explorer.ooni.org/measurement/20200206T184551Z_AS197207_SjXBx35FSWpdi3W0GzpbdN9dBL8VxRwIKJeNUBUURdXP1iRJVx 18:20:55 <phw> i suppose it could then collect the results using the api you just linked 18:21:09 <gaba> can it test specific briges? 18:21:17 <slacktopus> <hellais> It may be easier for casual browsing to use Explorer: https://explorer.ooni.org/search?until=2020-02-12&test_name=tor 18:22:07 <phw> gaba: aiui, the idea is that bridgedb somehow uses ooni to get its bridges tested. it then collects the test results so it no longer distributes bridges that are blocked in, say, turkey to users in turkey. 18:22:09 <slacktopus> <hellais> gaba: it currently tests all the bridges shipped as part of tor browser + the default directory authorities. We can dynamically change the test targets server-side. 18:22:16 <slacktopus> <hellais> See: https://github.com/ooni/spec/blob/master/nettests/ts-023-tor.md 18:22:44 <slacktopus> <hellais> phw: my suggestion, would be to not use the API for batch ingestion of the data, but rather we discuss some option for that. I remember writing a comment about this in a trac ticket somewhere 18:23:02 <gaba> so is testing all the bridges and telling bridgedb which bridges not to give away anymore 18:23:02 <slacktopus> <hellais> It was some issue related to metrics tor data ingestion 18:23:45 <gaba> hellais: but for metrics there was no option to get specific data, right? 18:24:14 <slacktopus> <hellais> gaba: can you rephrase the question? 18:24:22 <phw> hellais: maybe #32126? 18:24:39 <gaba> just a sec. I'm looking for the tickets as we sjust discussed in metrics 18:24:40 <slacktopus> <hellais> Yes exactly, this one: https://trac.torproject.org/projects/tor/ticket/32126#comment:4 18:24:43 <gaba> oh yes 18:26:08 <slacktopus> <hellais> The API is not really designed for batch usage, for that use case it’s better to extract the raw cans directly or to setup a copy of our MetaDB 18:26:58 <phw> hellais: by "batch ingestion" do you mean getting the bridge test results from ooni to bridgedb? 18:27:11 <slacktopus> <hellais> I think it’s fine to use the API for experimentation and to try the data out, but ideally for the long term we would use some other method 18:27:43 <phw> i'm asking because in my understanding we need a way to 1) get bridges from bridgedb to ooni, and 2) get bridge test results from ooni back to bridgedb 18:27:47 <gaba> actually nevermind my question. the issue for metrics was mostly about having to sync the whole db or not. that will not be the case here. 18:28:09 <slacktopus> <hellais> by “batch ingestion” i mean setting up some system where you periodically pull in the latest data and sync your copy of “all the OONI measurements that interest you” or “all the OONI measurement metadata that interests you” 18:28:38 <slacktopus> <hellais> that would be 2. 18:28:39 <gaba> about 1) what i understand hellais is saying is that they test all the default bridges but do not get specific bridges to test. 18:29:17 <phw> hellais: right, thanks for clarifying 18:29:39 <phw> gaba: yes, agreed 18:30:02 <slacktopus> <hellais> For 1, we have a target list which we can update whenever is needed and we can include in this target list even private bridges if needed: https://github.com/ooni/sysadmin/blob/master/ansible/roles/probe-services/templates/tor_targets.json 18:30:36 <phw> the tricky question for 1) is: how we can do this without making it easier for censors to discover bridges? after all, censors may run ooni probes 18:30:46 <slacktopus> <hellais> The request to the OONI Probe Services backend is authenticated (an OONI Probe needs to be registered in order to retrieve the target) 18:31:12 <slacktopus> <hellais> But yeah, they can obviously run many OONI Probes and maybe enumerate them 18:31:34 <phw> when you say "even private bridges" it means that they wouldn't show up in a public git repo? :) 18:31:50 <slacktopus> <hellais> I suppose this is more of a research question for Tor folks to tell us how they would like to partition the test targets we give out 18:32:00 <slacktopus> <hellais> > wouldn’t show up in a public git repo Yes that is correct 18:32:16 <phw> ok, great. and yes, we need to do a bit more thinking here 18:32:30 <slacktopus> <hellais> We have a system in ooni/sysadmin for managing secrets which are only accessible by people who have access to the OONI infrastructure vault 18:33:06 <slacktopus> <hellais> If necessary we could also retrieve the list at runtime from the OONI Probe Services if that works better for you 18:33:31 <phw> this has been very helpful to narrow down the problem scope 18:33:36 <slacktopus> <hellais> Currently the code for giving out bridges is pretty basic: https://github.com/ooni/orchestra/blob/master/orchestrate/orchestrate/handler/test_lists.go#L209 18:34:11 <phw> gotcha, thanks 18:34:27 <slacktopus> <hellais> We have however taken into account, in the design of the test target endpoint, the fact that we may be giving out private bridges and is the reason why we don’t, for example, use the direct bridge fingerprint as the key, but rather the hash 18:34:28 <gaba> ok, so what is next step? phw: you work on a specific proposal for htis? 18:34:49 <gaba> we discuss it again next meeting or via ticket/mail? 18:34:51 <slacktopus> <hellais> It is also possible to have the IP addresses of the bridge test targets be redacted from the results 18:36:10 <phw> gaba: i'll summarise what we just discussed in #32740 and coordinate with hellais once we have a better idea of how to build this 18:36:24 <gaba> ok, thanks 18:39:00 <gaba> added two lines to the pad about this 18:39:02 <gaba> anything else? 18:39:05 <slacktopus> <hellais> I should also flag that we are going to start ramping down our effort in the DRL anticensorship grant starting from this month as we have started a new grant 18:39:25 <slacktopus> <hellais> We are aiming for wrapping up all the OONI related work by Q3 18:39:59 <gaba> hellais: thanks for letting us know. That makes sense. I had ooni finishig the work on this sponsor by July 18:40:33 <gaba> by September actually. 18:40:42 <slacktopus> <hellais> That is to say, that if there are things you need from OONI which may be within scope of the DRL anticensorship grant, there is no better time to ask than now :) 18:41:38 <gaba> ok 18:41:42 <phw> hellais: works for me. the feedback loop is something that we're starting now 18:42:12 <slacktopus> <hellais> yup 18:43:50 <gaba> anything else? 18:44:06 <phw> not from the anti-censorship team's side 18:44:10 <antonela> is groot 18:45:24 <gaba> ok, let's end the meeting then 18:45:30 <gaba> have a very good month! 18:45:34 <gaba> #endmeeting