Skip to content

New stumbler application for contributing data to geolocation services

License

Notifications You must be signed in to change notification settings

mjaakko/NeoStumbler

Repository files navigation

Get it on F-Droid

Build status License Latest release Matrix Translation status

NeoStumbler

NeoStumbler is an Android application for collecting locations of cell towers, Wi-Fi access points and Bluetooth beacons to geolocation services, which have an API compatible with Ichnaea (i.e. Mozilla Location Services).

Downloads

There are two variants available:

APKs of the application can be downloaded from Releases page.

The fdroid variant is also available from F-Droid or alternatively from IzzyOnDroid. Reproducible builds are used for building NeoStumbler on F-Droid, which means that it's possible to upgrade an existing installation to a newer version from an alternative source.

Updates for the full variant have to be manually checked and downloaded from the Releases page. The fdroid variant can be automatically updated by the F-Droid application

Features

  • Supports latest Android versions
  • Collect data for cell towers, Wi-Fi access points and Bluetooth beacons
    • Data collection can be started automatically while moving (if using the full variant with Google Play Services)
  • Scanning can be automatically paused when not moving
  • Map showing the areas where data has been collected
  • Exporting scan data as CSV files or as a raw SQLite file

Development

The application has two product flavors:

  • full - includes all features
  • fdroid - features dependent on closed-source components (i.e. Google Play Services) are removed

Building

  • Build debug APK: ./gradlew buildFullDebug or ./gradlew buildFdroidDebug
  • Build release APK: ./gradlew buildFullRelease or ./gradlew buildFdroidRelease
    • Note that by default this will build a signed APK
      • This needs a Java keystore file named keystore.jks in the project root directory and setting values for environment variables (see app/build.gradle)
      • Alternatively, to build an unsigned APK, remove signingConfigs block from app/build.gradle

Contributing

Contributions from the community are welcome and encouraged. Easiest ways to contribute are to create and update translations and to create bug reports. Requests for new features are welcome as well. If you want to implement a new feature, please create an issue first if there's some design or planning needed

Translations

Translation status

Weblate is used for translations. If you want to add translations for your language or to update existing translations, you can do that easily from Weblate. If you prefer, you can also update translations via a PR