ubus is a way for the different processes in openwrt to talk to each other.
ubus has an http interface with access limited by a set of ACLs:
http://wiki.openwrt.org/doc/techref/ubus#access_to_ubus_over_httpluci2 on the backend is simply a set of extensions to ubus that are then accessed via the ubus http interface.
ubus, the ubus http interface and the luci2 ubus extensions all look good to me.
The luci2 web app looks and feels great. Unfortunately the javascript is not so great. In my opinion it's way too complicated for what it is.
I've decided to ditch the luci2 client side stuff and use only the server side luci2 code. I'll write a very minimal javascript library for accessing ubus functions.
# Progress
I started putting together a simple web app based on EFFs Open Wireless router admin interface. It will have a testing mode where a node.js app simulates a router on the backend to enable web developers to more easily contribute.
# Trying luci2
To get it working, copy the ipk to the node and do:
opkg update
opkg install rpcd rpcd-mod-iwinfo uhttpd uhttpd-mod-ubus
opkg install luci2_2015-01-25_atheros.ipk
ln -s ../init.d/rpcd S80rpcd
(reboot the router)
It may complain about a missing function in the post-install script. Never mind that.
Now access:
marc/juul