LuCI - OpenWrt Configuration Interface
Due to a huge number of fixes and diverging development histories, I decided to completely merge the current LuCI master into the 18.06 release branch to have a common code base for upcoming maintenance releases. Some LuCI apps have minor style glitches yet but I do not deem them to be release critical as non-default components need to be opkg-installed anyway and the package repositories are continuously refreshed, so we do not need to fix everything for OpenWrt 18.06.0-rc2. The most important changes introduced by this merge are: 1) New HTTP handling library in C The new library should vastly reduce the required RAM for processing large POST bodies while implementing some slightly more strict parsing logic. 2) Apply/Rollback workflow The ubus rpcd based apply/rollback handling will automatically revert config changes if access to the device is lost for a certain period of time, this is mainly intended for preventing issues with bad config settings and the like. The feature is not 100% error-proof yet but it successfully prevents a large number of issues already. For final, the handling of the firewall conntrack cache needs to be fixed yet as adding "lockout" firewall rules is not yet catched due to the open HTTP session allowed by netfilter conntrack 3) Template markup and theme style modifications A large number of changes have been made to the markup in the various templates, mainly to allow for responsive styling of tables. The only theme currently making full use of that is the non-default OpenWrt theme which will break table rows into disjunct boxes on very narrow screens. The changes have been tested on IE 11, MS Edge, Firefox, Chrome, an iPhone 5s, iPhone 6 and iPad Air. 4) Initial LuCI support for displaying virtual dynamic network interfaces Some protocol handlers will spawn purely dynamic sub-interfaces which are not present in UCI. Such interfaces have been invisible in LuCI so far which caused confusion especialy wrt. missing IP addresses etc. LuCI will now display such dynamic interfaces on the interface overview. 5) Initial LuCI support for display interface runtime error information LuCI will now expose interface error information stored in the ubus runtime information by protocol handlers. This is mainly useful to get notified of low level problems like bad SIM codes are missing APN information. 6) Various XSS and CSRF bypass fixes A number of code places performing inadequate markup escaping have been fixed and the dispatcher CSRF token enforcement rules have been reworked to actually catch all POST security cases. 7) Initial support for running under nginx Various bugs have been fixed to allow LuCI to function under nginx using a FastCGI wrapper. Signed-off-by: Jo-Philipp Wich <jo@mein.io> |
||
---|---|---|
applications | ||
build | ||
collections | ||
contrib/package | ||
documentation | ||
libs | ||
modules | ||
protocols | ||
themes | ||
.buildpath | ||
.cproject | ||
.gitignore | ||
.project | ||
CONTRIBUTING.md | ||
LICENSE | ||
luci.mk | ||
NOTICE | ||
README.md | ||
THANKYOU |
OpenWrt luci feed
Description
This is the OpenWrt "luci"-feed containing LuCI - OpenWrt Configuration Interface.
Usage
This feed is enabled by default. Your feeds.conf.default (or feeds.conf) should contain a line like:
src-git luci https://github.com/openwrt/luci.git
To install all its package definitions, run:
./scripts/feeds update luci
./scripts/feeds install -a -p luci
API Reference
You can browse the generated API documentation directly on Github.
Development
Documentation for developing and extending LuCI can be found in the Wiki
License
See LICENSE file.
Package Guidelines
See CONTRIBUTING.md file.