- BeaconDB est un service de localisation en ligne qui cherche à remplacer Mozilla Location Services, en construisant progressivement sa couverture à partir de données Wi‑Fi et d’antennes-relais soumises par les utilisateurs
- La collecte de données se fait en opt-in ; les données soumises sont agrégées puis mises à disposition des clients de l’API beaconDB, et la publication de dumps de données obfusquées est prévue à l’avenir
- Le service est encore expérimental : la couverture Wi‑Fi peut être insuffisante selon les régions et, en cas d’échec, il se rabat sur les emplacements approximatifs d’antennes-relais issus du dernier dump MLS, ou sur une estimation basée sur l’IP
- Sur Android, les données peuvent être soumises avec NeoStumbler, Tower Collector et Network Survey ; le service peut aussi être utilisé comme service de localisation via la configuration de microG, geoclue ou Firefox
- Les développeurs peuvent utiliser l’endpoint
https://api.beacondb.net/v1/geolocate, compatible avec l’API MLS/Ichnaea, et doivent définir un User-Agent pour identifier leur client
Principes de collecte des données de localisation
- BeaconDB exploite sa base de données de localisation sur la base d’une collecte en opt-in
- Les données publiques sont obfusquées afin de protéger les émetteurs et les contributeurs
- Pour mettre à jour des données existantes, il faut disposer d’informations qui ne peuvent être obtenues que dans la portée physique de la balise, ce qui renforce la résistance aux abus
- Les données soumises sont agrégées avant d’être rendues utilisables par les clients de l’API beaconDB
- Des dumps de données obfusquées doivent être publiés à l’avenir sous licence du domaine public
- La façon dont les données soumises sont traitées est décrite dans la privacy notice
Applications pour contribuer à la couverture
-
NeoStumbler
- NeoStumbler est une application Android qui permet de soumettre facilement une nouvelle couverture
- Elle est disponible sur Accrescent, F-Droid, Google Play et GitHub
- Depuis la v1.5.1, si l’on répond « yes » à l’invite, l’endpoint est configuré sur beaconDB
- Dans les versions antérieures, sélectionner beaconDB dans Settings → Endpoint → Suggested services applique automatiquement la bonne configuration
-
Tower Collector
- Tower Collector est une application utilisée depuis longtemps pour la collecte d’antennes-relais
- Elle peut être téléchargée depuis F-Droid ou Google Play
- La version la plus récente téléverse par défaut vers beaconDB
-
Network Survey
- Network Survey est un outil destiné à une collecte complète de données locales
- Il est disponible sur F-Droid ou Google Play
- Activez la soumission à beaconDB dans Upload Settings, sous Upload to Database, sur l’écran principal
Limites actuelles et comportement de repli
- BeaconDB est encore expérimental : l’estimation de position peut être imprécise ou le service instable
- Comme la base de données est reconstruite à partir de zéro, il est très possible que la zone où vous vous trouvez ne dispose pas de couverture Wi‑Fi
- Si la position ne peut pas être estimée par Wi‑Fi, le service se rabat sur des emplacements approximatifs d’antennes-relais basés sur le dernier dump de données MLS
- En dernier recours, il utilise une estimation basée sur l’IP
- Il faut au moins 5 minutes pour que les données soumises deviennent disponibles dans l’API beaconDB
- Les dumps de données ne sont pas encore fournis ; un travail d’obfuscation est en cours afin de protéger la vie privée des contributeurs et des propriétaires de points d’accès
Configuration des clients
-
microG
- Si la ROM Android prend en charge microG, beaconDB peut être configuré comme service de localisation en ligne via le nouveau moteur de localisation de microG
- Ce moteur de localisation est stable depuis la v0.3.6
- Sélectionnez beaconDB dans microG Settings → Location → More options → Select online location service
- Il faut activer « Request from online service » à la fois pour « Wi-Fi location » et « 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 peut être configuré pour envoyer directement des requêtes à beaconDB ou, sous Linux, pour récupérer la position via geoclue
- Pour l’utiliser directement, définissez
geo.provider.network.url sur https://api.beacondb.net/v1/geolocate dans about:config
- Pour utiliser geoclue, activez
geo.provider.use_geoclue
API et ressources pour les développeurs
1 commentaires
Avis sur Hacker News
Même s’il est dit que les données collectées de manière éthique le sont sur une base opt-in, je me demande comment cela fonctionne en pratique.
Si mon voisin scanne mon réseau WiFi et l’envoie à BeaconDB, je n’ai pas vraiment donné mon accord, non ? La politique de confidentialité indique qu’il suffit d’ajouter
_optoutau nom du WiFi, ce qui ressemble davantage à de l’opt-out qu’à de l’opt-in.Un réseau WiFi diffuse son existence dans toutes les directions dix fois par seconde. Comme n’importe qui à proximité peut le capter, il est bien connu qu’il ne faut pas mettre d’informations sensibles dans le SSID du réseau. Dans ce cas, on est donc plutôt dans une situation où l’opt-out est possible.
Toute exportation de données ne contiendra que des données agrégées ou des données hachées cryptographiquement de manière irréversible.
Quand j’avais cherché quelque chose de similaire pour GrapheneOS par le passé, il était impossible de fournir un service de localisation personnalisé.
Ce serait vraiment bien de pouvoir utiliser cela avec GrapheneOS. Si quelqu’un connaît une méthode sans microG, je serais preneur. J’utilise GMS en bac à sable.
Il ne semble pas y avoir d’application mobile open source permettant à l’auteur de collecter directement les données depuis l’appareil. Surtout si l’opt-in se fait du point de vue de l’appareil collecteur, je me demande d’où viennent les données.
Le problème central de MLS n’était-il pas d’avoir subi du harcèlement par brevets / des poursuites de la part de Skyhook ? Je me demande quels brevets étaient concernés et comment beaconDB évite ce problème.
En lisant le ticket sur l’arrêt de MLS[1], plusieurs organisations existantes, comme la /e/ foundation ou Graphene, semblent également intéressées par la fourniture d’un service alternatif. Je me demande si plusieurs fournisseurs de services de localisation open source sont actuellement en concurrence, ou si ce projet est le seul actuellement accessible au public.
Le projet lui-même est intéressant, mais sur GitHub[2], il ressemble à un projet porté par une seule personne avec peu de participation. Je me demande s’il y a des discussions en cours avec d’autres personnes poursuivant des objectifs similaires pour étendre le projet et collaborer. Avec le soutien de communautés de développeurs existantes, il pourrait passer à l’étape supérieure.
https://github.com/mozilla/ichnaea/issues/2065
https://github.com/beacondb/beacondb
Modification : le vrai projet semble être sur Codeberg[3], où il y a un peu plus de contributions de personnes autres que le développeur principal que sur GitHub.
Le projet était à l’origine sur GitHub, mais il a désormais été déplacé vers Codeberg.
Je me demande s’il y a une raison pour laquelle l’API ne renvoie pas la position des points d’accès afin que le client calcule lui-même sa position.
Je n’ai pas encore trouvé de client implémenté pour exploiter ce type de données. Si vous en avez repéré un ou si vous en développez un, faites-le-moi savoir.
J’espère que GrapheneOS prendra bientôt cela en charge. Actuellement, les fournisseurs GPS non Google sont pratiquement sans espoir dès qu’on n’est pas à l’extérieur.
C’est un projet vraiment excellent. C’est toujours réjouissant de voir des gens orientés résolution de problèmes combler le vide laissé par MLS. À part ça, le design est aussi très réussi.
Je me demande où l’on peut encore récupérer le dernier dump de données de MLS. Je n’ai pas réussi à le trouver en ligne.
Je travaille sur un projet qui trouve les antennes-relais connectées à partir de mcc, mnc, cid, etc. Pour l’instant, je ne récupère des données que depuis opencellid et combain ; cet ajout serait très utile.
Ce serait bien de collaborer avec geoclue2. Avec l’arrêt de MLS, geoclue2 a désormais désactivé la localisation basée sur le WiFi.
https://gitlab.freedesktop.org/geoclue/geoclue