diff options
54 files changed, 1 insertions, 1555 deletions
| diff --git a/packages/Makefile b/packages/Makefile index 875f65f..3ceff87 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -1,8 +1,4 @@ -debs: webdeb prepdeb mvdebs - -webdeb: -	# By default we will but not sign for now -	#cd torouter-web && debuild --no-tgz-check -us -uc +debs: prepdeb mvdebs  prepdeb:  	# By default we will but not sign for now diff --git a/packages/torouter-takeover/README b/packages/torouter-takeover/README deleted file mode 100644 index e889ed2..0000000 --- a/packages/torouter-takeover/README +++ /dev/null @@ -1 +0,0 @@ -This is where our debtakeover script will be packaged. diff --git a/packages/torouter-web/LICENSE b/packages/torouter-web/LICENSE deleted file mode 100644 index cb2a71c..0000000 --- a/packages/torouter-web/LICENSE +++ /dev/null @@ -1,32 +0,0 @@ -=============================================================================== -The tui code is distributed under this license: - -Copyright (c) 2011, Arturo Filasto' - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -    * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - -    * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -    * Neither the names of the copyright owners nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/packages/torouter-web/NOTES b/packages/torouter-web/NOTES deleted file mode 100644 index 83656ab..0000000 --- a/packages/torouter-web/NOTES +++ /dev/null @@ -1,6 +0,0 @@ -eth0 is internet -eth1 is private network - -http://wiki.debian.org/NetworkConfiguration - - diff --git a/packages/torouter-web/README b/packages/torouter-web/README deleted file mode 100644 index 60e1eeb..0000000 --- a/packages/torouter-web/README +++ /dev/null @@ -1,13 +0,0 @@ -TUI - Tor web User Interface ----------------------------- - -This is the Tor web User Interface for the Torouter. - -It requires web.py: -  git clone git://github.com/webpy/webpy.git - -To start the web server run: -  python runui.py - -- Arturo Filasto' <hellais@torproject.org> - diff --git a/packages/torouter-web/debian/README b/packages/torouter-web/debian/README deleted file mode 100644 index cda2d60..0000000 --- a/packages/torouter-web/debian/README +++ /dev/null @@ -1,6 +0,0 @@ -The Debian Package torouter-tui ----------------------------- - -This package is for the Torouter Web UI project from the Tor Project. - - -- Jacob Appelbaum <jacob@torproject.org>  Wed, 17 Aug 2011 17:15:08 -0400 diff --git a/packages/torouter-web/debian/README.Debian b/packages/torouter-web/debian/README.Debian deleted file mode 100644 index 27e430c..0000000 --- a/packages/torouter-web/debian/README.Debian +++ /dev/null @@ -1,8 +0,0 @@ -torouter for Debian -------------------- - -This is a package for Debian that converts a DreamPlug into a Torouter. - -It will configure the system without prompting the user for any input. - - -- Jacob Appelbaum <jacob@torproject.org>  Wed, 27 Jul 2011 09:51:21 -0400 diff --git a/packages/torouter-web/debian/changelog b/packages/torouter-web/debian/changelog deleted file mode 100644 index 3522869..0000000 --- a/packages/torouter-web/debian/changelog +++ /dev/null @@ -1,11 +0,0 @@ -torouter-tui (0.0.1-2) unstable; urgency=low - -  * Fix python-daemon dependancy problem - - -- Bryan Newbold <bnewbold@robocracy.org>  Tue, 11 Sep 2012 14:47:35 +0200 - -torouter-tui (0.0.1-1) unstable; urgency=low - -  * Initial release (Closes: #nnnn)  <nnnn is the bug number of your ITP> - - -- Jacob Appelbaum <jacob@appelbaum.net>  Wed, 17 Aug 2011 16:58:00 -0400 diff --git a/packages/torouter-web/debian/compat b/packages/torouter-web/debian/compat deleted file mode 100644 index 7f8f011..0000000 --- a/packages/torouter-web/debian/compat +++ /dev/null @@ -1 +0,0 @@ -7 diff --git a/packages/torouter-web/debian/control b/packages/torouter-web/debian/control deleted file mode 100644 index 8a949ef..0000000 --- a/packages/torouter-web/debian/control +++ /dev/null @@ -1,13 +0,0 @@ -Source: torouter-tui -Section: unknown -Priority: extra -Maintainer: Jacob Appelbaum <jacob@torproject.org> -Build-Depends: debhelper (>= 7.0.50~), python-dev -Standards-Version: 3.9.1 -Homepage: <https://www.torproject.org/> - -Package: torouter-tui -Architecture: all -Depends: ${misc:Depends}, python, python-webpy, python-daemon -Description: Torouter web UI - This package provides the Torouter web UI. diff --git a/packages/torouter-web/debian/copyright b/packages/torouter-web/debian/copyright deleted file mode 100644 index eeef3f2..0000000 --- a/packages/torouter-web/debian/copyright +++ /dev/null @@ -1,36 +0,0 @@ -Format: http://dep.debian.net/deps/dep5 -Upstream-Name: torouter -Source: <https://www.torproject.org/> - -Files: * -Copyright: 2011 Arturo Filasto' <hellais@torproject.org> -License: BSD-3-Clause - -Files: debian/* -Copyright: 2011 Jacob Appelbaum <jacob@torproject.org> -License: BSD-3-Clause - -License: BSD-3-Clause - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright -    notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright -    notice, this list of conditions and the following disclaimer in the -    documentation and/or other materials provided with the distribution. - 3. Neither the name of the University nor the names of its contributors -    may be used to endorse or promote products derived from this software -    without specific prior written permission. - . - THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. diff --git a/packages/torouter-web/debian/dirs b/packages/torouter-web/debian/dirs deleted file mode 100644 index e772481..0000000 --- a/packages/torouter-web/debian/dirs +++ /dev/null @@ -1 +0,0 @@ -usr/bin diff --git a/packages/torouter-web/debian/postinst b/packages/torouter-web/debian/postinst deleted file mode 100644 index 97e9113..0000000 --- a/packages/torouter-web/debian/postinst +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -# postinst script for torouter -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -#        * <postinst> `configure' <most-recently-configured-version> -#        * <old-postinst> `abort-upgrade' <new version> -#        * <conflictor's-postinst> `abort-remove' `in-favour' <package> -#          <new-version> -#        * <postinst> `abort-remove' -#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour' -#          <failed-install-package> <version> `removing' -#          <conflicting-package> <version> -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - - -case "$1" in -    configure) -    ;; - -    abort-upgrade|abort-remove|abort-deconfigure) -    ;; - -    *) -        echo "postinst called with unknown argument \`$1'" >&2 -        exit 1 -    ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff --git a/packages/torouter-web/debian/postrm b/packages/torouter-web/debian/postrm deleted file mode 100644 index 632ac80..0000000 --- a/packages/torouter-web/debian/postrm +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh -# postrm script for torouter -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -#        * <postrm> `remove' -#        * <postrm> `purge' -#        * <old-postrm> `upgrade' <new-version> -#        * <new-postrm> `failed-upgrade' <old-version> -#        * <new-postrm> `abort-install' -#        * <new-postrm> `abort-install' <old-version> -#        * <new-postrm> `abort-upgrade' <old-version> -#        * <disappearer's-postrm> `disappear' <overwriter> -#          <overwriter-version> -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - - -case "$1" in -    purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) -    ;; - -    *) -        echo "postrm called with unknown argument \`$1'" >&2 -        exit 1 -    ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff --git a/packages/torouter-web/debian/preinst b/packages/torouter-web/debian/preinst deleted file mode 100644 index 1cc598e..0000000 --- a/packages/torouter-web/debian/preinst +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh -# preinst script for torouter -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -#        * <new-preinst> `install' -#        * <new-preinst> `install' <old-version> -#        * <new-preinst> `upgrade' <old-version> -#        * <old-preinst> `abort-upgrade' <new-version> -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - - -case "$1" in -    install|upgrade) -    ;; - -    abort-upgrade) -    ;; - -    *) -        echo "preinst called with unknown argument \`$1'" >&2 -        exit 1 -    ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff --git a/packages/torouter-web/debian/prerm b/packages/torouter-web/debian/prerm deleted file mode 100644 index 4bb95dd..0000000 --- a/packages/torouter-web/debian/prerm +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -# prerm script for torouter -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -#        * <prerm> `remove' -#        * <old-prerm> `upgrade' <new-version> -#        * <new-prerm> `failed-upgrade' <old-version> -#        * <conflictor's-prerm> `remove' `in-favour' <package> <new-version> -#        * <deconfigured's-prerm> `deconfigure' `in-favour' -#          <package-being-installed> <version> `removing' -#          <conflicting-package> <version> -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - - -case "$1" in -    remove|upgrade|deconfigure) -    ;; - -    failed-upgrade) -    ;; - -    *) -        echo "prerm called with unknown argument \`$1'" >&2 -        exit 1 -    ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff --git a/packages/torouter-web/debian/rules b/packages/torouter-web/debian/rules deleted file mode 100755 index e92c9cb..0000000 --- a/packages/torouter-web/debian/rules +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -export DH_VERBOSE=1 - -%: -	dh $@  diff --git a/packages/torouter-web/debian/source/format b/packages/torouter-web/debian/source/format deleted file mode 100644 index 89ae9db..0000000 --- a/packages/torouter-web/debian/source/format +++ /dev/null @@ -1 +0,0 @@ -3.0 (native) diff --git a/packages/torouter-web/debian/torouter-tui.default b/packages/torouter-web/debian/torouter-tui.default deleted file mode 100644 index f0fa807..0000000 --- a/packages/torouter-web/debian/torouter-tui.default +++ /dev/null @@ -1,10 +0,0 @@ -# Defaults for torouter-web initscript -# sourced by /etc/init.d/torouter-web -# installed at /etc/default/torouter-web by the maintainer scripts - -# -# This is a POSIX shell fragment -# - -# When the package is configured - we set this accordingly -# ARGS="" diff --git a/packages/torouter-web/debian/torouter-tui.init b/packages/torouter-web/debian/torouter-tui.init deleted file mode 100644 index 7b7a0a0..0000000 --- a/packages/torouter-web/debian/torouter-tui.init +++ /dev/null @@ -1,155 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides:          torouter-tui -# Required-Start:    $network $syslog -# Required-Stop:     $syslog -# Default-Start:     2 3 4 5 -# Default-Stop:      0 1 6 -# Short-Description: torouter-tui initscript -# Description:       This file starts the torouter-tui python web UI. -### END INIT INFO - -# Author: Jacob Appelbaum <jacob@appelbaum.net> -# - -# Do NOT "set -e" - -# PATH should only include /usr/* if it runs after the mountnfs.sh script -PATH=/sbin:/usr/sbin:/bin:/usr/bin -DESC="torouter-tui python web UI" -NAME=runui.py -DAEMON=/usr/bin/$NAME -DAEMON_ARGS="" -PIDFILE=/var/run/torouter-tui.pid -SCRIPTNAME=/etc/init.d/torouter-tui - -# Exit if the package is not installed -[ -x "$DAEMON" ] || exit 0 - -# Read configuration variable file if it is present -[ -r /etc/default/$NAME ] && . /etc/default/$NAME - -# Load the VERBOSE setting and other rcS variables -. /lib/init/vars.sh - -# Define LSB log_* functions. -# Depend on lsb-base (>= 3.0-6) to ensure that this file is present. -. /lib/lsb/init-functions - -# -# Function that starts the daemon/service -# -do_start() -{ -	# Return -	#   0 if daemon has been started -	#   1 if daemon was already running -	#   2 if daemon could not be started -	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ -		|| return 1 -	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ -		$DAEMON_ARGS \ -		|| return 2 -	# Add code here, if necessary, that waits for the process to be ready -	# to handle requests from services started subsequently which depend -	# on this one.  As a last resort, sleep for some time. -} - -# -# Function that stops the daemon/service -# -do_stop() -{ -	# Return -	#   0 if daemon has been stopped -	#   1 if daemon was already stopped -	#   2 if daemon could not be stopped -	#   other if a failure occurred -	start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME -	RETVAL="$?" -	[ "$RETVAL" = 2 ] && return 2 -	# Wait for children to finish too if this is a daemon that forks -	# and if the daemon is only ever run from this initscript. -	# If the above conditions are not satisfied then add some other code -	# that waits for the process to drop all resources that could be -	# needed by services started subsequently.  A last resort is to -	# sleep for some time. -	start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON -	[ "$?" = 2 ] && return 2 -	# Many daemons don't delete their pidfiles when they exit. -	rm -f $PIDFILE -	return "$RETVAL" -} - -# -# Function that sends a SIGHUP to the daemon/service -# -do_reload() { -	# -	# If the daemon can reload its configuration without -	# restarting (for example, when it is sent a SIGHUP), -	# then implement that here. -	# -	start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME -	return 0 -} - -case "$1" in -  start) -	[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" -	do_start -	case "$?" in -		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; -		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; -	esac -	;; -  stop) -	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" -	do_stop -	case "$?" in -		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; -		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; -	esac -	;; -  status) -       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? -       ;; -  #reload|force-reload) -	# -	# If do_reload() is not implemented then leave this commented out -	# and leave 'force-reload' as an alias for 'restart'. -	# -	#log_daemon_msg "Reloading $DESC" "$NAME" -	#do_reload -	#log_end_msg $? -	#;; -  restart|force-reload) -	# -	# If the "reload" option is implemented then remove the -	# 'force-reload' alias -	# -	log_daemon_msg "Restarting $DESC" "$NAME" -	do_stop -	case "$?" in -	  0|1) -		do_start -		case "$?" in -			0) log_end_msg 0 ;; -			1) log_end_msg 1 ;; # Old process is still running -			*) log_end_msg 1 ;; # Failed to start -		esac -		;; -	  *) -	  	# Failed to stop -		log_end_msg 1 -		;; -	esac -	;; -  *) -	#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 -	echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 -	exit 3 -	;; -esac - -: diff --git a/packages/torouter-web/setup.py b/packages/torouter-web/setup.py deleted file mode 100644 index fe01ab8..0000000 --- a/packages/torouter-web/setup.py +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env python -from distutils.core import setup - -setup(name='torouter-tui', -      packages=['tui', 'tui.controllers', -        'tui.models', 'tui.utils'], -      package_dir = {'tui': 'src/tui'}, -      package_data = {'tui': ['src/tui', 'views/*html']}, -      data_files = [('/usr/share/torouter-tui/static', -                     ['src/static/main.css'])], -      version='0.1', -      description='Torouter Web UI', -      author='Arturo Filasto', -      author_email='hellais@torproject.org', -      url='https://www.torproject.org/', -      scripts=['src/runui.py', 'src/daemon.py']) - diff --git a/packages/torouter-web/src/__init__.py b/packages/torouter-web/src/__init__.py deleted file mode 100644 index e69de29..0000000 --- a/packages/torouter-web/src/__init__.py +++ /dev/null diff --git a/packages/torouter-web/src/daemon.py b/packages/torouter-web/src/daemon.py deleted file mode 100644 index 4ccc15c..0000000 --- a/packages/torouter-web/src/daemon.py +++ /dev/null @@ -1,129 +0,0 @@ -#!/usr/bin/env python - -import sys, os, time, atexit -from signal import SIGTERM  - -class Daemon: -	""" -	A generic daemon class. -	 -	Usage: subclass the Daemon class and override the run() method -	""" -	def __init__(self, pidfile, stdin='/dev/null', stdout='/dev/null', stderr='/dev/null'): -		self.stdin = stdin -		self.stdout = stdout -		self.stderr = stderr -		self.pidfile = pidfile -	 -	def daemonize(self): -		""" -		do the UNIX double-fork magic, see Stevens' "Advanced  -		Programming in the UNIX Environment" for details (ISBN 0201563177) -		http://www.erlenstar.demon.co.uk/unix/faq_2.html#SEC16 -		""" -		try:  -			pid = os.fork()  -			if pid > 0: -				# exit first parent -				sys.exit(0)  -		except OSError, e:  -			sys.stderr.write("fork #1 failed: %d (%s)\n" % (e.errno, e.strerror)) -			sys.exit(1) -	 -		# decouple from parent environment -		#os.chdir("/")  -		os.setsid()  -		os.umask(0)  -	 -		# do second fork -		try:  -			pid = os.fork()  -			if pid > 0: -				# exit from second parent -				sys.exit(0)  -		except OSError, e:  -			sys.stderr.write("fork #2 failed: %d (%s)\n" % (e.errno, e.strerror)) -			sys.exit(1)  -	 -		# redirect standard file descriptors -		sys.stdout.flush() -		sys.stderr.flush() -		si = file(self.stdin, 'r') -		so = file(self.stdout, 'a+') -		se = file(self.stderr, 'a+', 0) -		os.dup2(si.fileno(), sys.stdin.fileno()) -		os.dup2(so.fileno(), sys.stdout.fileno()) -		os.dup2(se.fileno(), sys.stderr.fileno()) -	 -		# write pidfile -		atexit.register(self.delpid) -		pid = str(os.getpid()) -		file(self.pidfile,'w+').write("%s\n" % pid) -	 -	def delpid(self): -		os.remove(self.pidfile) - -	def start(self): -		""" -		Start the daemon -		""" -		# Check for a pidfile to see if the daemon already runs -		try: -			pf = file(self.pidfile,'r') -			pid = int(pf.read().strip()) -			pf.close() -		except IOError: -			pid = None -	 -		if pid: -			message = "pidfile %s already exist. Daemon already running?\n" -			sys.stderr.write(message % self.pidfile) -			sys.exit(1) -		 -		# Start the daemon -		self.daemonize() -		self.run() - -	def stop(self): -		""" -		Stop the daemon -		""" -		# Get the pid from the pidfile -		try: -			pf = file(self.pidfile,'r') -			pid = int(pf.read().strip()) -			pf.close() -		except IOError: -			pid = None -	 -		if not pid: -			message = "pidfile %s does not exist. Daemon not running?\n" -			sys.stderr.write(message % self.pidfile) -			return # not an error in a restart - -		# Try killing the daemon process	 -		try: -			while 1: -				os.kill(pid, SIGTERM) -				time.sleep(0.1) -		except OSError, err: -			err = str(err) -			if err.find("No such process") > 0: -				if os.path.exists(self.pidfile): -					os.remove(self.pidfile) -			else: -				print str(err) -				sys.exit(1) - -	def restart(self): -		""" -		Restart the daemon -		""" -		self.stop() -		self.start() - -	def run(self): -		""" -		You should override this method when you subclass Daemon. It will be called after the process has been -		daemonized by start() or restart(). -		""" diff --git a/packages/torouter-web/src/runui.py b/packages/torouter-web/src/runui.py deleted file mode 100644 index 87c6626..0000000 --- a/packages/torouter-web/src/runui.py +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env python -# tui - Tor web UI -# by Arturo Filasto' <hellais@torproject.org> -# - -import sys, time, os -from daemon import Daemon -import web -from tui import config -import tui.controllers - -from tui.utils import session -from tui.view import render - -# This is the main structure of URLs -urls = ( -   '/', 'tui.controllers.main.index', -# '/config/(tor|router)', 'tui.controllers.main.config', -   '/network', 'tui.controllers.network.main', -   '/network/firewall', 'tui.controllers.network.firewall', -   '/network/wireless', 'tui.controllers.network.wireless', -   '/network/wired', 'tui.controllers.network.wired', -   '/network/status', 'tui.controllers.network.status', -   '/tor', 'tui.controllers.tor.status', -   '/tor/config', 'tui.controllers.tor.torrc', -   '/logout', 'tui.controllers.main.logout' -   ) -# '/wizard/([0-9a-f]{1,2})?', 'tui.controllers.wizard.step', -# '/status', 'tui.controllers.status') - -app = web.application(urls, globals()) -# add session management to the app -session.add_session_to_app(app) -app.internalerror = web.debugerror - -class TorWebDaemon(Daemon): -  def run(self): -    app.run() - -DEBUG = False -if __name__ == "__main__": -  if DEBUG: -    app.run() -  service = TorWebDaemon('/tmp/tui.pid') -  if len(sys.argv) == 2: -    if 'start' == sys.argv[1]: -      sys.argv[1] = '8080' -      service.start() -    elif 'stop' == sys.argv[1]: -      service.stop() -    elif 'restart' == sys.argv[1]: -      service.restart() -    else: -      print "Unknown command" -      sys.exit(2) -    sys.exit(0) -  else: -    print "starting daemon..." -    service.start() - diff --git a/packages/torouter-web/src/static/main.css b/packages/torouter-web/src/static/main.css deleted file mode 100644 index 7277912..0000000 --- a/packages/torouter-web/src/static/main.css +++ /dev/null @@ -1,56 +0,0 @@ - -/* Clear all */ -body { margin: 0;border: 0;padding: 0; } - -div.wrapper { -  min-height: 300px; -  width: 800px; -  margin: 0 auto; -} - -div.footer { -  text-align: center; -  background-color: #333; -  color: white; -  padding-top: 20px; -  padding-bottom: 20px; -} - -div.header { -  color: white; -} - -div.header ul { -  list-style: none; -  height: 20px; -} - -div.header ul li { -  font-size: 20px; -  float: left; -  padding: 5px 10px; -} - -div.header ul#submenu li { -  font-size: 15px; -} - -div.header ul#submenu li a.sel { -  color: black; -  text-decoration: none; -} - -/* More specific stuff */ -#torrc { -list-style: none; -line-height: 2em; -} - -#torrc em { -font-weight: bold; -font-style: normal; -} - - - - diff --git a/packages/torouter-web/src/tui/__init__.py b/packages/torouter-web/src/tui/__init__.py deleted file mode 100644 index e69de29..0000000 --- a/packages/torouter-web/src/tui/__init__.py +++ /dev/null diff --git a/packages/torouter-web/src/tui/config.py b/packages/torouter-web/src/tui/config.py deleted file mode 100644 index 989c102..0000000 --- a/packages/torouter-web/src/tui/config.py +++ /dev/null @@ -1,21 +0,0 @@ -# tui, Tor web UI -# by Arturo Filasto' <hellais@torproject.org> -# - -import web, os - -cache = False - -globals = {} - -# Add your own (username, password) pair -authinfo = ("test", "test") - -# Network devices -network_devices = ('uap0', 'eth0', 'eth1') - -#interfaces_file = os.getcwd() + "/../../torouter-prep/configs/interfaces" -#torrc_file = os.getcwd() + "/../../torouter-prep/configs/torrc" -torrc_file = "/var/tmp/tor-tui/torrc" -interfaces_file = "/var/tmp/tor-tui/interfaces" - diff --git a/packages/torouter-web/src/tui/controllers/__init__.py b/packages/torouter-web/src/tui/controllers/__init__.py deleted file mode 100644 index e69de29..0000000 --- a/packages/torouter-web/src/tui/controllers/__init__.py +++ /dev/null diff --git a/packages/torouter-web/src/tui/controllers/main.py b/packages/torouter-web/src/tui/controllers/main.py deleted file mode 100644 index fb925d3..0000000 --- a/packages/torouter-web/src/tui/controllers/main.py +++ /dev/null @@ -1,27 +0,0 @@ -import web -from tui import config -from tui import view -from tui.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/src/tui/controllers/network.py b/packages/torouter-web/src/tui/controllers/network.py deleted file mode 100644 index 598d332..0000000 --- a/packages/torouter-web/src/tui/controllers/network.py +++ /dev/null @@ -1,140 +0,0 @@ -import web -from tui import config -from tui import view -from tui.view import render -from tui.utils import session, configuration, parsing, fileio - -""" -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(1)) -    else: -      return render.base(render.login()) - -  def POST(self): -    if session.is_logged() > 0: -      self.update_config(web.input()) -      return render.base(render.firewall(configuration.get_form("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): -    itfc = parsing.interfaces(config.interfaces_file) -    itfc.parse() -    itfc.set_ssid(data.essid) -    itfc.set_mac(data.mac) -    itfc.wifi['netmask'] = data.netmask -    itfc.wifi['address'] = data.address -    filecontent = itfc.exclude_output(config.network_interfaces[0]) + itfc.output(itfc.wifi) -    files = [('/etc/network/interfaces', filecontent)] -    fileio.write(files) -    #print itfc.output(itfc.wifi) -    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/src/tui/controllers/old/main.py b/packages/torouter-web/src/tui/controllers/old/main.py deleted file mode 100644 index 9127e72..0000000 --- a/packages/torouter-web/src/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/src/tui/controllers/old/status.py b/packages/torouter-web/src/tui/controllers/old/status.py deleted file mode 100644 index 05f0bf8..0000000 --- a/packages/torouter-web/src/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/src/tui/controllers/old/wizard.py b/packages/torouter-web/src/tui/controllers/old/wizard.py deleted file mode 100644 index 7b82df2..0000000 --- a/packages/torouter-web/src/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/src/tui/controllers/tor.py b/packages/torouter-web/src/tui/controllers/tor.py deleted file mode 100644 index e671d80..0000000 --- a/packages/torouter-web/src/tui/controllers/tor.py +++ /dev/null @@ -1,59 +0,0 @@ -import web -from tui import config -from tui import view -from tui.view import render -from tui.utils import session, parsing, fileio - -""" -The main Tor status page -""" -class status: -  def GET(self): -    if session.is_logged() > 0: -      trc = parsing.torrc(config.torrc_file) -      trc.parse() -      output = trc.html_output() -      return render.base(render.torstatus(output,config.torrc_file)) -    else: -      return render.base(render.login()) - - -  def POST(self): -    if session.is_logged() > 0: -      trc = parsing.torrc(config.torrc_file) -      trc.parse() -      output = trc.html_output() -      return render.base(render.torstatus(output,config.torrc_file)) -    else: -      return render.base(render.login()) - -""" -Tor configuration page -""" -class torrc: -  def update_config(self, data): -    # Now it will just write to /tmp/torrc -    files = [('/tmp/torrc',data.torrc)] -    fileio.write(files) - -    return True - -  def GET(self): -    if session.is_logged() > 0: -      trc = parsing.torrc(config.torrc_file) -      output = trc.output() -      return render.base(render.torconfig(output)) -    else: -      return render.base(render.login()) - -  def POST(self): -    if session.is_logged() > 0: -      self.update_config(web.input()) -      trc = parsing.torrc(config.torrc_file) -      trc.parse() -      output = trc.html_output() -      return render.base(render.torstatus(output,config.torrc_file)) -    else: -      return render.base(render.login()) - - diff --git a/packages/torouter-web/src/tui/models/router_config.py b/packages/torouter-web/src/tui/models/router_config.py deleted file mode 100644 index a9bd975..0000000 --- a/packages/torouter-web/src/tui/models/router_config.py +++ /dev/null @@ -1,19 +0,0 @@ -import web -from tui.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/src/tui/utils/__init__.py b/packages/torouter-web/src/tui/utils/__init__.py deleted file mode 100644 index e69de29..0000000 --- a/packages/torouter-web/src/tui/utils/__init__.py +++ /dev/null diff --git a/packages/torouter-web/src/tui/utils/configuration.py b/packages/torouter-web/src/tui/utils/configuration.py deleted file mode 100644 index 336aa54..0000000 --- a/packages/torouter-web/src/tui/utils/configuration.py +++ /dev/null @@ -1,109 +0,0 @@ -import web -import re -from tui.utils import parsing -from tui import config - -def get(name): -  conf = {} -  itfc = parsing.interfaces(config.interfaces_file) -  itfc.parse() -  -  if name == "wireless": -    conf['essid'] = "tor" -    conf['mac'] = "00:11:22:33:44:55" -    for entry in itfc.wifi['post-up']: -      if re.search("sys_cfg_ssid", entry): -        conf['essid'] = entry.split(" ")[2].split("\"")[1] -    -    if type(itfc.wifi['pre-up']) is str: -      conf['mac'] = itfc.wifi['pre-up'].split(" ")[4] -    else: -      for entry in itfc.wifi['pre-up']: -        if re.search("ether", entry): -          print "hahah" -          conf['mac'] = entry.split(" ")[4] - -    conf['netmask'] = itfc.wifi['netmask'] -    conf['address'] = itfc.wifi['address'] -    conf['encryption'] = "open" -    conf['key'] = "" -    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='ESSID', value=c['essid']), -      web.form.Textbox(name='mac', -        description='MAC address', value=c['mac']), -      web.form.Textbox(name='address', -        description='IP address', value=c['address']), -      web.form.Textbox(name='netmask', -        description='Netmask address', value=c['netmask']), -      web.form.Dropdown(name='enctype', args=['WPA2', 'WPA', 'WEP (not reccomended)', 'open'], -        description='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/src/tui/utils/fileio.py b/packages/torouter-web/src/tui/utils/fileio.py deleted file mode 100644 index c6574b7..0000000 --- a/packages/torouter-web/src/tui/utils/fileio.py +++ /dev/null @@ -1,24 +0,0 @@ -import os - -def write(files): -  tmp_dir = "/var/tmp/tor-tui/" -  tmpfiles = [] -  for file in files: -    if not os.path.exists(tmp_dir): -      os.mkdir(tmp_dir) -    tmpfile = tmp_dir + file[0].split("/")[-1:][0] -    tmpfiles.append((tmpfile,file[0])) -    # open the tmp file for write -    f = open(tmpfile, 'w') -    # write the data (file[1]) to the temp file -    f.write(file[1]) -    f.close() - -  # rename all the file. This operation is atomic -  #for file in tmpfiles: -  #  os.rename(file[0], file[1]) - -# for testing -#files = [('/tmp/file1','blablbal'),('/tmp/file2','The content'),('/tmp/file3','The content 3')] -#write(files) - diff --git a/packages/torouter-web/src/tui/utils/parsing.py b/packages/torouter-web/src/tui/utils/parsing.py deleted file mode 100644 index 310ea5c..0000000 --- a/packages/torouter-web/src/tui/utils/parsing.py +++ /dev/null @@ -1,145 +0,0 @@ -# These functions are for parsing /etc/network/interface -# files, they will be used inside torouter to visualize -# and edit configuration -import os, re -from tui import config - -class interfaces: -  def __init__(self,filename): -    self.filename = filename -    try: -      self.fp = open(filename, "r") -    except: -      # this will happen on our first run or at reboot -      self.fp = open("/etc/tor/torrc", "r") -    self.wifi = {} -    self.eth1 = {} -    self.eth0 = {} - -  def exclude_output(self, iexclude): -    iface = None -    output = "" -    self.fp = open(self.filename, "r") -    for line in self.fp.readlines(): -      if line.lstrip().startswith("iface"): -        iface = line.split(" ")[1] -      if iface == iexclude: -        continue -      else: -        output += line -    return output - -  def parse_line(self, line, iface): -    name   = line.split(" ")[0] -    values = " ".join(line.split(" ")[1:]).rstrip() -    if iface == config.network_interfaces[0]: -      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 == config.network_interfaces[2]: -      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 == config.network_interfaces[1]: -      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): -    output = "iface %s\n" % data['iface'] -    for item in data.items(): -      if item[0] != "iface": -        if type(item[1]) is list: -          for i in item[1]: -            output += item[0] + " " + i + "\n" -        else: -          output += item[0] + " " + item[1] + "\n" -    return output - -  def set_ssid(self, essid): -    i = 0 -    for entry in self.wifi['post-up']: -      if re.search("sys_cfg_ssid", entry): -        print essid -        self.wifi['post-up'][i] = '/usr/bin/uaputl sys_cfg_ssid "' + essid + '"' -      i += 1 - -  # XXX currently works for one pre-up entry, must make it work also for arrays -  def set_mac(self, mac): -    self.wifi['pre-up'] = 'ifconfig ' + config.network_interfaces[0] + ' hw ether ' + mac -     - -class torrc: -  def __init__(self,filename): -    self.fp = open(filename, "r") -    self.parsed = [] - -  def parse(self): -    for line in self.fp.readlines(): -      line = line.lstrip() -      if line.startswith("#") or line == "": -        continue -      else: -        self.parsed.append(line) - -  def output(self): -    output = "" -    for line in self.fp.readlines(): -      print line -      output += line -    return output - -  def html_output(self): -    output = "<ul id=\"torrc\">" -    for line in self.parsed: -      if line != "\n": -        output += "<li><em>%s</em> %s</li>" % (line.split(" ")[0], " ".join(line.split(" ")[1:])) -    output += "</ul>" -    print output -    return output - -#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/src/tui/utils/session.py b/packages/torouter-web/src/tui/utils/session.py deleted file mode 100644 index 4570196..0000000 --- a/packages/torouter-web/src/tui/utils/session.py +++ /dev/null @@ -1,26 +0,0 @@ -import web -from tui 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/src/tui/view.py b/packages/torouter-web/src/tui/view.py deleted file mode 100644 index ea885be..0000000 --- a/packages/torouter-web/src/tui/view.py +++ /dev/null @@ -1,14 +0,0 @@ -import os -import web -from tui import config - -t_globals = dict( -  datestr=web.datestr, -    ) - -# get the path where the script currently resides -current_path = "/".join(os.path.abspath(__file__).split("/")[:-1]) -# create the render object -render = web.template.render(current_path+'/views', cache=config.cache,  globals=t_globals) -render._keywords['globals']['render'] = render - diff --git a/packages/torouter-web/src/tui/views/base.html b/packages/torouter-web/src/tui/views/base.html deleted file mode 100644 index 5db0249..0000000 --- a/packages/torouter-web/src/tui/views/base.html +++ /dev/null @@ -1,83 +0,0 @@ -$def with (page,submenu=None) - -<!html> - -<html> -<head> -  <title>TUI - Tor Web User Interface</title> -<style type="text/css">  -/* Clear all */ -body { margin: 0;border: 0;padding: 0; } - -div.wrapper { -  min-height: 300px; -  width: 800px; -  margin: 0 auto; -} - -div.footer { -  text-align: center; -  background-color: #333; -  color: white; -  padding-top: 20px; -  padding-bottom: 20px; -} - -div.header { -  color: white; -} - -div.header ul { -  list-style: none; -  height: 20px; -} - -div.header ul li { -  font-size: 20px; -  float: left; -  padding: 5px 10px; -} - -div.header ul#submenu li { -  font-size: 15px; -} - -div.header ul#submenu li a.sel { -  color: black; -  text-decoration: none; -} - -/* More specific stuff */ -#torrc { -list-style: none; -line-height: 2em; -} - -#torrc em { -font-weight: bold; -font-style: normal; -} -</style> -<!-- 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/src/tui/views/firewall.html b/packages/torouter-web/src/tui/views/firewall.html deleted file mode 100644 index 30f5a9b..0000000 --- a/packages/torouter-web/src/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/src/tui/views/index.html b/packages/torouter-web/src/tui/views/index.html deleted file mode 100644 index 3907d84..0000000 --- a/packages/torouter-web/src/tui/views/index.html +++ /dev/null @@ -1 +0,0 @@ -The main index diff --git a/packages/torouter-web/src/tui/views/login.html b/packages/torouter-web/src/tui/views/login.html deleted file mode 100644 index 1377078..0000000 --- a/packages/torouter-web/src/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/src/tui/views/logout.html b/packages/torouter-web/src/tui/views/logout.html deleted file mode 100644 index f027ed4..0000000 --- a/packages/torouter-web/src/tui/views/logout.html +++ /dev/null @@ -1 +0,0 @@ -Successfully logged out! diff --git a/packages/torouter-web/src/tui/views/main.html b/packages/torouter-web/src/tui/views/main.html deleted file mode 100644 index dc503e7..0000000 --- a/packages/torouter-web/src/tui/views/main.html +++ /dev/null @@ -1 +0,0 @@ -the main page diff --git a/packages/torouter-web/src/tui/views/saved.html b/packages/torouter-web/src/tui/views/saved.html deleted file mode 100644 index ba14488..0000000 --- a/packages/torouter-web/src/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/src/tui/views/status.html b/packages/torouter-web/src/tui/views/status.html deleted file mode 100644 index bfe2fcd..0000000 --- a/packages/torouter-web/src/tui/views/status.html +++ /dev/null @@ -1,3 +0,0 @@ -$def with (content) - -$:content diff --git a/packages/torouter-web/src/tui/views/torconfig.html b/packages/torouter-web/src/tui/views/torconfig.html deleted file mode 100644 index 223c339..0000000 --- a/packages/torouter-web/src/tui/views/torconfig.html +++ /dev/null @@ -1,11 +0,0 @@ -$def with (content) - -<form method="POST" action="/tor/config" enctype="multipart/form-data"> -<ul> -<li><textarea cols="100" rows="50" name="torrc"> -$:content -</textarea></li> -<li><input type="submit" name="save"></li> -</ul> -</form> - diff --git a/packages/torouter-web/src/tui/views/torstatus.html b/packages/torouter-web/src/tui/views/torstatus.html deleted file mode 100644 index a2eeacf..0000000 --- a/packages/torouter-web/src/tui/views/torstatus.html +++ /dev/null @@ -1,5 +0,0 @@ -$def with (content, torrc) -<h2>This is the content of $:torrc</h2> -$:content - -<a href="/tor/config">edit torrc</a> diff --git a/packages/torouter-web/src/tui/views/wired.html b/packages/torouter-web/src/tui/views/wired.html deleted file mode 100644 index 3676f63..0000000 --- a/packages/torouter-web/src/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/src/tui/views/wireless.html b/packages/torouter-web/src/tui/views/wireless.html deleted file mode 100644 index 48242bc..0000000 --- a/packages/torouter-web/src/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/src/tui/views/wizard.html b/packages/torouter-web/src/tui/views/wizard.html deleted file mode 100644 index 0890507..0000000 --- a/packages/torouter-web/src/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--> | 
