OpenWrt team announces OpenWrt Kamikaze 808 Release with Luci Interface

The OpenWrt team (Cph) has announced a new version of its Linux distribution for embedded wireless devices named "OpenWrt Kamikaze 808 Release". I talked to Felix Fietkau already at the WCW. Unfortunately we did not have the time to do an interview at the end. But Cyrus from freifunk Halle gave a short showcase of his interface (in German). The OpenWrt team was also impressed by it and they now announce the enclosure of the Luci interface officially. Congratulations Cyrus!

It has been quite a while since OpenWrt had a new Kamikaze release. The developer team has decided that it is time to get things straight and focus on a new release. This release have the official name: OpenWrt Kamikaze 808 Release.

The schedule will look like this:
*Last day in July – final release candidate: 808 RC-1 808 RC-1 will be a feature freeze, and all changes after this point will be bug fixes.
*Last day in August – final release: OpenWrt Kamikaze 808 Release.

OpenWrt Kamikaze 808 Release will focus on bringing the following:
– Firewall rewrite
– Broadcom 47xx running reliably with the new Kernel, not including wifi
– IMQ and Traffic shaping tested with newer kernels, especially 2.6.25
– Sysupgrade for more platforms (x86 is tested again)
– The new web interface (LuCI, Lua Configuration Interface)
– Attention towards the integration of security updates
– Package maintaining and updates between releases
– Testing, testing and lots of testing…

The 808 Release will also include support for several new platforms/targets. (http://forum.openwrt.org/viewtopic.php?pid=69873 )

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: