aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
blob: 6b3d619843fdd310f1c41614a0f3a82b8053d65f (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
63
64
65
66
67
68
69
70
71
72

# 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
    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?