Coder Social home page Coder Social logo

wigle-wifi-wardriving's Introduction

WiGLE Wireless Wardriving

ci badge

Nethugging client for Android, from wigle.net.

This client provides geolocated detection and logging for WiFi, Bluetooth, and cellular signals using Android devices.

As of December 2022, this application supports Android SDK versions 19 (KitKat) and up. For older versions, see the 2.67 release tag to build your own copy or side-load the compiled artifact.

Features

  • View and map local RF signals including WiFi, Blueooth, and Cell
  • Accumulate a database of wireless signal observations
  • Search and export observed data
  • Integrate with a WiGLE.net account for competition, statistics, and online aggregation and visualization
  • See your standings and accomplishments per the WiGLE.net server

Data Export

The client offers numerous data export formats including:

  • CSV (current run, full DB, previous runs for WiGLE.net uploaders)
  • KML (current run and full DB, previous runs for WiGLE.net uploaders)
  • SQLite database (full DB)
  • GPX route data (current and previous routes)
  • Magic Eight Ball networkless geolocation artifacts

Issues and feature requests

Please use github issue tracking to report bugs and request features.

Please note: this is primarly a data collection tool - as such we aim to support the widest range of devices possible, and so advanced visualization and data management feature requests that would limit low-end device support will probably not be prioritized.

Device Support

Currently Android versions from KitKat (Android 4.4.3 / API 19) to Android 12 (API 31) are supported. Android 9 fundamentally throttled WiFi scanning support without a reliable remediation (see our forums for some possible fixes), but as of Android 10 and above, disabling WiFi scan throttling was added to the Developer Options settings menu. If you're using a modern Android OS, you should disable WiFi Scan Throttling to maximize the effectiveness of this application.

We receive various bug reports from forks/ports of Android to non-standard devices, but cannot address or test all possible variations. While we do our best to support the widest range of devices possible, the best way to get support for your device is to help us debug or to submit a pull request!

Contributing

You can submit fixes and changes for inclusion by forking this repository, working in a branch, and issuing a pull request. Langauge help and translations are VERY welcome.

We don't have a lot of contribution guidelines, but please:

  • Make sure to test your changes
  • Make sure that exporting data is the result of a direct, intentional user action, or via the Android Broadcast Intent system - don't send data off-device without user permission!
  • Please be mindful of the need for multi-language support if adding text to the UI. Google translate is enough to get people started, but please add an attempt!

Where to get it

Available on Google Play and Amazon App Store.

F-Droid (externally maintained build of the foss-master branch: https://f-droid.org/en/packages/net.wigle.wigleandroid/

How to use it

There aren't presently any official how-to guides, but a youtube search will provide tutorials. For detail on settings in the application, see https://wigle.net/wiwi_settings.

This project is maintained by the WiGLE.net team

wigle-wifi-wardriving's People

Contributors

almeida-l avatar atomicjo avatar bkimminich avatar bobzilladev avatar cognitive-rift avatar designer2k2 avatar drygdryg avatar eda-abec avatar emaiannone avatar itissid avatar k4nfr3 avatar kill0rz avatar krzysztofz01 avatar mark-grayson avatar marmat8951 avatar mcliquid avatar meskobalazs avatar mtbrandao avatar oguska avatar ozdemircili avatar raffaele74 avatar rksh avatar roestje avatar rumpelyann avatar therbom avatar tinbotu avatar tnhh avatar uhtu avatar zarhn avatar znerox avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wigle-wifi-wardriving's Issues

GPSListener.java make GPS_TIMEOUT and NET_LOC_TIMEOUT editable in settings menu

Hi,
it happens to me that I have no GPS in a bus or in the train in the area of bridges very often. I would like to set the timeout independently (in the settings menu). Can you please make the GPS_TIMEOUT and also NET_LOC_TIMEOUT editable in the settings menu? A field for a custom number would be very nice. Thanks in advance and greetings from Berlin.

Background service not working without MainActivity

If the service is started directly or if the process is killed/crashed and the service is automatically restarting the service is continiously waiting for GPS-Fix Sync (as of notification).

12-10 11:45:07.633 I/Timeline( 2368): Timeline: Activity_launch_request id:net.wigle.wigleandroid time:32306152
12-10 11:45:07.633 I/ActivityManager(  591): START u0 {act=android.intent.action.MAIN flg=0x30a00004 cmp=net.wigle.wigleandroid/.MainActivity} from pid 2368
12-10 11:45:07.853 I/wigle   ( 3261): main] MAIN onCreate. state:  null
12-10 11:45:07.853 I/wigle   ( 3261): main] current lang: de new lang: 
12-10 11:45:07.923 I/wigle   ( 3261): main] current lang: de new lang: 
12-10 11:45:07.943 I/wigle   ( 3261): main] MAIN: creating new state
12-10 11:45:07.943 I/wigle   ( 3261): main] id: '471a496a1c27b26b' inEmulator: false product: jgedlteue
12-10 11:45:07.943 I/wigle   ( 3261): main] android release: '4.4.4
12-10 11:45:07.943 I/wigle   ( 3261): main] setupService
12-10 11:45:07.943 I/wigle   ( 3261): main] service started ok: ComponentInfo{net.wigle.wigleandroid/net.wigle.wigleandroid.WigleService}
12-10 11:45:07.943 I/wigle   ( 3261): main] service bound: true
12-10 11:45:07.943 I/wigle   ( 3261): main] setupDatabase
12-10 11:45:07.943 I/wigle   ( 3261): dbworker-Thread-2345] starting db thread
12-10 11:45:07.943 I/wigle   ( 3261): main] setupBattery
12-10 11:45:07.943 I/wigle   ( 3261): dbworker-Thread-2345] setting db thread priority (-20 highest, 19 lowest) to: 10
12-10 11:45:07.943 I/wigle   ( 3261): dbworker-Thread-2345] re-opening db in checkDB
12-10 11:45:07.943 I/wigle   ( 3261): main] setupSound
12-10 11:45:07.953 I/wigle   ( 3261): dbworker-Thread-2345] exists: true dir: true read: true write: true path: /storage/emulated/0
12-10 11:45:07.953 I/wigle   ( 3261): dbworker-Thread-2345] opening: /storage/emulated/0/wiglewifi/wiglewifi.sqlite
12-10 11:45:07.953 D/ExtendedUtils(  224): printFileName fd(27) -> /data/app/net.wigle.wigleandroid-1.apk
12-10 11:45:07.963 I/wigle   ( 3261): dbworker-Thread-2345] database version: 2
12-10 11:45:07.973 D/ExtendedUtils(  224): printFileName fd(31) -> /data/app/net.wigle.wigleandroid-1.apk
12-10 11:45:07.983 I/wigle   ( 3261): dbworker-Thread-2345] loc count: 54125 in: 2ms
12-10 11:45:08.003 I/wigle   ( 3261): main] setupWifi
12-10 11:45:08.003 I/wigle   ( 3261): main] new wifiReceiver
12-10 11:45:08.003 I/wigle   ( 3261): main] create wifi timer
12-10 11:45:08.003 I/wigle   ( 3261): main] start first wifi scan
12-10 11:45:08.003 I/wigle   ( 3261): main] startup finished. wifi scanOK: true
12-10 11:45:08.003 I/wigle   ( 3261): main] register BroadcastReceiver
12-10 11:45:08.003 I/wigle   ( 3261): main] lock wifi radio on
12-10 11:45:08.003 I/wigle   ( 3261): main] setupLocation
12-10 11:45:08.003 I/wigle   ( 3261): main] handleScanChange: isScanning now: true
12-10 11:45:08.014 I/wigle   ( 3261): main] available provider: passive updateIntervalMillis: 1000
12-10 11:45:08.014 I/wigle   ( 3261): main] available provider: gps updateIntervalMillis: 1000
12-10 11:45:08.014 I/wigle   ( 3261): main] using provider: gps
12-10 11:45:08.014 I/wigle   ( 3261): main] available provider: network updateIntervalMillis: 1000
12-10 11:45:08.014 I/wigle   ( 3261): main] setup tabs
12-10 11:45:08.014 I/wigle   ( 3261): main] Creating ListFragment
12-10 11:45:08.014 I/wigle   ( 3261): main] Creating MappingFragment
12-10 11:45:08.014 I/wigle   ( 3261): main] Creating DashboardFragment
12-10 11:45:08.014 I/wigle   ( 3261): main] Creating DataFragment
12-10 11:45:08.014 I/wigle   ( 3261): main] Creating UserStatsFragment
12-10 11:45:08.014 I/wigle   ( 3261): main] Creating SiteStatsFragment
12-10 11:45:08.014 I/wigle   ( 3261): main] Creating SettingsFragment
12-10 11:45:08.014 I/wigle   ( 3261): main] onCreate setup complete
12-10 11:45:08.014 I/wigle   ( 3261): main] MAIN: start.
12-10 11:45:08.034 I/wigle   ( 3261): main] setupUploadButton
12-10 11:45:08.034 I/wigle   ( 3261): main] setupList
12-10 11:45:08.054 I/wigle   ( 3261): main] setNetCountUI
12-10 11:45:08.054 I/wigle   ( 3261): main] setStatusUI
12-10 11:45:08.054 I/wigle   ( 3261): main] setupLocation
12-10 11:45:08.054 I/wigle   ( 3261): main] handleScanChange: isScanning now: true
12-10 11:45:08.054 I/wigle   ( 3261): main] LIST: start.
12-10 11:45:08.054 I/wigle   ( 3261): main] MAIN: resume.
12-10 11:45:08.054 I/wigle   ( 3261): main] GooglePlayServicesAvailable: 9
12-10 11:45:08.054 E/wigle   ( 3261): main] service not available! 9
12-10 11:45:08.084 I/wigle   ( 3261): main] MAIN: post resume.
12-10 11:45:08.084 I/wigle   ( 3261): main] LIST: resumed.
12-10 11:45:08.114 I/wigle   ( 3261): main] service: onCreate
12-10 11:45:08.114 I/wigle   ( 3261): main] service: onStartCommand
12-10 11:45:08.114 I/wigle   ( 3261): main] service: handleCommand: intent: Intent { cmp=net.wigle.wigleandroid/.WigleService }
12-10 11:45:08.114 I/wigle   ( 3261): main] service: onbind. intent: Intent { cmp=net.wigle.wigleandroid/.WigleService }
12-10 11:45:08.124 I/wigle   ( 3261): main] setting phone inactive. state: 0
12-10 11:45:08.234 I/wigle   ( 3261): main] MAIN: onCreateOptionsMenu.
12-10 11:45:08.244 I/wigle   ( 3261): main] invoke: onInit
12-10 11:45:08.244 I/wigle   ( 3261): main] locale: deu_DEU doLanguage: true lang: deu
12-10 11:45:08.354 I/ActivityManager(  591): Displayed net.wigle.wigleandroid/.MainActivity: +507ms
12-10 11:45:08.624 I/Timeline(  591): Timeline: Activity_windows_visible id: ActivityRecord{427abd30 u0 net.wigle.wigleandroid/.MainActivity t42} time:32307140
12-10 11:45:11.497 I/wigle   ( 3261): main] setting location updates to: 1000
12-10 11:45:11.497 I/wigle   ( 3261): main] available provider: passive updateIntervalMillis: 1000
12-10 11:45:11.497 I/wigle   ( 3261): main] available provider: gps updateIntervalMillis: 1000
12-10 11:45:11.497 I/wigle   ( 3261): main] using provider: gps
12-10 11:45:11.497 I/wigle   ( 3261): main] available provider: network updateIntervalMillis: 1000
12-10 11:45:11.497 I/wigle   ( 3261): main] no location for a while, setting location update period: 1000
12-10 11:45:11.507 I/wigle   ( 3261): main] available provider: passive updateIntervalMillis: 1000
12-10 11:45:11.507 I/wigle   ( 3261): main] available provider: gps updateIntervalMillis: 1000
12-10 11:45:11.507 I/wigle   ( 3261): main] using provider: gps
12-10 11:45:11.507 I/wigle   ( 3261): main] available provider: network updateIntervalMillis: 1000
12-10 11:45:12.958 I/Killing Package( 3183): net.wigle.wigleandroid
12-10 11:45:13.048 W/InputDispatcher(  591): channel '427a6898 net.wigle.wigleandroid/net.wigle.wigleandroid.MainActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
12-10 11:45:13.048 E/InputDispatcher(  591): channel '427a6898 net.wigle.wigleandroid/net.wigle.wigleandroid.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
12-10 11:45:13.048 I/ActivityManager(  591): Process net.wigle.wigleandroid (pid 3261) has died.
12-10 11:45:13.048 W/ActivityManager(  591): Scheduling restart of crashed service net.wigle.wigleandroid/.WigleService in 1000ms
12-10 11:45:13.048 W/ActivityManager(  591): Force removing ActivityRecord{427abd30 u0 net.wigle.wigleandroid/.MainActivity t42}: app died, no saved state
12-10 11:45:13.058 W/InputDispatcher(  591): Attempted to unregister already unregistered input channel '427a6898 net.wigle.wigleandroid/net.wigle.wigleandroid.MainActivity (server)'
12-10 11:45:13.058 I/WindowState(  591): WIN DEATH: Window{427a6898 u0 net.wigle.wigleandroid/net.wigle.wigleandroid.MainActivity}
12-10 11:45:14.089 I/ActivityManager(  591): Start proc net.wigle.wigleandroid for service net.wigle.wigleandroid/.WigleService: pid=5706 uid=10403 gids={50403, 3003, 1028, 1015, 1023}
12-10 11:45:14.170 D/ActivityThread( 5706): handleBindApplication:net.wigle.wigleandroid
12-10 11:45:14.190 I/dalvikvm( 5706): Could not find method net.wigle.wigleandroid.MainActivity.checkSelfPermission, referenced from method net.wigle.wigleandroid.MainActivity.addPermission
12-10 11:45:14.190 W/dalvikvm( 5706): VFY: unable to resolve virtual method 23155: Lnet/wigle/wigleandroid/MainActivity;.checkSelfPermission (Ljava/lang/String;)I
12-10 11:45:14.200 I/dalvikvm( 5706): Could not find method net.wigle.wigleandroid.MainActivity.checkSelfPermission, referenced from method net.wigle.wigleandroid.MainActivity.setupExternalStorage
12-10 11:45:14.200 W/dalvikvm( 5706): VFY: unable to resolve virtual method 23155: Lnet/wigle/wigleandroid/MainActivity;.checkSelfPermission (Ljava/lang/String;)I
12-10 11:45:14.200 I/dalvikvm( 5706): Could not find method net.wigle.wigleandroid.MainActivity.requestPermissions, referenced from method net.wigle.wigleandroid.MainActivity.setupLocationPermissions
12-10 11:45:14.200 W/dalvikvm( 5706): VFY: unable to resolve virtual method 23220: Lnet/wigle/wigleandroid/MainActivity;.requestPermissions ([Ljava/lang/String;I)V
12-10 11:45:14.220 I/wigle   ( 5706): main] service: onCreate
12-10 11:45:14.220 I/wigle   ( 5706): main] Heap: maxMemory: 201326592 cacheSize: 1024
12-10 11:45:14.240 I/wigle   ( 5706): main] service: onStartCommand
12-10 11:45:14.240 I/wigle   ( 5706): main] service: handleCommand: intent: null

It seems to be caused by some Methods, that can not be resolved, as they are Methods of the MainActivity:
net.wigle.wigleandroid.MainActivity.checkSelfPermission
net.wigle.wigleandroid.MainActivity.requestPermissions

A service should be able to work standalone, as on crash of the app only the service is restarted.

Feature request: Show queue

It would be nice to add the number currently queued files to the statistics page.
Furthermore it would be nice to see the current place in the queue for (all) own file(s) uploaded and not finished.

Thanks!

Filter for own mobile hotspot

Hi!

Mobile personal hotspots aren't really helpful for building a geolocation-map as they move with the user.
So it would be really nice if one could filter out his/her own ones to make the map more accurate and keep the "data pollution" down.
Or are there algorithms serverside to detect this?

Import from wigle.net to import all stats

Today, the import observed only imports the BSSID.

It would be logical to import all data to the database (SSID, WEP, lat, long, channel, etc).
Since I can see it on wigle site via the query funcion
http://wigle.net/gps/gps/main/query/

Someone could do a script to import "Only Networks I Was the First to Discover" into the sqllite file.
Of couse, this takes a lot of work and CPU stress.

Stat

I don't understand for a good translation.
I seems to me: (A or B)

A. I didn't translate well
B. "37.045 ___" must be write in global stat page

screenshot_2017-05-12-15-06-08

Unable to upload to wigle since Let's encrypt is used

I have an old phone (Android 2.2) which I occasionally use to capture and upload location data (I'm current #708 - user "cdman").

Unfortunately my phone does not have the Lets encrypt root certificate and as such it can't upload to wigle.net (it gives an SSL error). Perhaps we could add the the root certificate as a "custom certificate" as described here: http://nelenkov.blogspot.ro/2011/12/using-custom-certificate-trust-store-on.html (the section starting with "creating a custom TrustManager that delegates certificate checks to the system default one and uses the local trust store if verification fails. Here's how this looks like" seems to be the relevant one).

Does this app use a web service?

Hello world!

I'm not an Android developer, so I can't understand the code or at least the program structure.

Reading the website I see the ways to get hotspots are:
https://wigle.net/gps/gps/main/query/
or https://wigle.net/gps/gps/Map/onlinemap2/
And it seems there is a PHP-JSON bridge:
https://wigle.net/phpbb/viewtopic.php?f=1&t=2055
but that last solution requires you have your own server, which is not a good idea.

Is there any way to access wiglenet database using common web services? Something like REST or SOAP? I could use https://wigle.net/gps/gps/main/query/ and process the HTML (scraping) but that's not too much elegant.

Can anyone tell how this app gets all the data from wigle? Or at least tell me the files in JAVA I should read. I would like to know more about it but it's difficult to me reading an Android app code.

Thanks a lot for your time, I appreciate it.

Entries with bssid of 00:00:00:00:00:00

Occassionally, I will get a SSID found with sometimes different SSIDs but with the bssid of 00:00:00:00:00:00. This will stay in the currently found SSIDs even after the AP is no longer near. If I open the AP to show the known locations of the AP, it looks like a track of where I've been (since it records the AP of being at every location I've been at). If you would like, I can provide multiple screen shots of this for you.

I don't know if wigle want to do

The reason I arrived to wigle is interest for national-network-wifi that are developing in old the world (es. Vodafone Wifi).
Some operators are opening a wifi network on all their router with the same SSID and sell sims that allow access.
So, like for mobile, it would be interesting to have distinct coverage maps for performance.
With my experience I saw that it would suffice a simple test on/off on internet connection, because wifi has priority over the 4G and so in some cases (many cases) this wifi completely disconnects devices.
What do you think about insert an optional test and bd of them?

netxml to KML conversion

Hey guys,
I'm trying to build an application that automatically converts the netxml files that Kismet generates into KML files to be loaded into Google Maps/Earth. I have tried about 5 or 6 perl and python programs and my only concern is that I don't like the marker images for any of them. The only rendering I really like is the one that the app generates after you export the DB as a KML file. How do you guys do that conversion? And lately, you have been able to group the networks into clusters? How can I port this to my laptop?

Bad location data in location and network probably due to losing GPS

I have a couple of issues with Wigle on a LG Nexus 4 phone (stock android 5.1.1). I'm not sure if it's device specific or a general issue.

First and a minor one is that sometimes the "location" table contains wrong location data, eg:

sqlite> select _id,level,lat,lon,altitude,accuracy,time from location order by lat desc limit 100;
_id         level       lat         lon         altitude    accuracy        time      
----------  ----------  ----------  ----------  ----------  --------------  ----------
748         -87         Inf         -Inf        0.0         566.0791015625  0         
749         -91         Inf         -Inf        0.0         566.0791015625  0     
750         -86         Inf         -Inf        0.0         566.0791015625  0         
751         -90         Inf         -Inf        0.0         566.0791015625  0         
752         -91         Inf         -Inf        0.0         566.0791015625  0         
4252        -66         Inf         -Inf        0.0         0.924082756042  0         
...

"Inf" and "-Inf" are not valid WGS84 coordinates, also time=0 even if it's a valid number isn't OK/real.
This issue is probably caused by saving data before obtaining a GPS fix or after losing it (not sure).

There are also lines with valid coordinates (although i think the location is wrong - see below) and time=0.

_id         level       lat          lon               altitude    accuracy          time      
----------  ----------  -----------  ----------------  ----------  ----------------  ----------
12103       -85         46.06612801  14.5284741499999  0.0         9.52606964111328  0         
12104       -90         46.06603457  14.52453655       0.0         9.52606964111328  0         

This causes issues when trying to draw all the points on a map, but can be avoided by filtering out the invalid location when exporting data from sqlite.

The bigger issue for me is the "network" table, where last- and best- locations are stored.

I have visualised a part of best-location data (one line in 'network' table is one dot drawn with "bestlon", "bestlat" coordinates - http://i.imgur.com/DF3hHTc.png ). I have actually walked/scanned the bottom part, but the slightly right leaning horizontal "line of dots" is due to losing GPS/location errors described above. I never actually walked there.

I have picked a known network/AP (larger, red dot, marked 'BSSID'), and visualised the data from 'location' table (each dot is a line from location table drawn at lat/lon coordinates; my selected AP is marked with larger red dots and 'BSSID - image: http://i.imgur.com/MtlGiGZ.png ). The actual location of the access point is in the bottom part of the image (close to where three more sighthings are drawn (larger red dots). The approximate distance between the three dots in the bottom part of the image, and the upper dot is ~1km. Data:

sqlite> select _id,level,lat,lon,altitude,accuracy,time from location where bssid="<BSSID>";
_id         level       lat          lon          altitude          accuracy    time         
----------  ----------  -----------  -----------  ----------------  ----------  -------------
24201       -81         46.04416077  14.48949131  348.299987792969  10.0        1482300334000
26714       -60         46.05357032  14.49049531  0.0               60.9652557  0            
26884       -69         46.0441834   14.48921632  337.899993896484  10.0        1482346381000
100093      -80         46.04402456  14.48904799  343.0             4.0         1483432558000

Three sightings have correct coordinates and valid GPS data (including time), but one, probably without a GPS fix (time = 0, and a wrong location - upper dot in the image) is also used for 'bestlat'/'bestlon' in 'network' table, since the signal level was the highest there.

There are also lines in 'network' table where bestlat/bestlon or lastlat/lastlon are +/-Inf:

sqlite> select lasttime,lastlat,lastlon,bestlat,bestlat from network order by lastlat limit 5;
lasttime    lastlat     lastlon     bestlat     bestlat   
----------  ----------  ----------  ----------  ----------
0           -Inf        -Inf        -Inf        -Inf      
0           -Inf        -Inf        -Inf        -Inf      
0           -Inf        -Inf        -Inf        -Inf      
0           -Inf        -Inf        46.4612570  46.4612570
0           -Inf        Inf         46.0650862  46.0650862
sqlite> select lasttime,lastlat,lastlon,bestlat,bestlat from network order by bestlat limit 5;
lasttime    lastlat     lastlon     bestlat     bestlat   
----------  ----------  ----------  ----------  ----------
0           -Inf        -Inf        -Inf        -Inf      
0           -Inf        -Inf        -Inf        -Inf      
0           -Inf        -Inf        -Inf        -Inf      
1483223038  46.4615528  13.9437285  -Inf        -Inf      
1483112210  46.0550346  14.5191821  -Inf        -Inf      

So, sometimes, (eg.) when I walk into a building, and lose the GPS fix, it makes the location drift in a random direction and then store the invalid location to the database. Sometimes it even stores +/-Inf. If the access points signal is stronger there (and it often is inside buildings), the invalid location is also used for "bestlat" and "bestlon" fields. I can also fix this in postprocessing (eg. foreach bssid in 'network' table, select all the sightings from the 'location' table, and pick the highest signal one with valid time and coordinates).

I was wondering if I was the only one with this issues (some weird hw/sw combination), or has anyone else noticed similar errors in data (location points going in random directions, and/or appearing in locations never visited, or +/-Inf coordinates in the 'network' table). Maybe wigle shouldn't store location (to any table), if any of the location data is invalid (eg. +/Inf in coordinates, time==0). I can fix my data when processing, but this issue probably also affects kml export, etc. for other people.

feature request: SSID filter ; delete DB ; show version

These may exist but i cannot locate them:

feature request 1)
In the past i used an option that would filter out a specific SSID as to not save/upload it. I would like to have this ability again. I would also like to filter more than one SSID.

feature request 2)
please add a delete database button.

feature request 3)
please display version number somewhere.

App uses deprecated APIs

WiGLE Wifi Wardriving is using deprecated API's, thus not allowing to set Android 4+ as target. This means you can't implement the Holo interface.

Login on Android O (8.0.0) Dev Preview 4 fails

When logging into wigle app on Android O (8.0.0, build OPP4.170623.014), login fails with bad password. Password works fine on web page on same phone. Login session was working prior to Android O upgrade, and continued o work after. After Deauthing the account in the app, and attempting to login again, login fails.

unknown

Sorting

"OK" doesn't work. I must go out and return.

screenshot_2017-05-05-10-51-38

IllegalStateException at CharsetEncoder.flush when uploading data

Each time I try to upload data, when exporting to .csv that will be uploaded, I get error message about this exception. Possibly my database contains some data (in ssid name maybe) that fails to encode properly in .csv.

WigleWifi error log - 16/07/2013 01:43
versionName: 1.55
baseError: IllegalStateException: null

detail: Has data connection: true
packageName: net.wigle.wigleandroid
MODEL: Galaxy Nexus
RELEASE: 4.2.2
BOARD: tuna
BRAND: google
DEVICE: maguro
DISPLAY: JDQ39
FINGERPRINT: google/yakju/maguro:4.2.2/JDQ39/573038:user/release-keys
HOST: vpba1.mtv.corp.google.com
ID: JDQ39
PRODUCT: yakju
TAGS: release-keys
TIME: 1360362364000
TYPE: user
USER: android-build
Thread: Thread[HttpUL-Thread-12359,5,main] throwable: java.lang.IllegalStateException

java.lang.IllegalStateException
at java.nio.charset.CharsetEncoder.flush(CharsetEncoder.java:524)
at net.wigle.wigleandroid.background.FileUploaderTask.writeFileWithCursor(FileUploaderTask.java:489)
at net.wigle.wigleandroid.background.FileUploaderTask.writeFile(FileUploaderTask.java:353)
at net.wigle.wigleandroid.background.FileUploaderTask.doUpload(FileUploaderTask.java:160)
at net.wigle.wigleandroid.background.FileUploaderTask.doRun(FileUploaderTask.java:109)
at net.wigle.wigleandroid.background.FileUploaderTask.subRun(FileUploaderTask.java:87)
at net.wigle.wigleandroid.background.AbstractBackgroundTask.run(AbstractBackgroundTask.java:65)

Bogus rounding in Dashboard view

While watching the dashboard display, I'll often see instances of rounding for the distance measurements, even though the actual precision (at least two significant figures) is better than the display suggests. It's like the opposite of False precision.

For example, I'll see "4.58 miles" change to "4.6 miles" instead of "4.60 miles", or "5.99 miles" change to "6 miles" instead of "6.00 miles". The word "miles" moves back and forth instead of staying still -- it's slightly distracting in two rows of text.

Hunch: around https://github.com/wiglenet/wigle-wifi-wardriving/blob/master/src/net/wigle/wigleandroid/DashboardActivity.java#L43 insert .setMinimumFractionDigits( 2 ) (in addition to .setMaximumFractionDigits( 2 )).

Incentivise pioneer exploration of virgin areas

In order for wigle.net to reach highest map quality and aim for complete coverage,
I suggest complementing the usual bulk trawling downtown and idle coasting on highways with:

Incentivise exploration of unvisited cold pockets near users common area or position.

  • Suggesting or some how calling attention to virgin areas and or seldom visited squares.
  • Meter and reward pioneering by acknowledge, like every wifi has first discovered by, now each square(km/mile?) has a pioneer.
  • Meter and reward moderate turfing. Users can take pride in keeping some area up to date. Now each square(km/mile? smaller blocks in crowded areas?) has a last visited by user. But scores are only given for refreshing stale connection. (maybe even negative incentive for over refreshing(excluded home and work without breaking anonymity)).
  • Reminder when pioneered and last visitor turf gone cold
  • Reminder when passing nearby virgin land.
  • Milestone recognition, Badges for special deeds like going the extra mile
  • Connecting local top users in stats without breaking anonymity?

May be to much but.

  • User progress, development and projected future expectation.
  • Reminder when user activity has dropped below projected expectation,

Caveats are:

  • How do we avoid luring people into restricted/unsafe areas where they get into trouble.
  • How do we keep wifi primary and the flag planting and pissing on corners as periferial

On Hamburgher menu filter doesn't work well in Italian version

It doesn't work or it is not clear.

  1. Filter ON must be up. It seems to me it doesn't include SSID.
  2. Open - Wep -Wpa - Towers are "OR"; but SSID in "AND".
  3. If I'm looking for a SSID, it's not enough to write it in the field, but I have to do double-click on Filter ON to get it.
  4. App shows me little cluster (eg 3 wifi) with one wifi symbol.
  5. If I search "Telecom-4" it shows "Telecom-*".
  6. In my mind it is clearer if you don't repeat "show" every time.

I'd like this function working on Global WiGLE (not only my, because it seems to me I cannot view some important wifi). And I need to know where It is important I do wardriving.

I named SPAM WiFi WiFi without pwd and without www. Perhaps you call it "commercial".

filters

Client does not store most accurate data

When starting WiGLE Wifi and a GPS position is available, it immediately starts scanning.
However, when later (maybe a few seconds) the same APs a found but with a more precise GPS position, I noticed that this new scan is ignored.

I would expect my local DB to be updated whenever I find an existing AP with a less accurate position (or a weaker signal). This would be especially helpful when "war-walking".

idea on better updating location of ssid

When some one goes past a area and they get the first (ssid/mac address) and it puts it in the database but when they go to another street and they find that same ssid but it is stronger signal at the new location it will update the location and also update how strong the signal on the database automatically. That will help pinpoint where that ssid is located at.

Also a feature on a radar style of map using the best location with the strongest signal going from the database of all of the driving around the area.

Italian translation

Hello.

After working at the Italian translation (revised and completed) I tried to send it to the email WiGLE-admin[at]WiGLE.net - as indicated on the site - a month ago.

I fear it is not arrived... I try to attach it here: strings.zip

I hope it is useful.
Thanks for your work

Osm tiles

When osm tiles checked, i still getting google. Even if i restart app. Title od map panel is still named as openstreetmap / checked or unchecked

Unable to upload captured data

Hi,

since last update on play store there is no upload to wigle.net possible anymore.
Everytime I hit the upload button, the error appears that the file to upload is empty.

Is the captured data lost?

Seems to log and send WiFi networks with hidden SSIDs which the phone knows.

If phone has information of networks which have hidden SSID, this application seems to save them in database and later send them to WiGLE.

I think that this is an issue, because WiGLE FAQ says

If your network is in WiGLE and you don't like it, we'll take it out immediately, but you should look into making your network harder to detect AND more secure; remember that you're the one bombarding passers-by with your signal.

and I think that "bombarding passers-by with your signal" means SSID broadcasting (if it doesn't, please correct me).

speech config issue

speech reports no GPS fix even though I've turned off that speech option. (i turned off all speech items)

NullPointerException when opening the option menu via hardware button

Every time I try to open the option menu via hardware button, the app crashes.
This device only, since current version (11/2014); others work fine.
-hdmn

WigleWifi error log - Feb 14, 2015 1:19:07 AM
versionName: 2.6
baseError: NullPointerException: null

packageName: net.wigle.wigleandroid
MODEL: LG-P710
RELEASE: 4.1.2
BOARD: 7x27
BRAND: lge
DEVICE: vee7e
DISPLAY: JZO54K
FINGERPRINT: lge/vee7e_open_eu/vee7e:4.1.2/JZO54K/P71010j-EUR-XX.1393575359:user/release-keys
HOST: android-5pm-server-03
ID: JZO54K
PRODUCT: vee7e_open_eu
TAGS: release-keys
TIME: 1393575556000
TYPE: user
USER: rakwon.wi
Thread: Thread[main,5,main] throwable: java.lang.NullPointerException

java.lang.NullPointerException
at com.android.internal.policy.impl.PhoneWindow.onKeyUpPanel(PhoneWindow.java:1004)
at com.android.internal.policy.impl.PhoneWindow.onKeyUp(PhoneWindow.java:1712)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:2125)
at android.view.ViewRootImpl.deliverKeyEventPostIme(ViewRootImpl.java:3611)
at android.view.ViewRootImpl.handleImeFinishedEvent(ViewRootImpl.java:3581)
at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:2831)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4929)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:798)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:565)
at dalvik.system.NativeStart.main(Native Method)

Unable to access "menu"

I have a Nexus7 and updated "WlGLE" to version 1.56 on Google Play.
and, "menu" software button at the right side of bottom has gone, I cannot enter settings, even exit application.

I know that Android2.x phones have hardware buttons home, menu, back, but Android 3.x or 4.x are not necessarily have hardware buttons.
This may make some of Android 3 or 4 may be unable to reach "menu", I think.

Thank you.

wigle_button

Stopping tts can take very long

It have tts setup to only say the ssids. But when there are many of them it takes a while to say them all. When I use the ... Menu to silence the app it wants to finish saying all ssids it hasn't told me about yet. When I exit the app it stops immediately but in my case I would have to first silence it then exit then restart the app.

Offline maps

Since mobile data is at a premium, can the app be adjusted to accept locally stored maps in .osm format? Direct export from Openstreetmap.

Update existing networks

O noticed something on wigle android client.

I observe a network. It's open and on channel 1. Wigle saves it on database.

The network changes SSID, changes to channel 9 and its WPA2 protected now, but wigle never updates it.
On my database, it will always be open and on channel 1 (with the old name).

Is it possible to update existing networks?

Mute Audio

I have been searching in the source code for the default of "Mute Audio" as the app play audio and tts by default. Could someone point me where is set by default to turn it off in a built which does not set audio and speech to be turned on by default?

Ask me do I want to turn WiFi off before you do it.

  1. I turn Wigle on and go somewhere.
  2. I arrive at somewhere and quit Wigle and turn off WLAN.
  3. I I start Wigle and return home.
  4. I upload information to Wigle.net and quit it.
  5. Wigle turns off WiFi without asking me and I must enable it by hand.

Development for WiGLE always on.

Wigle consumes a lot of battery, so I must use it intentionally in detection campaigns.
I'd prefer app turns on byself when you need it.
If I said so, it is impossible; but if I say I want app turns in stand by byself when it doesn't need to work, you can do it.

When does it not need to work?

App can be know byself:
When I'm stationary or still I move very slowly (modify on setting)
When I'm connected to a wifi (to make the sophistication I can put it first, but it should not serve, to realize that I'm hooked to already done)
At certain hours (night, office, ......)

App need I set:
In some areas (identifiable as towers-area, but perhaps also with 1° GPS).

We accept other ideas.

Annex screenshhot of warning by Android that invites users don't use WiGLE (It send a notification that open this page)
screenshot_2017-05-09-00-52-36

offline maps support

Hi, its pain in ass to download map tiles. Its drain my data. Fup 200Mb here.
Should ve posible add support for mapsforge?
Im using map tiles in other apps. For geocaching, Locus etc. One file and if you want, render rules for customizing.

Centering Map

My blue-point is not centered, but it is a lot on the right and less up.
If I zoom it go auto of windows.
With a default zoom I don't notice.
It is as I have two blue points (one visible, one not) and maps centered ever that it is wrong.
Sometime it change the two points (visibile became invisible and invisible visible).
It always center on the wrong (visible or invisible it is).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.