- BeaconDB es un servicio de ubicación en línea que busca reemplazar a Mozilla Location Services, construyendo cobertura a partir de datos de Wi-Fi y torres celulares enviados directamente por los usuarios
- La recolección de datos es opt-in, y los datos enviados se agregan y se ponen a disposición de los clientes de la API de beaconDB; más adelante se planea publicar volcados de datos ofuscados
- Como sigue siendo un servicio experimental, la cobertura Wi-Fi puede ser limitada según la región; si falla, recurre como respaldo a ubicaciones de torres celulares basadas en el último volcado de datos de MLS o a estimaciones por IP
- En Android, se pueden enviar datos con NeoStumbler, Tower Collector y Network Survey, y se puede usar como servicio de ubicación mediante la configuración de microG, geoclue y Firefox
- Los desarrolladores pueden usar un endpoint compatible con la API de MLS/Ichnaea en
https://api.beacondb.net/v1/geolocate, y es necesario configurar un User-Agent para identificar al cliente
Principios de recopilación de datos de ubicación
- BeaconDB opera su base de datos de ubicación con un esquema de recopilación opt-in
- Los datos públicos están ofuscados para proteger a quienes transmiten y contribuyen datos
- Para actualizar datos existentes, se necesita información que solo puede obtenerse dentro del alcance físico del beacon, lo que aumenta la resistencia al abuso
- Los datos enviados se agregan y luego quedan disponibles para los clientes de la API de beaconDB
- En el futuro, se publicará un volcado de datos ofuscados con una licencia de dominio público
- El tratamiento de los datos enviados puede consultarse en el privacy notice
Apps para contribuir cobertura
-
NeoStumbler
- NeoStumbler es una app de Android para enviar nueva cobertura fácilmente
- Se puede descargar desde Accrescent, F-Droid, Google Play y GitHub
- Desde la v1.5.1, si se pulsa “yes” en el prompt, el endpoint se configura como beaconDB
- En versiones anteriores, al elegir beaconDB en Settings → Endpoint → Suggested services se aplica automáticamente la configuración correcta
-
Tower Collector
- Tower Collector es una app usada desde hace tiempo para recopilar datos de torres celulares
- Puede descargarse desde F-Droid o Google Play
- Las versiones recientes suben datos a beaconDB de forma predeterminada
-
Network Survey
- Network Survey es una herramienta para la recopilación integral de datos locales
- Se puede obtener desde F-Droid o Google Play
- La opción para enviar datos a beaconDB se activa en Upload Settings, debajo de Upload to Database en la pantalla principal
Limitaciones actuales y comportamiento de respaldo
- BeaconDB sigue siendo experimental, por lo que la estimación de ubicación puede ser imprecisa o el servicio puede ser inestable
- Como es una base de datos construida desde cero, es muy posible que no haya cobertura Wi-Fi en tu zona de uso
- Si no puede estimar la ubicación por Wi-Fi, recurre a una ubicación aproximada de torres celulares basada en el último volcado de datos de MLS
- Como último recurso, usa estimación basada en IP
- Los datos enviados tardan al menos 5 minutos en quedar disponibles en la API de beaconDB
- Todavía no se ofrecen volcados de datos, ya que se está trabajando en la ofuscación para proteger la privacidad de quienes contribuyen y de los dueños de los AP
Cómo configurar clientes
-
microG
- Si tu ROM de Android es compatible con microG, puedes configurar beaconDB como servicio de ubicación en línea con el nuevo motor de ubicación de microG
- Este motor de ubicación es estable desde la v0.3.6
- Selecciona beaconDB en microG Settings → Location → More options → Select online location service
- Debes activar ‘Request from online service’ tanto en ‘Wi-Fi location’ como en ‘Mobile network location’
-
geoclue
[wifi]
enable=true
url=https://api.beacondb.net/v1/geolocate
submit-data=true
submission-url=https://api.beacondb.net/v2/geosubmit
submission-nick=geoclue
-
Firefox
- Firefox puede configurarse para consultar beaconDB directamente o para obtener la ubicación mediante geoclue en Linux
- Para usarlo directamente, en
about:config configura geo.provider.network.url como https://api.beacondb.net/v1/geolocate
- Para usar geoclue, activa
geo.provider.use_geoclue
API y recursos para desarrolladores
1 comentarios
Opiniones en Hacker News
Aunque dicen que los datos recopilados de forma ética son por opt-in, me da curiosidad cómo funciona en la práctica.
Si mi vecino escanea mi red WiFi y la sube a BeaconDB, no creo que yo haya dado mi consentimiento. En la política de privacidad dice que basta con agregar
_optoutal nombre del WiFi, así que parece más opt-out que opt-in.Una red WiFi transmite su existencia en todas direcciones 10 veces por segundo. Como cualquiera cerca puede captarla, es bien sabido que no se debe poner información sensible en el SSID de la red. Así que, en este caso, es más bien que existe la posibilidad de hacer opt-out.
Cualquier volcado de datos solo incluirá datos con hashes criptográficos irreversibles o datos agregados.
Cuando hace tiempo busqué algo parecido para GrapheneOS, no era posible ofrecer un servicio de ubicación personalizado.
Sería genial poder usar esto en GrapheneOS. Si alguien conoce una forma de hacerlo sin microG, me encantaría saberlo. Yo uso GMS en sandbox.
No parece haber una app móvil open source que permita al autor recopilar datos directamente desde el dispositivo. Especialmente si el opt-in es desde el punto de vista del dispositivo que recopila, me pregunto de dónde salieron los datos.
¿El problema central de MLS no fue el acoso por patentes/demandas de Skyhook? Me pregunto si alguien sabe qué patentes estaban involucradas y cómo beaconDB evita ese problema.
Al leer el issue sobre el cierre de MLS[1], parece que varias organizaciones existentes, como /e/ foundation y Graphene, también tienen interés en ofrecer servicios alternativos. Me pregunto si ahora hay varios proveedores open source de servicios de ubicación compitiendo, o si este es el único proyecto actualmente accesible al público.
El proyecto en sí es genial, pero en GitHub[2] parece un proyecto de una sola persona con poca participación. Me pregunto si se está conversando con otras personas con objetivos similares para ampliar el proyecto y colaborar. Con el apoyo de comunidades de desarrolladores existentes, podría subir al siguiente nivel.
https://github.com/mozilla/ichnaea/issues/2065
https://github.com/beacondb/beacondb
Edición: parece que el proyecto real está en Codeberg[3], y allí hay algo más de participación además del desarrollador principal que en GitHub.
El proyecto originalmente estaba en GitHub, pero ahora se trasladó a Codeberg.
Me pregunto si hay alguna razón por la que la API no devuelva la ubicación de los puntos de acceso para que el cliente calcule su propia ubicación.
Todavía no he encontrado un cliente implementado para aprovechar esos datos. Si viste uno o estás desarrollando algo así, sería bueno saberlo.
Ojalá GrapheneOS soporte esto pronto. Actualmente, los proveedores de GPS no Google prácticamente no tienen posibilidades si no estás al aire libre.
Es un proyecto realmente genial. Siempre da gusto ver que personas orientadas a resolver problemas llenen el vacío que dejó MLS. Aparte de eso, el diseño también es excelente.
Me pregunto dónde se puede descargar todavía el último volcado de datos de MLS. No pude encontrarlo en línea.
Estoy trabajando en un proyecto para encontrar torres celulares conectadas a partir de mcc, mnc, cid, etc. Actualmente solo obtengo datos de opencellid y combain, y sería muy bueno sumar estos datos.
Sería bueno que colaborara con geoclue2. Con el cierre de MLS, geoclue2 ahora desactivó la estimación de ubicación basada en WiFi.
https://gitlab.freedesktop.org/geoclue/geoclue