aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
blob: 012684a0a5c995a3e0326a8ca2e626e534b0c3c9 (plain)
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

# The Plan for Now

- 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

# Later

- dhcp configuration
- enable/disable hotplug in interfaces when method changes
- flesh out README
- installation script
- debian packaging
- admin authentication scheme
- not-root permissions scheme for: interfaces, tor, wireless, ssh keys
- firewall configuration
    port forwarding
    enable remote login
- historical bandwidth etc charts with mrtg
- realtime charts with http://www.flotcharts.org/ or similar
- i18n: http://packages.python.org/Flask-Babel/
- OONI
- only listen on local ethernet interface (enforce with firewall?)