On 2 Nov 2019, at 23:52, Matt Bruce mattb@sent.com wrote:
I'm running ooniprobe on a Raspberry Pi with Pi-Hole and CloudFlare as the upstream DNS, and it seems to be working fine with the exception that it appears to be detecting the wrong country. It's showing "Country: BE". I initially thought it was showing the wrong ASN, too, but lookups using multiple tools confirm it's the correct one.
I assume "BE" means Belgium, but those 2 letters are also the first two of the county in which I live in the UK. Is it possible that ooniprobe is pulling in the state/province/county data as Country rather than the actual country by mistake? (Just guessing).
It's uploading the measurements with this same BE Country information, and I'm concerned that it's polluting OONI data.
I've read the documentation, searched online, etc, but I can't find how to stop the bad detection or to override those values in the ooniprobe.conf file. Assuming I shouldn't just ignore this, can anyone steer me in the right direction, please?
This is a very good point and unfortunately we currently don’t have a good answer to how to correct bad GeoIP location.
The OONI Probe version which you are using (should be the python 2.x series) is using at this point pretty old max mind GeoIP database which have been deprecated.
We are now working on a new version of OONI Probe for desktop and the command line (OONI Probe 3.x) which will have updated GeoIP databases, but we don’t yet make arm/raspberry pi builds (see: https://github.com/ooni/probe/issues/807).
My suggestion to you would be, if your threat model allows us, include your IP address in the report. This will allow us, once we add support for doing this in the pipeline, to look back at your measurements and properly annotate them with the correct country code.
You do raise however a very good point which is:
How does a user report in the measurement itself wrong GeoIP information even in the case in which the GeoIP database is up to date, but just wrong?
We are thinking of something automated which is somewhat connected to this and is about coming up with a way of “fudging” GPS information so that we can include some higher resolution, yet still say, location information in measurements. For this see this issue: https://github.com/ooni/spec/issues/108
I do see however what you propose being an easier thing to solve and maybe that can be done by standardising a specific annotation field which allows the user to provide the country code (maybe `{“annotations”: {“user_probe_cc”: “GB”`}?).
So the bottom line is:
* If your threat model allows us please enable the `include_ip` privacy setting so we can fix these measurement in the future * If not, then maybe set a custom annotation in the measurement called `user_probe_cc` so that we can look into parsing that in the future or at least it’s inside of the measurement. You can do that using the `-a` option of the ooniprobe 2.x client.
I also wonder if other people on this list have had similar issues and if they have maybe dealt it with some other strategy.
~ Arturo