# The Plan - imitate Tomato firmware style/layout - flask python web framework - bootstrap with a non-standard color scheme - modularize configuration "nuggets"; compare and apply changes all or none - write nugget getters/setters - use kernel/commands to fetch status info - persist configuration changes to disk using python-augeas - in some cases execute changes without restart? - monitoring dmesg, syslog, auth ps aux - front page status uptime current cpu, disk, ram utilization upstream: dhcp ip equivalent last login (?) - about uname software versions project links - administration hostname (?) ssh access, keys autocron updates - WAN network static: ip, mask, gateway dhcp: nothing DNS servers - LAN network dhcp: address block, lease length - wireless enabled, transmit power, channel, SSID, wpa2 password torification - tor generic status enable relay enable bridge common configuration # Soon - resolve super-slow status lookup problem. err? note: dreamplug is Python 2.7.3rc2 - ifup/down doesn't set link status? - lan/wan eth0/eth1 mixup - use uaputl (not iw) for wireless stuff if a uap device - hostname, iw, nl80211 dependancies (?) - remove hostname -f stuff (sigh) - CSS: blank space at top - timeout on popen? wlan0 issue. - port and ip as args - uap0 as default (?) - add setuptools (python-setuptools) dependancy - init.d script - display DHCP lease status of WAN port - modify DHCP lease settings for ethernet LAN - enable/disable hotplug in interfaces when method changes # Then - debian packaging http://pypi.python.org/pypi/stdeb http://stackoverflow.com/questions/909138/how-do-i-add-an-init-d-script-into-a-deb?rq=1 - admin authentication scheme - only listen on local ethernet interface (enforce with firewall?) - not-root permissions scheme for: interfaces, tor, wireless, ssh keys # Later - firewall configuration port forwarding enable remote login - i18n: http://packages.python.org/Flask-Babel/ - OONI - historical bandwidth etc charts with mrtg - realtime charts with http://www.flotcharts.org/ or similar - switch to pylens instead of python-augeas?