Community

GSoC: nodewatcher v3 - data collector agent

Hello all!

A quick update on what is happening regarding my GSoC project with bringing nodewatcher v3 platform closer to reality. Version 2 of nodewatcher used its own simple key-value format and a bunch of shell scripts to provide monitoring data. In order to bring this into the modern era where JSON and ubus are available as compact libraries on OpenWrt by default, I have in the last few days created a new modular OpenWrt monitoring agent that can run on nodes and periodically obtain data from various sources (directly from procfs, from uci, from netifd via ubus, from nl80211 netlink API via OpenWrt's libiwinfo, etc.).

The daemon is implemented in C and different data sources are implemented as loadable shared object modules, enabling simple extensibility. Nodewatcher agent then provides all of the collected data in two ways: a) it can directly output data to a JSON file that can be served via HTTP; and b) it also provides an ubus object called nodewatcher.agent that exposes a get_data method, so other applications can obtain the same structured data as an ubus blobmsg. The nodewatcher monitoring agent could perhaps also be reused by the proposed Freifunk Monitoring and Administration Panel.

The nodewatcher-agent repository is hosted on GitHub with a README file providing a quick description of the used format, the ubus API and the currently implemented modules:

https://github.com/wlanslovenija/nodewatcher-agent

I have also packaged the agent for OpenWrt so it can be installed together with its various data source modules via opkg. The packages are available in the nodewatcher firmware package repository:

https://github.com/wlanslovenija/firmware-packages-opkg/tree/master/util/nodewatcher-agent

The agent and its packages should be considered alpha and the schema is still subject to change.

GSoC: Freifunk API Query Client

Hi!

My GSoC Project for Freifunk is the development of a Query Client for the Freifunk API.

The Freifunk API is inspired by the so called "Space API" that is used by Hackerspaces all over the world.
It provides detailled information about every Freifunk Community and is intended to serve as a central place to aquire information and statistics about all Freifunk communities.

Freifunk communities can provide their data for the API using the generator.

The aim of my project is to provide a query browser for the API data to make the data for humans as well as machines more useful and accessible.

Possible usage examples are queries like:

- All contact mailinglists for all communities.
- Sum over all node numbers of all communites
- Show the name and webpage of all communities that use OLSR for routing.
- ...

The API is defined using JSON-Schema. The current (0.3.0) version of the definition is here.

The query client will provide queries for the API data according to the specification.

It will be a JavaScript based web-application that loads the API files and returns results according to queries.

Besides that we plan to provide a server that provides results as JSON that can be used by routers or other machines or websites.

E.g. the current node count could be integrated in the website for the community via a simple Ajax-Request to the API.

A working prototype is planned to ready next week.

About Me: My name is Martin Tippmann. I'm a student at the Bauhaus Universität Weimar and I'm pursuing a degree in Computer Science for Media there.

 

 

Rathaus Berlin-Neukölln funkt frei!

Ab sofort haben Besucherinnen und Besucher sowie Anwohnerinnen und Anwohner die Möglichkeit, rund um das Rathaus Neukölln über das Berliner Freifunk-Netz freien, zeitlich uneingeschränkten und kostenlosen Zugang zum Internet zu erhalten.

Die im Rathausturm installierten Router sind über Richtantennen an das bestehende Berliner Freifunk-Netzwerk angebunden und stellen so nicht nur eine Verbindung ins Internet her, sondern ermöglichen den Nutzerinnenn und Nutzern auch Freifunk interne Dienste anzubieten und nutzen. [1]

Nach einem einstimmigen, postiven Echo aus dem Ausschuss für Verwaltung und Gleichstellung, stimmte am 24.04.2013 die Bezirksverordnetenversammlung Neukölln für die Installation von Freifunk-Routern auf dem Rathaus-Gebäude [2]. Der Antrag im Ausschuss für Verwaltung und Gleichstellung ging auf eine Initiative der Piratenpartei zurück.

Der Bezirk stellt den Ort, sowie den Strom für die Freifunk-Hardware zur Verfügung. Die Kosten für Baumaßnahmen und Router konnten aus Mitteln einer Förderung der Medienanstalt Berlin Brandenburg (mabb) gedeckt werden [3]. Die Installation und Wartung der Netzwerktechnik erfolgt ehrenamtlich durch Mitglieder der Berliner Freifunk-Community.

Eine der insgesamt 14 installierten Antennen funkt zum ca. 3.8 km entfernten Rathaus in Kreuzberg, auf dem bereits im Oktober 2013 Router installiert worden waren. Beide Standorte sind Teil des sogenannten BerlinBackBone (BBB), einem WLAN basierten stadtweiten Mesh-Netzwerk über den Dächern Berlins, das Dank der finanziellen Unterstützung durch die mabb derzeit von der Freifunk-Community intensiv modernisiert und ausgebaut wird. Neben den beiden Rathäusern befinden sich darunter auch bereits mehrere Kirchen und Hochschulgebäude.

Über diese Relaisstationen sind die lokalen Kieznetze (Meshwolken) der Freifunkenden untereinander und mit dem Internet verbunden. So ist es möglich, innerhalb der Stadt auch über größere Entfernungen drahtlos untereinander zu kommunizieren, ohne auf Netze der kommerziellen Provider angewiesen zu sein.

Die Zugänge zum Internet werden innerhalb des Netzes dabei sowohl von Privatpersonen geteilt [4] als auch über den Förderverein Netzwerke e.V. und andere Partner bereitgestellt. Besonders der IN-Berlin e.V. und neuerdings auch de Berlin Commercial Internet eXchange (BCIX) e.V. stehen hier tatkräftig mit Know-How und Bandbreite zur Seite.

Aufgrund der vielen positiven Erfahrungen, wie aktuell auch in den Rathäusern Kreuzberg und Neukölln, freut sich die Berliner Freifunk Community darauf, weitere Installationen auf und in anderen öffentlichen und privaten Gebäuden durchzuführen. Freifunk Berlin sucht dazu neben weiteren Standorten auch noch Unterstützerinnen und Unterstützer, die bei der Verwirklichung eines stadtweiten freien Netzes helfen wollen! Weitere Informationen finden sich auf der Website http://freifunk.berlin.

[1] http://wiki.freifunk.net/Berlin:Standorte:Bezirksamt_Kreuzberg

[2] http://www.berlin.de/ba-neukoelln/bvv-online/vo020.asp?VOLFDNR=3790&options=4

[3] http://www.mabb.de/information/wlan/public-wifi.html

[4] https://digitalegesellschaft.de/portfolio-items/storerhaftung-beseitigen/#gesetz

Free Community Networks in Catalonia with Guifi.net

Ramon Roca from Guifi.net talking to ARTE-TV.

Thanks to Elektra for the translation.

Gurb in Spain
1002 km to Brussels

Ramon: The NSA scandal almost makes us laugh I have founded Guifi.net so we can build broadband internet access ourselves.

Voiceover: Here in the middle of the catalan nowhere a digital revolution started 10 years ago.

Ramon and his neighbors have build their own broadband internet because the big commercial providers had no interest in providing access to the village and its vicinity. Today, Guifi.net is one of the greatest altenative networks in the world.

Ramon: I want to show you where the cables merge together. Right here. This rack is the equivalent of a telephone switchboard in a village. It is a bit dirty because this shag actually belongs to my garden. What it can do is impressing. I can't say it precisely, but these are the routers of 5000 households.

Overdub: In a Freifunk-Network the participants are networking among each other and not via Internet providers. They can directly share data with each other, chat, write e-mails. A decentralized network that the users control themselves.
Thereby their data is secured from access by third parties. Meanwhile, the Internet-Guerilla are able to roll out their own fiberline network. Today, Ramons colleagues are working since 3 AM. We all know that the government operates slowly.
We can't wait until laws are solving all our problems.

In our case this also comfortable for us: With regards to communication, we can do or not do whatever we like.

Freifunk Wireless Community Weekend 2014 at c-base Berlin, May 30 - June 1

Community mesh networkers from around the world are meeting in May 2014 at the c-base in Berlin.

There are Pre-Meetings May 28 and 29, the „official program“ starts 30th and last until June 1st. In fact the final version of the agenda will be created by attendents on-site. If you add your idea or wish to our wiki upfront, we can take care of your talk or workshop. Hacks sessions are taking place over the whole weekend.

This year we focus on topics like crypto, IPv6 and new services, but also like always latest firmware, new installation setups and last not least legal and political update plus public relations. Following the tradition we'll have barbecue in the evening hours at Spree beach and we don’t charge entry fee. For more information and taking part, please click here: Wireless_Community_Weekend_2014

when

  • 30 May till 1 June 2014 at c-base berlin

where

inside locations

  • main hall
  • c-base beachpark

Netengine Google Sumer of Code Project

Hi everyone, I'm Alessandro Bucciarelli and I am participating for the first time to Google Summer of Code.
I chose to apply to work on Netengine, a project by Freifunk/Ninux. Netengine is a Python abstraction layer thought to retrieve informations about network configurations, and not only, from multiple couples of network protocols/device firmware.

Actually the main network protocols we are working on are: SNMP, SSH; with HTTP which is an idea for the immediate future.
By the firmware side there are AirOS and OpenWRT which are the most used firmwares among network devices (antennas and other) deployed inside the Ninux network.

Many of the readers, if experienced in the network field, will agree with me in saying that the retrieval of network informations (e.g IP addresses of the interface/s, MAC addresses, routing configurations) is vital.

This aspect is more than vital when you are interacting with remote devices, geographically widespread and sometimes accessible by only unskilled persons, to have a timely diagnostics of the  deployed hardware.

The module we are developing tries to solve, and I am sure it will be so, the problem of having informations from the devices REMOTELY, without any kind of further configurations and without any kind of physical interaction with the device.

For further details and code please visit https://github.com/ninuxorg/netengine or email us at ninux-dev@ml.ninux.org

Your API file in only 6 steps

  1. Call up http://freifunk.net/api-generator/ 
  2. Fill in the information about your community in the form and press "OK - generate...". Mandatory fields are marked with an asterisk. The more information you enter, the better. 
  3. Your results will be displayed on the right hand side. If information is missing or fields are incorrectly filled, you will see it marked under the text box. Fill in or correct the information and generate the API file again.
  4. Save the content of the text box to a text file on your computer or press the download button. This puts a file with an encrypted file name in the default download directory of your browser. Unfortunately we cannot change that for technical reasons. 
  5. Upload the file created under point 4. to the Internet on to your Web space, in your content management system or our freifunk wiki. You will need a link to that file.
  6. The link must be added to the API directory. If you trust yourself, create a pull request, or you can send the link via contact form. If you chose the later, select "question about the API" as subject.

Please note: If you want to update, download or edit your API file, you can choose to do so after the entering the API directory, in the drop-down menu on the top right. The file must however be resaved or downloaded and uploaded to the Web server again.  

Please also use the possibilities to update information such as the number of nodes or services automatically and regularly. Gluon developers have written an examplary script, and there is a solution for OLSR-based networks on Github

You can find background information on the API in the blog and on freifunk.net.  

The most recent changes are summarized here.

Translation by Karin Kuschel.

In 6 Schritten zum API-File

  1. Ruf http://freifunk.net/api-generator/ auf
  2. Trag die Informationen zu deiner Community in das Formular ein und drücke auf "OK - generate...". Pflichtfelder sind mit einem Stern gekennzeichnet. Je mehr Informationen eingetragen werden, umso besser.
  3. Auf der rechten Seite werden dir die Ergebnisse angezeigt. Falls Informationen fehlen oder Felder falsch befüllt sind, steht es dort unter dem Textfeld. Ergänze oder berichtige die Informationen und generiere das API-File erneut
  4. Speicher die Inhalte des Textfeldes in einer Textdatei auf deinem Rechner oder drücke auf den Download-Button. Diese legt eine Datei mit kryptischem Dateinamen im Standarddownloadverzeichnis deines Browsers ab. Aus technischen Gründen lässt sich das leider nicht ändern.
  5. Lade die unter 4. erstellte Datei hoch ins Internet auf einen Webspace, in euer Content Managementsystem oder in das Freifunk-Wiki. Als Ergebnis benötigst du einen Link zu der Datei, der aus dem Internet erreichbar ist
  6. Der Link muss noch in das API-Directory eingetragen werden. Wenn du es dir selbst zutraust erstelle einen Pull-Request, ansonsten schickst du den Link über das Kontaktformular an uns und wählst als Betreff 'Frage zur API'
Hinweis: Wenn du dein API-File aktualisieren willst, kannst du es nach dem Eintrag ins API-Directory im Auswahlmenü oben rechts auswählen, laden und bearbeiten. Danach muss die Datei allerdings erneut gespeichert oder heruntergeladen und auf den Webserver hochgeladen werden.
 
Nutz bitte auch die Möglichkeiten, Informationen wie die Anzahl der Knoten oder Dienste automatisch und regelmäßig zu aktualisieren. Die Gluon-Entwickler haben ein Beispiel dafür ein Script geschrieben und für OLSR-basierte Netzwerke gibt es eine Lösung bei Github.

Hintergründe zur API findest du im Blog und auf freifunk.net.

Die letzten Änderungen sind hier zusammengefasst.

Syndicate content