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:

Rundfreifunk Sendung 52 über Freifunk in Weimar

Sendung 52 von Rundfreifunk hat Bastian Bittorf von Freifunk Weimar zu Gast.

Archivseite: http://www.public-ip.org/sendung-239.html
Download: http://www.public-ip.org/tracks/rundfreifunk/1188.mp3

Foto: Mesh Node im Auto, http://flickr.com/photos/8479197@N05/514712322/ Basti von Freifunk Weimar steht uns für Tratsch und Klatsch über
Neuigkeiten aus Weimar zur Verfügung. Besonders interessieren uns die
neuen Features der Weimarer Freifunk-Firmware und die Auswirkungen
einiger Fehler.Die Weimarer Firmware wird ähnlich der Leipziger
Variante entwickelt: ein "trac"-system mit integriertem subversion
(svn) System sorgt für Ordnung bei den verschiedenen Programmierern. Wo in Leipzig in "stable", "testing" und "brunch" unterschieden wird,
heisst das in Weimar dann "stabil", "mutig" und "avantgarde". Automatische Updatefunktionen sorgen in Weimar zwar für aktuelle
Firmware auf allen Routern/ Antennen. Aber, sind das wirklich alle oder
sind schon ein paar weggefallen? Genaue Zahlen und weitere Infos erwarten Euch in diesem Langzeit-Interview..