# 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 - ifup/down doesn't set link status? - CSS: blank space at top - display DHCP lease status of WAN port - modify DHCP lease settings for ethernet LAN - enable/disable hotplug in interfaces when method changes # Then - 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?