aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: 9e5d5bf02eaf2deef6998ad7b5e02f3d8d5ff33f (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

   _____ _   _ ___     _____                     _              _   _ ___ 
  |_   _| | | |_ _|_  |_   _|__  _ __ ___  _   _| |_ ___ _ __  | | | |_ _|
    | | | | | || |(_)   | |/ _ \| '__/ _ \| | | | __/ _ \ '__| | | | || | 
    | | | |_| || | _    | | (_) | | | (_) | |_| | ||  __/ |    | |_| || | 
    |_|  \___/|___(_)   |_|\___/|_|  \___/ \__,_|\__\___|_|     \___/|___|

                                                 a part of the torouter project
                     https://trac.torproject.org/projects/tor/wiki/doc/Torouter


This is a simple/minimalist web interface for torouters, allowing owners/users
to configure a basic "home router"-style network and enable Tor onion-routed
services and daemons. It is writen in python.

! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 
Achtung! Warning! This firmware is very experimental and has obvious known
holes, like default root passwords available over SSH! Read the disclaimer
(./torouter/templates/about.html)! You have been warned!
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 

### Features

- integrates elegantly with conventional Linux configuration files
- no javascript, just HTML5 and CSS
- no cookies, sessions, or server-side state
- compatible with lynx

### Dependencies

- Augueas config file editing library, plus python bindings.
- The Flask lightweight pythonic web framework
- basic UNIX utilities: top, uptime, hostname, etc
- ifupdown
- iproute2: supplies the 'ip' command
- procfs
- iw

The bundled CSS and image files are Twitter Bootstrap.

### Development

To resolve dependencies on debian-based systems (wheezy or newer?):

    $ sudo apt-get install python-flask python-augeas ifupdown iw

You can run try running the UI on any old Linux machine, just don't submit any
forms unless you want your network configuration clobbered:

    $ ./runserver.py --debug

### Install

You probably want to either install a .deb package or do some virtualenv
tomfoolery, but if not, you can install system-wide:

    $ sudo ./setup.py install

To build a one-off debian package, install ``python-stdeb`` and then run:

    $ dpkg-buildpackage

Packages and associated cruft will end up in the parent directory (outside the
torouterui repository checkout).