1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# 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
- flesh out README
- installation 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
- 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
|