This page is here to serve as the ‘view’ part of the official contest submission rules.
Note: I haven’t completed the full user documentation for PyCI yet but I think the docs are turning out well (so far). The API docs are complete but I will be going back through all the docstrings to make the formatting better (and maybe clarify some texts).
There are a few special features of PyCI I want to point out before you proceed to rip it apart =)
There are some things you should know...
To build my OpenWRT firmware you need to perform the following:
To build an embedded/compressed version of PyCI using the build.sh script you have to change some variables at the top to point to the correct filepaths on your system. There’s a big TODO in there that says, “Port this to Python and use a Makefile” =). It requires the following be installed somewhere:
Note: The build.sh script will automatically build the ipk using your openwrt source directory. It also updates the Packages.gz file with the latest md5sums and whatnot.
Here’s the meat and potatoes. Note that all these screenshots were taken from PyCI running on an actual RouterStation.
I left out the “boring” stuff... Things like the raw text edit interfaces are all the same (for the most part).
PyCI Reboot Interface (Initiate): ________________________________-
PyCI Reboot Interface (After Reboot): ____________________________________-
PyCI Quagga Configuration (those lines are drag n’ drop enabled): ________________________________________________________________-
Note: I couldn’t get Coova Chilli to start up properly on OpenWRT. The ipkg is missing an init script. If it was running I’d have a screenshot showing how you can authorize or logout a user via the status tab.
Pretty basic, I know... But that’s how I like it.
PyCI SSH Server (dropbear) Configuration: ________________________________________-
PyCI ntpclient Configuration: ____________________________-
PyCI snmpd Configuration: ________________________-
Note: I wrote this to configure the regular snmpd package but I later decided that mini_snmpd was probably better... But I never got around to adding the complete interface for that. Thus; we have an interface for a package that isn’t installed in my firmware (easily correctable later).
Note: The iptables command is clearly displayed. The user can also click on the “See the iptables command” button to get an easy copy/paste pop-up dialog.