diff --git a/README.md b/README.md index 5d86d2e..00d57d9 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,12 @@ # Offline Location Service -A prototype HTTP location service with Mozilla Location Service (MLS) -compatible API. Not a web service, but a device-local server with caching -databases and the aim of minimizing network access and information leakage. -Designed to be run on Linux with -[GeoClue](https://gitlab.freedesktop.org/geoclue/geoclue) but may also work -on other platforms. +A HTTP location service with Mozilla Location Service (MLS) compatible API. +Takes a list of locally observed wifi access points and / or mobile cell ids +and returns a latitude and longitude using various data sources. Not a web +service, but a device-local server with caching databases and the aim of +minimizing network access and information leakage. Designed to be run on Linux +with [GeoClue](https://gitlab.freedesktop.org/geoclue/geoclue) but may also +work on other platforms. ## Requirements @@ -39,6 +40,10 @@ Python module python3 -m ols -d debug -C ols.toml +or using the entry point scripts under `bin` + + bin/ols -d debug -C ols.toml + Alternatively, you can make a local install from the source tree with [pipx](https://pypa.github.io/pipx/) @@ -74,6 +79,26 @@ The Geoclue demo application can be now used to test the locator: If you are running OLS with the debug logging enabled (`-d debug`), OLS should now output a lot of log messages and the demo app should print your location. +### Cellid data + +If you have a device with a ModemManager supported cell modem, GeoClue will +receive cellid data and pass it to the location service, i.e. OLS. + +Cellid location data can be downloaded in the opencellid CSV format from +[Mozilla](https://location.services.mozilla.com/downloads) or +[opencellid.org](https://opencellid.org/) (requires registration). + +The `cellid-ols-import` command under `bin` can be used to convert the +downloaded CSV files to an sqlite3 database which can be used by the 'cellid' +resolver in OLS. It's very much recommended to use the `--mcc` and `--mnc` +arguments to `cellid-ols-import`, so that the database contains only the cell +ids of your operator. + +You can use this command to find the MCC and MNC of the cell which your device +is currently using: + + mmcli -m any --location-enable-3gpp && mmcli -m any --location-get + ## See also * MicroG