- ethically sourced: opt-in only data collection
- privacy friendly: published information is obfuscated to protect transmitters and contributors
- abuse resistant: updating existing data requires information only available in physical range of a beacon
contribute
to add coverage for your area you can use the following apps on your phone:
- NeoStumbler: user friendly app for easily submitting new coverage
- download on Accrescent, F-Droid, Google Play, or GitHub
- as of version 1.5.1, just click “yes” when prompted to set the endpoint to beaconDB
- for older versions: in Settings → Endpoint → Suggested services, select beaconDB to automatically apply the correct configuration
- Tower Collector: long established app for collecting cell towers
- download on F-Droid or Google Play
- the latest versions of Tower Collector upload to beaconDB by default!
- Network Survey: robust tool for comprehensive local data collection
- download on F-Droid or Google Play
- on the main screen, under Upload to Database, open Upload Settings to enable submitting data to beaconDB
data you submit will be aggregated and made available to clients in the beaconDB API. in the future, obfuscated data dumps will be published under a public domain license. for further details on how data you submit is handled, see the privacy notice.
usage
please note that beaconDB is experimental and may be inaccurate or unreliable
as beaconDB is starting from scratch there is likely no wifi coverage for your area. if beaconDB can’t estimate your location using wifi, it will fallback to an approximate cell tower location sourced from MLS’ final data dump, or an IP-based estimate as a last resort. note that submissions will take at least 5 minutes to become available in the beaconDB API.
microG
if your Android ROM supports microG, you can easily set beaconDB as an online location service using microG’s new location engine (stable as of v0.3.6). beaconDB can be selected in microG Settings → Location → More options → Select online location service. make sure to enable ‘Request from online service’ under both ‘Wi-Fi location’ and ‘Mobile network location’.
geoclue
most Linux distros include geoclue as a location backend. you can use beaconDB by overriding the URL used to request WiFi location data:
sudo mkdir /etc/geoclue/conf.d
sudo tee > /etc/geoclue/conf.d/99-beacondb.conf <<EOF
[wifi]
enable=true
url=https://api.beacondb.net/v1/geolocate
# submit data, only possible with a GPS antenna
submit-data=true
submission-url=https://api.beacondb.net/v2/geosubmit
submission-nick=geoclue
EOF
sudo systemctl restart geoclue
firefox
firefox can be configured to either make requests directly to beaconDB, or on Linux it can source a location from geoclue. to use beaconDB directly, open about:config and set geo.provider.network.url to https://api.beacondb.net/v1/geolocate. you can tell firefox to use geoclue instead by enabling geo.provider.use_geoclue.
developers
beaconDB hosts an endpoint at https://api.beacondb.net/v1/geolocate which is compatible with MLS/Ichnaea’s API. please make sure to set a user agent to identify your client!!
if you’d like to set beaconDB as a default location service in your software, please read this comment.
data dumps currently aren’t available as I’m still working on obfuscating the data to protect the privacy of contributors and AP owners.
- source code and issue tracker on Codeberg
- historical statistics by Pinguin
- public server metrics on Grafana
- follow updates on Mastodon and Bluesky
- join the discussion on Matrix (preferred) or IRC
- donations accepted on Liberapay
- human readable privacy notice
- made by Joel Koen