Freifunk-App (SSID-Manager)

Neue Version: Release v0.7 · WIStudent/FreifunkAutoConnectApp · GitHub

Die Liste der Freifunk-Knoten wird nun als komprimierte Datei heruntergeladen, was den Download auf etwa 1/3 der unkomprimierten Größe reduziert.

Seit Android 6 ist es einer App nur noch gestattet, SSIDs aus der Netzwerkkonfiguration des Geräts zu entfernen, wenn diese auch durch diese App hinzugefügt wurden. Dies kann dazu führen, dass die App SSIDs nicht entfernen kann. In dem Fall wird dem Nutzer eine Nachricht angezeigt.

Bei den SSIDs wird nun zwischen aktuellen und veralteten SSIDs unterschieden. Dies betrifft momentan nur die „muenster.freifunk.net“ SSID, da diese von der Münster Community nicht länger verwendet wird.

Wenn ein Nutzer eine veraltete SSID in seiner Netzwerkkonfiguration hat, wird diese in der Liste orange hinterlegt.

Der Nutzer kann in den Einstellungen entscheiden, ob veraltete SSIDs, die sich nicht in der Netzwerkkonfiguration befinden, angezeigt werden sollen. Standardmäßig werden sie nicht angezeigt, wenn der Nutzer sie aber anzeigen lässt, werden sie gelb hinterlegt.

2 „Gefällt mir“

muenster.freifunk.net kann komplett raus. Letzten Dienstag wurde der letzte Server abgeschaltet. Es gibt keinen Knoten mehr, wo mit der SSID das Internet funktioniert.

Grüße
Matthias

Der Grund, weshalb die SSID als veraltet in der Liste behalten wird, ist, damit die Nutzer, die diese SSID noch in ihrer Netzwerkkonfiguration haben, auch erkennen können, dass diese veraltet ist. Die SSID komplett herauszunehmen würde dazu führen, dass sie von der App aus der Konfiguration auch nicht mehr entfernt werden kann. Der Nutzer müsste dies dann manuell in den Android Einstellungen tun, wobei er dazu aber auch wissen müsste, welche SSIDs entfernt wurden. Daher halte ich das Als-Veraltet-Markieren als die beste Lösung.

3 „Gefällt mir“

Nach langer Zeit gibt es mal wieder ein Update: Release v0.8 · WIStudent/FreifunkAutoConnectApp · GitHub

Die größte Änderung ist, dass nun die Positionsdaten der Freifunk-Karte anstelle meiner eigenen Quick-and-Dirty Crawler-Lösung verwendet werden. Dies verdoppelt die Anzahl der sichtbaren Knoten in etwa. Dazu prüft das Raspberry Pi alle 10 Min., ob unter https://api.freifunk.net/data/freifunk-karte-data.json eine neue Version vorhanden ist. Ist dies der Fall, wird die Datei heruntergeladen, in ein für die App geeignetes Format konvertiert, komprimiert und auf meinen Webserver hochgeladen. Die App selbst verwendet in der HTTP-Request nun das „If-Modified-Since“ Feld, um die Datei auch wirklich nur dann herunterzuladen, wenn sie seit dem letzten Download aktualisiert wurde.

Ich weiß nicht, wie lange es dauert, bis das Update auf F-Droid verfügbar wird. Ich habe gesehen, dass der Bot die Versionsänderung bereits registriert hat, bisher wurde die neue Version aber noch nicht gebaut.

2 „Gefällt mir“

Version 0.8 ist nun auch auf F-Droid verfügbar: Freifunk Auto Connect | F-Droid - Free and Open Source Android App Repository

1 „Gefällt mir“

Ich ziehe um. Das heißt, das Raspberry Pi, das die Positionsdaten aktualisiert, ist nun erstmal offline.

BTW, vielleicht hat eine Community ja auch Lust, das Konvertierungs-Skript auf ihrem Server regelmäßig laufen zu lassen. Das würde das ganze ein wenig unabhängiger von meiner Raspberry Pi + Billig-Webhosting Lösung machen. Die App braucht an sich nur ne URL unter der sie die konvertierte Datei abrufen kann.

An sich kein Problem, aber ich bin schon wieder von dieser „neue Version ist natürlich inkompatibel“-Unart angefressen; dachte, python hätte das im Griff? :frowning:

root@web01:~# pip3 install Logger
Requirement already satisfied (use --upgrade to upgrade): Logger in /usr/local/lib/python3.5/dist-packages

ffgt@web01:~$ wget https://github.com/WIStudent/FreifunkNodeLocationConverter/raw/master/freifunk-node-location-converter.py
ffgt@web01:~$ chmod +x freifunk-node-location-converter.py
ffgt@web01:~$ python3 ./freifunk-node-location-converter.py
Traceback (most recent call last):
  File "./freifunk-node-location-converter.py", line 8, in <module>
    from Logger import Logger
ImportError: No module named 'Logger'
ffgt@web01:~$ python3 --version
Python 3.5.2
ffgt@web01:~$ python --version
Python 2.7.12

Wenn Du mir Deinen ssh-Key schickst, richte ich 'ne VM ein, dann kannste das da laufen lassen und nach belieben hinzimmern.

Lade noch die Logger.py Datei aus dem Repository herunter. Die kümmert sich um das thread-sichere Logging von ein paar Nachrichten in Textdateien. Der Großteil meiner Geräte steckt noch in Kartons, daher kann ich mich gerade nicht weiter drum kümmern.

Much better :wink:

Wird nun alle 10 Minuten erstmal unter http://firmware.4830.org/nodes.json.gz abgelegt. Fancy domain, unter der man das ablegt?

Edit: In den App-Code geguckt, Vhost eingerichtet: http://freifunkapp.4830.org/nodes.json.gz

Bei Bedarf kann ich Dir auch 'n Account einrichten, falls Du das Skript selbst pflegen willst. Im Moment läuft’s unter unserem FF-Admins-Gruppenaccount.

2 „Gefällt mir“

Version 0.9 holt sich die Positionsdaten nun von der URL, die von @wusel eingerichtet wurde. Auf meinen Server wird nur noch als Fallback-Lösung zugegriffen. Außerdem werden die App-Einstellungen nun durch Androids eigenen Backup-Mechanismus gesichert. Bis das Update bei F-Droid ankommt, dauert es noch ein wenig.

Hey @Tobias ,
ich könnte ein Backend mit Formular zum eintragen der Freifunk Knoten bauen.

Also wenn jemand seinen Knoten einträgt ist er in der MySQL-Datenbank erstmal als „unverified“ drin. Wenn der manuell geprüft wurde trägt er dann den Status „verified“.

Alle „verified“-Knoten könnten dann automatisch (zB jeden Tag ein mal) als CSV exportiert werden und irgendwo hochgeladen werden.

Edit:
Die unverifizierten Knoten könnte man in der App in einem extra Tab einbauen damit man die schon in der App drin hat (in den Einstellungen: Mit unverifizierten Knoten verbinden?).

Ich verstehe gerade nicht ganz, ob es dabei um die Positionsdaten der Knoten oder um die SSIDs geht, und welches Problem mit dem Backend gelöst werden soll.

Für die Positionsdaten wird momentan der Datenbestand der Freifunk Karte verwendet, welche die Daten von den verschiedenen Community-Karten bezieht. Da die Karte bereits jetzt über 45000 Knoten enthält und täglich neue hinzukommen und alte verschwinden, halte ich ein eigenes Backend dafür recht aufwendig.

Eine Liste der aktuellen SSIDs holt sich die App momentan direkt von Github aus dem freifunk-ssids Repository. Hier können bereits neue SSIDs von Nutzern hinzugefügt und überprüft werden. Da Communities in der Regel lokal einheitliche SSIDs in ihrer Firmware vorschreiben, gibt es hier auch nicht so viele Anfragen zur Aufnahme in die Liste, die ein eigenes Backend notwenig machen würden.

3 „Gefällt mir“

Es geht um die SSIDS.