Nachdem der Multi Meshviewer nicht alle Communities umfasst und ziemlich schlecht performt. Haben wir uns mal hingesetzt und was kleines gebaut.
Der Crawler geht auf die Freifunk API und versucht daraus alle Communities automatisch zu finden und baut diese dann auf der Karte automatisiert ein. Alle Livedaten werden dann jeweils aus den Meshviewern, Hopglasses und Grafanas zusammen gebaut.
⊠sind nur noch legitime Abrufe zulĂ€ssig. Wir zeigen die Kontaktdaten ausdrĂŒcklich nicht auf unseren Karten an und auch nicht auf den Statusseiten der Knoten (dort findet sich bei hinterlegten Daten nur eine Aliasadresse). Offensichtlich mĂŒssen wir diese Daten leider also doch schon auf den Knoten verschlĂŒsseln â bis dahin gibtâs notgedrungen den Datenzugriff auf die Daten gem. API eben nur noch per Whitelist, schade.
EDIT: per User-Agent als unkritisch erkannte Abfragen wurden IP-whitelisted, bekannte API-Konsumenten per Mail informiert und um Angabe der Abfrage-IP gebeten.
AuĂerdem habt Ihr evtl. noch ein Problem im Parser? Wir ziehen derzeit die geographischen Netzgrenzen durch und somit gibt es die selben Knoten in verschiedenen Meshes in on- und offline gleichzeitig; u. a.diese Knoten haben das Mesh gewechselt âŠ
Die Community flingern hat in ihrer API-Datei den technicalType: "nodelist" mit der URL https://dusfl13.map.ffdus.de/data/nodes.json. Das Format an dieser URL ist aber kein Nodelist-Format (mit id, name, status), sondern das Yanic nodes.json-Format (mit nodeinfo, flags, statistics).
Unser Parser hat die Datei brav als ânodelistâ versucht zu parsen, dabei 0 Nodes rausbekommen (weil die Felder nicht passen), und die Community wurde ĂŒbersprungen.
WĂŒlfrath funktioniert, weil dort ein zweiter hopglass-Eintrag existiert. Von der Base-URL leiten wir /data/meshviewer.json und /data/nodes.json ab, die dann korrekt erkannt werden.
Fix: Wenn der Nodelist-Parser 0 Nodes liefert, probieren wir jetzt automatisch den nodes.json-Parser als Fallback. Damit werden auch Communities korrekt eingelesen, deren API-Eintrag den technicalType falsch als ânodelistâ deklariert, obwohl es eigentlich nodes.json (Yanic) ist.
Das betrifft wahrscheinlich noch weitere Communities Flingern hat z.B. 71 Nodes die jetzt auftauchen sollten.
Wenn man yanic nutzt sind die Output Types TOML Arrays in der Config. Man kann also z.B. mehrere verschiedene meshviewer.json Dateien mit einer yanic Instanz exportieren. Auch mit unterschiedlichen Filtern. no_owner ist dort ein expliziter Filter welchen es gibt.
Wenn man also selbst einen export mit owner (z.B. hinter Auth) haben möchte dann kann man das unabhĂ€ngig davon machen das man das generell nicht zur VerfĂŒgung stellt.
Als AuĂenstehender betrachtet wirkt die Kritik hier etwas inkonsequent: Wenn Kontaktdaten von einer Community bewusst ĂŒber eine öffentlich und ohne Authentifizierung erreichbare API ausgeliefert werden und im Konfigurationshinweis sogar ausdrĂŒcklich steht, dass diese Informationen öffentlich einsehbar sowie von jedem herunterladbar und verarbeitbar sind, dann ist eine Aggregation durch Dritte technisch erwartbar. Selbst wenn man die zentrale API einschrĂ€nkt, bleiben die Daten faktisch weiterhin öffentlich zugĂ€nglich, da sie ĂŒber die jeweiligen Knoten-Statusseiten abrufbar sind und sich durch systematisches Crawlen oder schlichtes Scannen der erreichbaren Adressbereiche ebenso automatisiert erfassen lassen. Eine Map, die vorhandene API-Daten auswertet, schafft daher keine neue Veröffentlichungsebene, sondern nutzt lediglich bereits öffentlich exponierte Informationen. Eine nachtrĂ€gliche EinschrĂ€nkung dieser Daten widerspricht zudem dem Freifunk-Gedanken: Die Kontaktdaten werden von den Betreibern bewusst hinterlegt, und jede KI, jeder Crawler oder Bot hat sie ohnehin bereits indexiert, sie nachtrĂ€glich âherauszubekommenâ ist praktisch unmöglich. Wenn bestimmte Felder, insbesondere potenziell personenbezogene Angaben wie das Owner-Feld, nicht extern verarbeitet oder angezeigt werden sollen, mĂŒsste das konsequenterweise serverseitig unterbunden werden, etwa durch entsprechende Filter im Monitoring-Stack wie z. B. Yanic. Solange die Daten jedoch offen ausgeliefert werden, erscheint ihre maschinelle Verarbeitung als legitime und technisch naheliegende Nutzung der bereitgestellten Infrastruktur.
Und zum rechtlichen (ist hier jedoch keine Rechtsberatung)
Aus rechtlicher Sicht greift die Kritik nicht: Die betreffenden Kontaktdaten werden vom Betreiber bewusst auf dem Knoten hinterlegt und ĂŒber die öffentlich zugĂ€ngliche API bereitgestellt. Laut DSGVO gelten diese Daten als freiwillig veröffentlicht, wodurch die maschinelle Verarbeitung durch Crawler oder Maps rechtmĂ€Ăig ist, solange keine Schutzmechanismen umgangen werden. Das Recht auf Löschung besteht jederzeit direkt am Knoten, sodass Betreiber ihre Daten entfernen können. Eine nachtrĂ€gliche EinschrĂ€nkung durch Dritte ist technisch nicht durchsetzbar, da die Daten ohnehin ĂŒber Statusseiten oder Netz-Scans erfasst werden könnten. Solange die Map ausschlieĂlich diese öffentlich bereitgestellten Informationen nutzt, besteht kein VerstoĂ gegen die DSGVO, und die Verantwortung fĂŒr die Veröffentlichung liegt primĂ€r beim Betreiber des Knotens.
Wo möchtet ihr denn die Infos von Freifunk-Domains haben, die âwegen der Regelnâ nicht in Berlin (bei der groĂen API) gelistet werden können/dĂŒrfen?
Asking for a friend. (Unsere entsprechenden Domains im Neanderfunk habt ihr ja schon gefunden und gelistet (bis auf 2 ;-). Danke dafĂŒr.)
Das sehe ich anders, wer in HauptstraĂe 1, 12345 Musterstadt wohnt, kann jeder, der dort hinfĂ€hrt, am Briefkasten sehen. Diese Info bundesweit zu plakatieren Ă€ndert auch meiner Ansicht nach nichts an der prinzipiellen Ăffentlichkeit der Information; die Frage ist allerdings, ob dieses Vorgehen opportun ist â und unter der DSGVO rechtlich zulĂ€ssig.
NatĂŒrlich ist klar, daĂ diese Daten da, ja auch aus Gutem Grundâą, drin stehen. Bislang hatten die anzeigenden Aggregateure (i. e. freifunk-karte.de) FingerspitzengefĂŒhl gezeigt, genau jene Daten nicht zu veröffentlichen. Aber siehe Dejanews, die Zeiten und die Mitspieler Ă€ndern sich, also bleibtâs bei der IP-Whitelist und im nĂ€chsten Schritt eine firmwareseitige Ănderung, die dieses Problem ein fĂŒr alle Mal löst (wir brauchen die Daten; wenn Dritte sie ungefragt leichter zugĂ€nglich machen, gibtâs diese halt nicht mehr in dem Datensatz).
Ein passendes Beispiel sind meines Erachtens öffentliche APIs wie OpenStreetMap oder GitHub. Wer dort freiwillig Daten wie Hausnummern, Standorte oder E-Mail-Adressen hinterlegt, kann diese Daten ĂŒber die API abrufen oder aggregieren. Niemand wĂŒrde sagen, dass eine Map, die diese Daten ausliest, eine neue Veröffentlichung darstellt. Sie nutzt, wie jetzt auch z.B. bei den Knoten bzw Kontaktinformationen bereits öffentlich bereitgestellte Daten. Der Vergleich mit einem Briefkasten hinkt mMn ebenfalls, weil die Freifunk-API die Daten maschinenlesbar und, soweit nicht anders von euch/dir @wusel gefirewalled, verfĂŒgbar macht, genau wie andere offene APIs.