aboutsummaryrefslogtreecommitdiffstats
path: root/packages/torouter-web/tui
diff options
context:
space:
mode:
authorJacob Appelbaum <jacob@appelbaum.net>2011-08-17 18:03:43 +0200
committerJacob Appelbaum <jacob@appelbaum.net>2011-08-17 18:03:43 +0200
commitbb4a0df747092bdc0fac0baa0658bf1d314a9de8 (patch)
tree7c41a9eb66549ad17c0e7e4c06cae19c1ac54916 /packages/torouter-web/tui
parent24b92ab9b034d6c957631a034a717ba41809a335 (diff)
downloadtorouter-bb4a0df747092bdc0fac0baa0658bf1d314a9de8.tar.gz
torouter-bb4a0df747092bdc0fac0baa0658bf1d314a9de8.zip
Move source into src dir
Diffstat (limited to 'packages/torouter-web/tui')
-rw-r--r--packages/torouter-web/tui/__init__.py0
-rw-r--r--packages/torouter-web/tui/controllers/__init__.py0
-rw-r--r--packages/torouter-web/tui/controllers/main.py26
-rw-r--r--packages/torouter-web/tui/controllers/network.py129
-rw-r--r--packages/torouter-web/tui/controllers/old/main.py11
-rw-r--r--packages/torouter-web/tui/controllers/old/status.py9
-rw-r--r--packages/torouter-web/tui/controllers/old/wizard.py81
-rw-r--r--packages/torouter-web/tui/controllers/tor.py29
-rw-r--r--packages/torouter-web/tui/models/router_config.py19
-rw-r--r--packages/torouter-web/tui/utils/__init__.py0
-rw-r--r--packages/torouter-web/tui/utils/configuration.py85
-rw-r--r--packages/torouter-web/tui/utils/parsing.py83
-rw-r--r--packages/torouter-web/tui/utils/session.py26
-rw-r--r--packages/torouter-web/tui/views/base.html30
-rw-r--r--packages/torouter-web/tui/views/firewall.html7
-rw-r--r--packages/torouter-web/tui/views/index.html1
-rw-r--r--packages/torouter-web/tui/views/login.html7
-rw-r--r--packages/torouter-web/tui/views/logout.html1
-rw-r--r--packages/torouter-web/tui/views/main.html1
-rw-r--r--packages/torouter-web/tui/views/saved.html8
-rw-r--r--packages/torouter-web/tui/views/status.html3
-rw-r--r--packages/torouter-web/tui/views/torconfig.html1
-rw-r--r--packages/torouter-web/tui/views/torstatus.html1
-rw-r--r--packages/torouter-web/tui/views/wired.html7
-rw-r--r--packages/torouter-web/tui/views/wireless.html8
-rw-r--r--packages/torouter-web/tui/views/wizard.html12
26 files changed, 0 insertions, 585 deletions
diff --git a/packages/torouter-web/tui/__init__.py b/packages/torouter-web/tui/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/packages/torouter-web/tui/__init__.py
+++ /dev/null
diff --git a/packages/torouter-web/tui/controllers/__init__.py b/packages/torouter-web/tui/controllers/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/packages/torouter-web/tui/controllers/__init__.py
+++ /dev/null
diff --git a/packages/torouter-web/tui/controllers/main.py b/packages/torouter-web/tui/controllers/main.py
deleted file mode 100644
index 060caa6..0000000
--- a/packages/torouter-web/tui/controllers/main.py
+++ /dev/null
@@ -1,26 +0,0 @@
-import web
-import view, config
-from view import render
-from tui.utils import session
-
-"""
-The main page for network configuration
-"""
-class index:
- def GET(self):
- if session.is_logged() > 0:
- return render.base(render.index())
- else:
- return render.base(render.login())
-
- def POST(self):
- if session.check_login(web.input()) == 0:
- return render.base(render.index())
- else:
- return render.base(render.login())
-
-class logout:
- def GET(self):
- session.logout()
- return render.base(render.logout())
-
diff --git a/packages/torouter-web/tui/controllers/network.py b/packages/torouter-web/tui/controllers/network.py
deleted file mode 100644
index d189d0c..0000000
--- a/packages/torouter-web/tui/controllers/network.py
+++ /dev/null
@@ -1,129 +0,0 @@
-import web
-import view, config
-from view import render
-from tui.utils import session,configuration,parsing
-
-"""
-This function is used to generate the network
-submenus.
-"""
-def menu(n):
- a = []
- for i in range(0,5):
- if i == n:
- a.append("sel")
- else:
- a.append("")
- print a
- return """<ul id="submenu">
- <li><a href="/network" class="%s">Main</a></li>
- <li><a href="/network/firewall" class="%s">Firewall</a></li>
- <li><a href="/network/wireless" class="%s">Wireless</a></li>
- <li><a href="/network/wired" class="%s">Wired</a></li>
- <li><a href="/network/status" class="%s">Status</a></li>
-</ul>
-""" % tuple(a)
-
-"""
-The main page for network configuration
-"""
-class main:
- # XXX do all the backend stuff
- def update_config(self, data):
- return True
-
- def GET(self):
- if session.is_logged() > 0:
- return render.base(render.main(),menu(0))
- else:
- return render.base(render.login())
-
- def POST(self):
- if session.is_logged() > 0:
- self.update_config(web.input())
- return render.base(render.main(),menu(0))
- else:
- return render.base(render.login())
-
-"""
-The firewall configuration page
-"""
-class firewall:
- # XXX do all the backend stuff
- def update_config(self, data):
- return True
-
- def GET(self):
- if session.is_logged() > 0:
- return render.base(render.firewall(configuration.get_form("firewall")),menu(0))
- else:
- return render.base(render.login())
-
- def POST(self):
- if session.is_logged() > 0:
- self.update_config(web.input())
- return render.base(render.firewall(),menu(1))
- else:
- return render.base(render.login())
-
-
-
-"""
-Wireless network configuration page
-"""
-class wireless:
- # XXX do all the backend stuff
- def update_config(self, data):
- return True
-
- def GET(self):
- if session.is_logged() > 0:
- return render.base(render.wireless(configuration.get_form("wireless")),menu(2))
- else:
- return render.base(render.login())
-
- def POST(self):
- if session.is_logged() > 0:
- self.update_config(web.input())
- print web.input()
- return render.base(render.saved(web.input()),menu(2))
- else:
- return render.base(render.login())
-
-"""
-Wired network configuration page
-"""
-class wired:
- # XXX do all the backend stuff
- def update_config(self, data):
- return True
-
- def GET(self):
- if session.is_logged() > 0:
- return render.base(render.wired(configuration.get_form("wired")),menu(3))
- else:
- return render.base(render.login())
-
- def POST(self):
- if session.is_logged() > 0:
- self.update_config(web.input())
- return render.base(render.wired(),menu(3))
- else:
- return render.base(render.login())
-
-"""
-General status page, displays a bit more detail than main
-"""
-class status:
- def GET(self):
- itfc = parsing.interfaces(config.interfaces_file)
- itfc.parse()
- network = itfc.html_output(itfc.wifi) + itfc.html_output(itfc.eth0) + itfc.html_output(itfc.eth1)
- return render.base(render.status(network),menu(4))
-
- def POST(self):
- itfc = parsing.interfaces(config.interfaces_file)
- itfc.parse()
- network = itfc.html_output(itfc.wifi) + itfc.html_output(itfc.eth0) + itfc.html_output(itfc.eth1)
- return render.base(render.status(),menu(4))
-
diff --git a/packages/torouter-web/tui/controllers/old/main.py b/packages/torouter-web/tui/controllers/old/main.py
deleted file mode 100644
index 9127e72..0000000
--- a/packages/torouter-web/tui/controllers/old/main.py
+++ /dev/null
@@ -1,11 +0,0 @@
-import web
-
-
-class index:
- def GET(self):
- return "index"
-
-class config:
- def GET(self):
- return "config"
-
diff --git a/packages/torouter-web/tui/controllers/old/status.py b/packages/torouter-web/tui/controllers/old/status.py
deleted file mode 100644
index 05f0bf8..0000000
--- a/packages/torouter-web/tui/controllers/old/status.py
+++ /dev/null
@@ -1,9 +0,0 @@
-import web
-import config
-
-from config import views
-from web import form
-
-class status:
- def GET():
- print "status"
diff --git a/packages/torouter-web/tui/controllers/old/wizard.py b/packages/torouter-web/tui/controllers/old/wizard.py
deleted file mode 100644
index 7b82df2..0000000
--- a/packages/torouter-web/tui/controllers/old/wizard.py
+++ /dev/null
@@ -1,81 +0,0 @@
-import web
-
-from web import form
-from config import view
-
-class step:
- cur_step = 1
- next_step = 2
- wiztext = []
- wizform = []
-
- wiztext.append("Tor Configuration")
- wizform.append(form.Form(
- form.Textbox('Nickname',
- form.notnull, description="Relay Nickname"),
- form.Textbox('RelayBandwidthRate',
- form.notnull, description="Relay Bandwidth Rate"),
- form.Textbox('RelayBandwidthBurst',
- form.notnull, description="Relay Bandwidth Burst"),
- form.Textbox('ContactInfo',
- form.notnull, description="Contact Info"),
- form.Textbox('ExitPolicy',
- form.notnull, description="Exit Policy"),
- form.Button('Next Step')
- ))
-
- wiztext.append("Wireless setup")
- wizform.append(form.Form(
- form.Textbox('essid',
- form.notnull, description="Wireless ESSID"),
- form.Textbox('mac',
- form.notnull, description="MAC address"),
- form.Textbox('whatever',
- form.notnull, description="Wireless ESSID"),
- form.Button('Next Step')
- ))
-
- wiztext.append("")
- wizform.append(form.Form(
- form.Textbox('essid',
- form.notnull, description="Wireless ESSID"),
- form.Textbox('mac',
- form.notnull, description="MAC address"),
- form.Textbox('whatever',
- form.notnull, description="Wireless ESSID"),
- form.Button('Next Step')
- ))
-
- wiztext.append("")
- wizform.append(form.Form(
- form.Textbox('essid',
- form.notnull, description="Wireless ESSID"),
- form.Textbox('mac',
- form.notnull, description="MAC address"),
- form.Textbox('whatever',
- form.notnull, description="Wireless ESSID"),
- form.Button('Next Step')
- ))
-
- def GET(self, step):
- if step:
- self.cur_step = int(step)
- self.next_step = int(step) + 1
- else:
- self.cur_step = 1
- self.next_step = 2
- if len(self.wizform) < int(self.cur_step):
- return "Done!"
- return view.wizard(self.wizform[self.cur_step-1], self.wiztext[self.cur_step-1], self.cur_step, self.next_step)
-
- def POST(self, step):
- x = web.input()
- self.cur_step = int(step)
- self.next_step = int(step) + 1
- if len(self.wizform) < int(self.cur_step):
- return "Done!"
- return view.wizard(self.wizform[self.cur_step-1], self.wiztext[self.cur_step-1], self.cur_step, self.next_step)
-
-
-
-
diff --git a/packages/torouter-web/tui/controllers/tor.py b/packages/torouter-web/tui/controllers/tor.py
deleted file mode 100644
index d07cb71..0000000
--- a/packages/torouter-web/tui/controllers/tor.py
+++ /dev/null
@@ -1,29 +0,0 @@
-import web
-import view, config
-from view import render
-from tui.utils import session
-
-"""
-The main Tor status page
-"""
-class status:
- def GET(self):
- return render.base(render.torstatus())
-
- def POST(self):
- return render.base(render.torstatus())
-
-"""
-Tor configuration page
-"""
-class config:
- def update_config(self, data):
- return True
-
- def GET(self):
- return render.base(render.torconfig())
-
- def POST(self):
- self.update_config(web.input())
- return render.base(render.torconfig())
-
diff --git a/packages/torouter-web/tui/models/router_config.py b/packages/torouter-web/tui/models/router_config.py
deleted file mode 100644
index e83f9aa..0000000
--- a/packages/torouter-web/tui/models/router_config.py
+++ /dev/null
@@ -1,19 +0,0 @@
-import web
-from config import db
-
-def new_config(conf):
- db.insert('router_config',
- essid=conf['essid'],
- field1=conf['field1'],
- field2=conf['field2']
- )
-
-
-def write_config():
- db.update('router_config',
- essid=conf['essid'],
- field1=conf['field1'],
- field2=conf['field2']
- )
-
-
diff --git a/packages/torouter-web/tui/utils/__init__.py b/packages/torouter-web/tui/utils/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/packages/torouter-web/tui/utils/__init__.py
+++ /dev/null
diff --git a/packages/torouter-web/tui/utils/configuration.py b/packages/torouter-web/tui/utils/configuration.py
deleted file mode 100644
index 88bbc05..0000000
--- a/packages/torouter-web/tui/utils/configuration.py
+++ /dev/null
@@ -1,85 +0,0 @@
-import web
-import config
-
-def get(name):
- conf = {}
- # XXX The content of these functions are just
- # skeletons
- if name == "wireless":
- conf['essid'] = "Torouter"
- conf['encryption'] = "WPA2"
- conf['key'] = "ljdasjkbcuBH12389Ba"
- return conf
- elif name == "firewall":
- conf['el1'] = "Element 1"
- conf['el2'] = "Element 2"
- conf['el3'] = "Element 3"
- return conf
- elif name == "wired":
- conf['el1'] = "Element 1"
- conf['el2'] = "Element 2"
- conf['el3'] = "Element 3"
- return conf
- elif name == "tor":
- conf['el1'] = "Element 1"
- conf['el2'] = "Element 2"
- conf['el3'] = "Element 3"
- return conf
-
-def write(name, data):
- if name == "wireless":
- return True
- elif name == "firewall":
- return True
- elif name == "wired":
- return True
- elif name == "tor":
- return True
-
-def get_form(name):
- # Also these are just skeletons
- if name == "wireless":
- c = get(name)
- return web.form.Form(
- web.form.Textbox(name='essid',
- description='Wireless ESSID', value=c['essid']),
- web.form.Dropdown(name='enctype', args=['WPA2', 'WPA', 'WEP (not reccomended)', 'open'],
- description='Wireless encryption scheme', value=c['encryption']),
- web.form.Password(name='key',
- description='key', value=c['key']),
- web.form.Button('save')
- )
- elif name == "firewall":
- c = get(name)
- return web.form.Form(
- web.form.Textbox(name='el1',
- description='The first element', value=c['el2']),
- web.form.Dropdown(name='el2', args=['WPA2', 'WPA', 'WEP (not reccomended)', 'open'],
- description='The second selement', value=c['el2']),
- web.form.Password(name='el3',
- description='The third element', value=c['el3']),
- web.form.Button('save')
- )
- elif name == "wired":
- c = get(name)
- return web.form.Form(
- web.form.Textbox(name='el1',
- description='The first element', value=c['el2']),
- web.form.Dropdown(name='el2', args=['WPA2', 'WPA', 'WEP (not reccomended)', 'open'],
- description='The second selement', value=c['el2']),
- web.form.Password(name='el3',
- description='The third element', value=c['el3']),
- web.form.Button('save')
- )
- elif name == "tor":
- c = get(name)
- return web.form.Form(
- web.form.Textbox(name='el1',
- description='The first element', value=c['el2']),
- web.form.Dropdown(name='el2', args=['WPA2', 'WPA', 'WEP (not reccomended)', 'open'],
- description='The second selement', value=c['el2']),
- web.form.Password(name='el3',
- description='The third element', value=c['el3']),
- web.form.Button('save')
- )
-
diff --git a/packages/torouter-web/tui/utils/parsing.py b/packages/torouter-web/tui/utils/parsing.py
deleted file mode 100644
index e9ccc83..0000000
--- a/packages/torouter-web/tui/utils/parsing.py
+++ /dev/null
@@ -1,83 +0,0 @@
-# These functions are for parsing /etc/network/interface
-# files, they will be used inside torouter to visualize
-# and edit configuration
-import os
-
-class interfaces:
- def __init__(self,filename):
- self.fp = open(filename, "r")
- self.wifi = {}
- self.eth1 = {}
- self.eth0 = {}
-
- def parse_line(self, line, iface):
- name = line.split(" ")[0]
- values = " ".join(line.split(" ")[1:]).rstrip()
- if iface == "uap0":
- if self.wifi.has_key(name):
- if type(self.wifi[name]) is list:
- self.wifi[name].append(values)
- else:
- self.wifi[name] = [self.wifi[name],values]
- else:
- self.wifi.update({name : values})
- elif iface == "eth1":
- if self.eth1.has_key(name):
- if type(self.eth1[name]) is list:
- self.eth1[name].append(values)
- else:
- self.eth1[name] = [self.eth1[name],values]
- else:
- self.eth1.update({name : values})
- elif iface == "eth0":
- if self.eth0.has_key(name):
- if type(self.eth0[name]) is list:
- self.eth0[name].append(values)
- else:
- self.eth0[name] = [self.eth0[name],values]
- else:
- self.eth0.update({name : values})
-
- def parse(self):
- iface = None
- for line in self.fp.readlines():
- line = line.lstrip()
- if line.startswith("#") or line == "":
- continue
- if line.startswith("iface"):
- iface = line.split(" ")[1]
- if iface:
- self.parse_line(line, iface)
-
- def html_output(self, data):
- output = "<h3>Interface %s</h3>\n" % data['iface'].split(" ")[0]
- output += "<table class=\"interface\" id=\"%s\">\n" % data['iface'].split(" ")[0]
-
- for item in data.items():
- if item[0] != "iface":
- if type(item[1]) is list:
- for i in item[1]:
- output += "<tr><td>%s</td><td>%s</td></tr>\n" % (item[0], i)
- else:
- output += "<tr><td>%s</td><td>%s</td></tr>\n" % (item[0],item[1])
- output += "</table>"
- print output
- return output
-
- def output(self, data):
- print "iface %s" % data['iface']
- for item in data.items():
- if item[0] != "iface":
- if type(item[1]) is list:
- for i in item[1]:
- print "%s %s" % (item[0], i)
- else:
- print "%s %s" % (item[0],item[1])
-
-#interfaces_file = os.getcwd() + "/../../../torouter-prep/configs/interfaces"
-#itfc = interfaces(interfaces_file)
-#itfc.parse()
-#itfc.html_output(itfc.wifi)
-#itfc.html_output(itfc.eth1)
-#itfc.html_output(itfc.eth0)
-
diff --git a/packages/torouter-web/tui/utils/session.py b/packages/torouter-web/tui/utils/session.py
deleted file mode 100644
index a554dad..0000000
--- a/packages/torouter-web/tui/utils/session.py
+++ /dev/null
@@ -1,26 +0,0 @@
-import web
-import config
-
-# The main session class
-
-def add_session_to_app(app):
-
- if web.config.get("_session") is None:
- store = web.session.DiskStore('sessions')
- session = web.session.Session(app, store, initializer={'login': 0, 'privilege': 0})
- web.config._session = session
- else:
- session = web.config._session
-
-def is_logged():
- return web.config._session.login
-
-def check_login(data):
- if (data.user == config.authinfo[0]) and (data.password == config.authinfo[1]):
- web.config._session.login = 1
- return 0
- return 1
-
-def logout():
- web.config._session.kill()
-
diff --git a/packages/torouter-web/tui/views/base.html b/packages/torouter-web/tui/views/base.html
deleted file mode 100644
index bce4110..0000000
--- a/packages/torouter-web/tui/views/base.html
+++ /dev/null
@@ -1,30 +0,0 @@
-$def with (page,submenu=None)
-
-<!html>
-
-<html>
-<head>
- <title>TUI - Tor Web User Interface</title>
- <link REL="stylesheet" href="/static/main.css" type="text/css">
-</head>
-<body>
-<div class="header">
- <ul id="menu">
- <li><a href="/">Home</a></li>
- <li><a href="/network">Network</a></li>
- <li><a href="/tor">Tor</a></li>
- <li><a href="/logout">logout</a></li>
- </ul>
- $:submenu
-</div>
-
-<div class="wrapper">
-$:page
-</div>
-
-<div class="footer">
-2011 - The Tor Project
-</div>
-
-</body>
-</html>
diff --git a/packages/torouter-web/tui/views/firewall.html b/packages/torouter-web/tui/views/firewall.html
deleted file mode 100644
index 30f5a9b..0000000
--- a/packages/torouter-web/tui/views/firewall.html
+++ /dev/null
@@ -1,7 +0,0 @@
-$def with (form)
-
-<h2>Firewall configuration page</h2>
-
-<form action="" method="POST">
-$:form.render()
-</form>
diff --git a/packages/torouter-web/tui/views/index.html b/packages/torouter-web/tui/views/index.html
deleted file mode 100644
index 3907d84..0000000
--- a/packages/torouter-web/tui/views/index.html
+++ /dev/null
@@ -1 +0,0 @@
-The main index
diff --git a/packages/torouter-web/tui/views/login.html b/packages/torouter-web/tui/views/login.html
deleted file mode 100644
index 1377078..0000000
--- a/packages/torouter-web/tui/views/login.html
+++ /dev/null
@@ -1,7 +0,0 @@
-Login is required
-<form method="POST" action="/">
- Login: <input type="text" name="user">
- Password: <input type="password" name="password">
- <input type="submit" name="login">
-</form>
-
diff --git a/packages/torouter-web/tui/views/logout.html b/packages/torouter-web/tui/views/logout.html
deleted file mode 100644
index f027ed4..0000000
--- a/packages/torouter-web/tui/views/logout.html
+++ /dev/null
@@ -1 +0,0 @@
-Successfully logged out!
diff --git a/packages/torouter-web/tui/views/main.html b/packages/torouter-web/tui/views/main.html
deleted file mode 100644
index dc503e7..0000000
--- a/packages/torouter-web/tui/views/main.html
+++ /dev/null
@@ -1 +0,0 @@
-the main page
diff --git a/packages/torouter-web/tui/views/saved.html b/packages/torouter-web/tui/views/saved.html
deleted file mode 100644
index ba14488..0000000
--- a/packages/torouter-web/tui/views/saved.html
+++ /dev/null
@@ -1,8 +0,0 @@
-$def with (content)
-
-<ul>
-
-$for i in content.items():
- <li><em>$i[0]</em>: $i[1]</li>
-
-</ul>
diff --git a/packages/torouter-web/tui/views/status.html b/packages/torouter-web/tui/views/status.html
deleted file mode 100644
index bfe2fcd..0000000
--- a/packages/torouter-web/tui/views/status.html
+++ /dev/null
@@ -1,3 +0,0 @@
-$def with (content)
-
-$:content
diff --git a/packages/torouter-web/tui/views/torconfig.html b/packages/torouter-web/tui/views/torconfig.html
deleted file mode 100644
index 26bd228..0000000
--- a/packages/torouter-web/tui/views/torconfig.html
+++ /dev/null
@@ -1 +0,0 @@
-The main Tor config page
diff --git a/packages/torouter-web/tui/views/torstatus.html b/packages/torouter-web/tui/views/torstatus.html
deleted file mode 100644
index ed83531..0000000
--- a/packages/torouter-web/tui/views/torstatus.html
+++ /dev/null
@@ -1 +0,0 @@
-The main Tor status page
diff --git a/packages/torouter-web/tui/views/wired.html b/packages/torouter-web/tui/views/wired.html
deleted file mode 100644
index 3676f63..0000000
--- a/packages/torouter-web/tui/views/wired.html
+++ /dev/null
@@ -1,7 +0,0 @@
-$def with (form)
-
-<h2>Wired configuration page</h2>
-
-<form action="" method="POST">
-$:form.render()
-</form>
diff --git a/packages/torouter-web/tui/views/wireless.html b/packages/torouter-web/tui/views/wireless.html
deleted file mode 100644
index 48242bc..0000000
--- a/packages/torouter-web/tui/views/wireless.html
+++ /dev/null
@@ -1,8 +0,0 @@
-$def with (form)
-
-<h2>Wireless configuration page</h2>
-
-<form action="" method="POST">
-$:form.render()
-</form>
-
diff --git a/packages/torouter-web/tui/views/wizard.html b/packages/torouter-web/tui/views/wizard.html
deleted file mode 100644
index 0890507..0000000
--- a/packages/torouter-web/tui/views/wizard.html
+++ /dev/null
@@ -1,12 +0,0 @@
-$def with (wiz_form, text, step, next_step)
-
-<h1>Step number $step</h1>
-
-$text
-
-<form action="/wizard/$next_step" method="POST">
-$:wiz_form.render()
-
-</form>
-
-<!-- a href=/wizard/$next_step>Next ($next_step)</a-->