FFLuCI the Next Generation Lua web interface für OpenWRT von Steven Cyrus Barth

Steven Cyrus Barth im Gespräch mit Bastian Bittorf über das Freifunk-Luci-Interface für OpenWRT.



Luci-Interface für OpenWRT von Steven Cyrus Barth from Mario Behling on Vimeo.

Some more info in English: FFLuCI is a Lua MVC-Framework for Freifunk with templating support. There are
working configuration pages for many system, network, services and wifi settings. Please visit http://luci.freifunk-halle.net for an overview of functions, screenshots, tutorials, SVN URL and snapshot images for Atheros and Broadcom.

Steven Cyrus started to develop Luci because he was not satisfied projects like XWRT implemented things. He had a look at the X-WRT Lua files in their repository first, but what was missing was a clear abstraction layer and templating support so I decided to build everything from scratch. According to Cyrus – X-WRT has a very nice UI written in shell code but there are only limited capabilities of this scripting language and so "it is time
to bring this thing to the next level using OOP and such nifty stuff."

Luci already has a number of working configuration pages. There are more – or in a few cases less – working configuration pages in (for now) German titles and descriptions for the:

  • Ethernet Switch
  • Ethernet Interfaces
  • DHCP-Server
  • PPPoE/PPTP
  • Static Routes
  • Portforwarding
  • Firewall
  • QoS
  • Wifi Devices
  • Wifi Networks
  • OLSR + Plugins
  • FFLuci itself
  • Package Management
  • Root Password and SSH-Public Keys
  • Mount Points for external drives
  • HTTP-Server
  • SSH-Server
  • Dnsmasq

Also there are a few public status pages for basic system information, WLAN-Scan, Contact data and OLSR a bit like those in the Freifunk Firmware. Have a look at the screenshots here: http://firmware.freifunk-halle.net/ffluci/screenshots

Configuration Bind Interface (CBI):
You just describe the data model of the UCI file and Luci does the rest for you: It will create the HTML-form, parse and validate the user input and write the configuration data to UCI. So no need to redo all these things on every configuration page again and again. It also supports basic field dependencies, dynamic validation functions, section creation, deletion and more. See an example here: http://wiki.freifunk-halle.net/Luci:WritingModules#CBI_models

Privilege dropping:
To avoid remote exploits (like those in older versions of the Freifunk Firmware) FFLuCI will set the UID/GID of pages running in the main public non-protected section to nobody/nogroup. There are many things left to do like porting over dhcpsplash, accounting, statistics and more to Kamikaze. Contributors are welcome.

Links:

Locations Based Services in Free Wireless Networks: MagicMap – Kooperative Positionsbestimmung mit Hilfe von WLAN

Eine Idee, die auch in freien Netzen genutzt werden kann: Bereits 2004 haben
Peter K. Ibach, Tobias Hübner und Martin Schweigert
von der HU Berlin auf dem Chaos Communication Congress 2004 ein Paper über kooperative Positionsbestimmung mit Hilfe von WLAN veröffentlicht. Auf dem Gründerkongress in Berlin stellten die Entwickler die neueste Version der Software vor, die aus dieser Idee entstanden ist: MagicMap

magicmapMit Hilfe der "Karte des Rumtreibers" konnte Harry Potter die Positionen aller Personen in und um Schloss Hogwarts überblicken. Wir haben eine solche "magische Karte" zur Positionsbestimmung mobiler Systeme basierend auf WLAN-Signalstärke-Auswertung entwickelt. MagicMap ist eine reine Softwarelösung, die bei den mobilen Systemen außer einer konventionellen WLAN-Ausstattung keine weitere Hardware erfordert. Die WLAN Access Points können beliebig verteilt sein und es sind weder Eingriffe an der AP-Hardware noch an der Software nötig. Unsere Versuche am Uni-Campus Berlin-Adlershof zeigen in typischen Büroumgebungen eine Positionierungsgenauigkeit im einstelligen Meter-Bereich. Die eigene Sichtbarkeit unterliegt dabei der vollen Kontrolle der Peer-Knoten, die den Zugriff auf ihre Positionsinformation individuell festlegen können. Die Software steht zum freien Download zur Verfügung und kann für Experimente oder Anwendungen genutzt werden. (1. Mai 2008, http://www2.informatik.hu-berlin.de/rok/MagicMap/)

Das Projekt wird am Lehrstuhl Rechnerorganisation und Kommunikation des Instituts für Informatik der Humboldt-Universität zu Berlin umgesetzt. Die Software steht unter der GNU General Public License (GPL) und ist bei Sourceforge für Windows und Linux verfügbar. Das Wiki mit vielen weiteren Infos ist hier: http://wiki.informatik.hu-berlin.de/nomads/index.php/MagicMap

Mit der Idee lassen sich Locations Based Services umsetzen. Auch in Räumen, wo die Positionsbestimmung von Personen und Gegenständen sinnvoll ist, kann die Software hilfreich sein, z.B. in Kraftwerken, auf Schiffen oder möglicherweise auf einer Mondbasis :-).

Stallman an die Free-Software- und Freifunker-Community – Freiheit schätzen lehren!

Am Montag gab es in Berlin einen Vortrag von Richard Stallman, Gründer der Free Software Foundation (FSF), über die Philosophie und Geschichte der Freien Software. Natürlich waren viele Freifunker anwesend. Ursprünglich wollten wir die Rede ins Freifunk-Netz streamen. Aufgrund der Änderung des Veranstaltungsortes fiel das leider ins Wasser. Mich hat der Vortrag bestärkt in der Ansicht, dass wir auch in der Freifunk-Community noch mehr an der Verbreitung der Idee der Freiheit arbeiten müssen und es nicht zuerst um die Installation freier Software geht – in der Art "das andere (gemeint der Freiheitsgedanken) kommt dann schon mit der Zeit". Stallman dazu: "Heute gibt es mehr als eine Million
Mitwirkende an Freier Software. … Aber es gibt keine Millionen Menschen, die die Leute
lehren, ihre Freiheit zu schätzen, insbesondere die Freiheit in
einer Gemeinschaft zu kooperieren."

Richard Stallman with Matthias Kirschner and Markus Beckedahl in Berlin, February 2008
Richard Stallman with Matthias Kirschner (FSFE) and Markus Beckedahl (netzpolitik.org)
Berlin, February 2008
(Foto: Mario Behling, CC-By-SA)

Viele Leute schlagen eine Zwei-Phasen-Lösung vor. Sie sagen:
"zuerst bringen wir den Leuten bei, Freie Software zu nutzen, und
dann, wenn sie sie nutzen, dann werden wir sie lehren, diese
Freiheit zu schätzen." Nun, diese Strategie könnte funktionieren, wenn sie richtig
versucht würde, aber wenn Leute dies vorschlagen, dann arbeiten
sie fast immer an Phase 1. Tatsächlich bemerke ich, dass diese
Zwei-Phasen-Lösung eigentlich eine Ausrede dafür ist, an Phase
eins zu arbeiten und Phase 2 zu ignorieren. Phase 2 ist das,
woran ich arbeite. Und wenn Sie wirklich an eine
Zwei-Phasen-Lösung glauben, dann schließen Sie sich mir an, um an
Phase 2 zu arbeiten, denn das Problem ist, dass sich so viele in
unserer Gemeinschaft auf Phase 1 konzentrieren. Und ein großer Teil unserer Gemeinschaft redet über praktische Vorteile,
während er Freiheit ignoriert. Und inzwischen, wenn Sie jetzt
anfangen, das GNU/Linux System zu benutzen, kann es sein, dass
Sie für Jahre niemanden über Freiheit reden hören. Anders
ausgedrückt: Unsere Gemeinschaft hat nicht gerade damit begonnen,
die Ziele der Freiheit aus den Augen zu verlieren, sie hat sie
bereits vollständig vergessen. Mit dem Resultat, dass es nun ein
Kampf ist, unsere eigene Gemeinschaft über die Freiheit
aufzuklären, die der Grund dafür war, diese Gemeinschaft zu
bilden. Von allen Betriebssystemen in der Geschichte wurden alle außer
einem aus kommerziellen oder technischen Gründen entwickelt. GNU
wurde um der Freiheit willen entwickelt. Die Nutzer müssen das
wissen. Und ich möchte Sie bitten, dabei zu helfen, ihnen das zu
vermitteln. Deshalb widme ich mich nun der Verbreitung dieser
Ideen von Freiheit. Heute gibt es mehr als eine Million
Mitwirkende an Freier Software. Die Gemeinschaft braucht mich
jetzt nicht mehr so sehr als Programmierer, und nebenbei werde
ich älter und kann es wahrscheinlich nicht mehr so gut wie
früher. Aber es gibt keine Millionen Leute, die die Leute
lehren, ihre Freiheit zu schätzen, insbesondere die Freiheit in
einer Gemeinschaft zu kooperieren. In diesem Bereich brauchen
wir dringend mehr Leute. (www.germany.fsfeurope.org/documents/rms…)

Members of the Free Software and Freifunk Community in Berlin, February 2008
Members of the Free Software and Freifunk Community in Berlin, February 2008
(Foto: Mario Behling, CC-By-SA)