It is ironic that the LuCI team decided to make an announcement regarding their 
project today.  I have also been working on a new (open source) web interface 
for Kamikaze called Gargoyle, and am now releasing the first beta version, 
which can be found at gargoyle-router.com.  The decision to release now was 
made completely independently of this announcement, and was made some time ago 
based on the progress of the project.  It is just a coincidence that these 
announcements come on the same day.

Right up front I want to emphasize that Gargoyle is, like both LuCI and X-Wrt a 
front-end for OpenWrt and NOT a fork.  It can be installed as a set of packages 
on top of a default installation of Kamikaze 7.09, as well as via firmware 
images.  Currently it is designed to run on top of Kamikaze 7.09 and not the 
trunk, but as soon as another stable version is released it will be engineered 
to run on top of that. However, several features included in the current trunk 
have been incorporated (e.g. the new UCI) and are installed as packages on top 
of the default Kamikaze release.  I have chosen to incorporate the features 
this way so that the interface could be built around a stable version vs. the 
ever-changing trunk.

Gargoyle takes a very different philosophical approach to interface design than 
X-Wrt or what I've seen of the new LuCI. Both X-Wrt and LuCI seem to be 
designed with the goal of providing the absolute maximum functionality 
possible.  However, this often comes at the expense of making the interface 
more difficult to use, and can turn off novice users.  There seems to be a 
belief that open-source software should be designed for power-users, without 
much thought to those with  less expertise.  Currently all router web 
interfaces that place a strong emphasis on ease-of-use are proprietary (their 
licenses do not permit redistribution of modified versions of their code 
without the author's permission).  

Gargoyle aims to be the first open-source web interface that places a strong 
emphasis on usability, and aimed at less experienced users.  Because Gargoyle 
runs on top of OpenWrt, a more experienced user can also configure extra 
functionality relatively easily.

Gargoyle includes a custom bandwidth monitoring package, a customized version 
of minihttpd , a new package for performing dynamic dns updates (similar to the 
ddns-scripts package which I submitted a few months ago, but written in C to be 
faster and linked to MatrixSSL to allow updates via https) and a custom set of 
QoS scripts (I found the current default OpenWrt implementation a bit 
convoluted).

The modified web server does not, however, provide any of the interface code -- 
it's mostly modified to allow password protecting the interface more 
appropriately.  The backend of the interface uses haserl, like X-wrt, but does 
not rely heavily on these shell-scripts.  The interface is mostly javascript, 
which makes the interface feel faster than if it relied heavily on server-side 
scripts.

Gargoyle is an open-source project and contributions are very, very welcome.  I 
am releasing it under the terms of the GPL v2.0, with an 
exception/clarification that states that it may be modified to configure 
proprietary back-end software so long as all portions of the web interface are 
released under the terms of the GPL.  See the FAQ 
(gargoyle-router.com/faq.html#qfoss) for more details.

It is likely that the other web interface project(s) may benefit from some of 
the components that I've created, and also very likely that Gargoyle could 
benefit from some components of other open-source interfaces.  I would be happy 
to share knowledge/code/ideas with other projects, even though the 
goals/philosophy of the projects may differ -- please contact me if interested. 
 

More information / documentation is available at gargoyle-router.com for those 
interested.

Eric



_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
http://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to