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