aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorficus <ficus@robocracy.org>2012-11-23 23:13:04 +0100
committerficus <ficus@robocracy.org>2012-11-23 23:13:04 +0100
commitef89083295c28b1d8b15ff3dcd9a11d8c1595dea (patch)
treee4e5a822fc2c515cce83609203f214b04c4a5f96
parent7bca5bd6c727fb006f0b066f9c0760c91eae921c (diff)
downloadtui-ef89083295c28b1d8b15ff3dcd9a11d8c1595dea.zip
tui-ef89083295c28b1d8b15ff3dcd9a11d8c1595dea.tar.gz
add about page, include version number
-rw-r--r--TODO8
-rw-r--r--torouterui/__init__.py4
-rw-r--r--torouterui/server.py4
-rw-r--r--torouterui/templates/about.html67
-rw-r--r--torouterui/templates/base.html5
-rw-r--r--torouterui/templates/home.html6
-rw-r--r--torouterui/views.py4
7 files changed, 89 insertions, 9 deletions
diff --git a/TODO b/TODO
index 706ad04..b3ab8d1 100644
--- a/TODO
+++ b/TODO
@@ -6,15 +6,13 @@
- switch from os.popen to subprocess
- ifup/down doesn't set link status?
- CSS: blank space at top
-- display DHCP lease status of WAN port
-- modify DHCP lease settings for ethernet LAN
- enable/disable hotplug in interfaces when method changes
-- crude throttling (with wondershaper?)
# Then
-- add /about/ page with disclaimer, project link, and known bugs
- - include link to torproject.org hidden service
+- crude throttling (with wondershaper?)
+- display DHCP lease status of WAN port
+- modify DHCP lease settings for ethernet LAN
- admin authentication scheme
- only listen on local ethernet interface (enforce with firewall?)
- not-root permissions scheme for: interfaces, tor, wireless, ssh keys
diff --git a/torouterui/__init__.py b/torouterui/__init__.py
index c6517f5..42a6bb1 100644
--- a/torouterui/__init__.py
+++ b/torouterui/__init__.py
@@ -1,3 +1,7 @@
+
+__version_info__ = (0, 0, 1)
+__version__ = '.'.join(map(str,__version_info__))
+
from flask import Flask
app = Flask(__name__)
diff --git a/torouterui/server.py b/torouterui/server.py
index 8ae4a3a..3dfb946 100644
--- a/torouterui/server.py
+++ b/torouterui/server.py
@@ -1,8 +1,7 @@
-from torouterui import app
+from torouterui import app, __version__
import argparse
-
def main():
"""Primary entry-point for torouterui.
"""
@@ -27,6 +26,7 @@ def main():
default="uap0",
help="wifi interface (uap0 or wlan0)")
args = parser.parse_args()
+ app.config['TOROUTERVERSION'] = __version__
app.config['LAN_IF'] = args.lanif
app.config['WAN_IF'] = args.wanif
app.config['WIFI_IF'] = args.wifiif
diff --git a/torouterui/templates/about.html b/torouterui/templates/about.html
new file mode 100644
index 0000000..e4d11ac
--- /dev/null
+++ b/torouterui/templates/about.html
@@ -0,0 +1,67 @@
+{% extends "base.html" %}
+{% block body %}
+
+<h3>DISCLAIMERS!</h3>
+<strong style="color:red;">
+<ul>
+ <li>ROOT PASSSWORD IS "crud" AND REMOTE SSH IS ALLOWED
+ <li>This repo is hackish, under development and will probably not even build or "work"!
+ <li>torouter is not on official Tor Foundation project!
+ <li>The torouter CONCEPT has not been clarified or reviewed!
+ <li>This torouter IMPLEMENTATION is undocumented, unspeced, and full of bugs. do not use it!
+ <li>torouter has not (yet) been developed by a security expert!
+ <li>torouter will not (yet) protect your anonymity in any way!
+ <li>This work is unlicensed and contains licensed material!
+ <li>This is a partial list! And might be lies!
+</ul>
+</strong>
+
+<h3>Project Information</h3>
+
+<ul>
+ <li><a href="https://trac.torproject.org/projects/tor/wiki/doc/Torouter">torouter wikipage</a>: project description, motivation, history, and status.
+ <li><a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_information&status=needs_review&status=needs_revision&status=new&status=reopened&component=Torouter&order=changetime&col=id&col=summary&col=status&col=owner&col=type&col=priority&col=milestone&col=changetime&desc=1">trac tickets</a>: TODO items, bugs, discussion
+ <li><a href="http://ficus.robocracy.org">ficus.robocracy.org</a>: temporary
+ git repository and binary image hosting
+</ul>
+
+<h3>Background</h3>
+
+<p>
+Learn more by reading the Tor Project's
+<a href="https://www.torproject.us/about/overview.html.en">overview</a> and
+<a href="http://www.torproject.us/docs/documentation.html.en">documentation</a>.
+
+<h3>How do I check if Tor is working?</h3>
+
+<p>
+Tor is only transparently enabled on the local wireless network (check the <a
+href="/status">status page</a> to see if WiFi is enabled and what the SSID name
+is). When connected to that network only, you could determine if Tor is working
+correctly via:
+
+<dl>
+ <dt>check.torproject.org
+ <dd>The Tor Project runs a web service at
+ <a href="https://check.torproject.org">check.torproject.org</a> which
+ indicates if you connection is inbound from a known Tor exit node or not.
+
+ <dt>External IP Check
+ <dd>You can check your external "exit" IP address at domains like <a
+ href="https://whatismyip.com">whatismyip.com</a> or with queries to search
+ engines like <a href="https://duckduckgo.com/?q=what+is+my+ip">duckduckgo</a>
+ or <a href="https://encrypted.google.com/search?hl=en&q=what%20is%20my%20ip">google.com</a>.
+ You should get different results when browsing on the LAN ethernet port and
+ connecting to the wireless access point.
+
+ <dt>Hidden Services
+ <dd>You can check that DNS queries and transperent proxying is working
+ correctly by visiting a hidden service like duckduckgo's
+ (<a href="https://3g2upl4pq6kufc4m.onion">3g2upl4pq6kufc4m.onion</a>) or
+ torproject.org's
+ (<a href="https://idnxcnkne4qt76tg.onion/">idnxcnkne4qt76tg.onion</a>).
+ Read more about hidden services at
+ <a href="https://www.torproject.us/docs/hidden-services">torproject.org</a>
+</dl>
+
+{% endblock %}
diff --git a/torouterui/templates/base.html b/torouterui/templates/base.html
index 4c15c73..bf926c3 100644
--- a/torouterui/templates/base.html
+++ b/torouterui/templates/base.html
@@ -21,7 +21,7 @@
<a class="brand" href="#">torouter</a>
<div class="nav-collapse collapse">
<p class="navbar-text pull-right">
- version 0.0
+ version {{ config.TOROUTERVERSION or "?.?.?" }}
</p>
</div><!--/.nav-collapse -->
</div>
@@ -36,7 +36,8 @@
{% macro pagelink(path, name) -%}
<li {% if path == request.path %}class="active"{% endif %}><a href="{{path}}">{{name}}</a></li>
{%- endmacro %}
- {{ pagelink("/", "Status") }}
+ {{ pagelink("/", "System Status") }}
+ {{ pagelink("/about/", "About Project") }}
{{ pagelink("/reboot/", "Reboot...") }}
<li class="nav-header">Configuration</li>
{{ pagelink("/wan/", "Upstream Ethernet") }}
diff --git a/torouterui/templates/home.html b/torouterui/templates/home.html
index fa9900c..6610e51 100644
--- a/torouterui/templates/home.html
+++ b/torouterui/templates/home.html
@@ -2,6 +2,12 @@
{% extends "base.html" %}
{% block body %}
+<div class="alert alert-warning" style="color:red;">
+<strong>Achtung! Warning!</strong>
+This firmware is very experimental and has obvious known holes, like default
+root passwords available over SSH! Read the <a href="/about/">disclaimer</a>!
+You have been warned!
+</div>
<div class="row-fluid">
<div class="span6">
diff --git a/torouterui/views.py b/torouterui/views.py
index d3daf77..418c391 100644
--- a/torouterui/views.py
+++ b/torouterui/views.py
@@ -33,6 +33,10 @@ def statuspage():
status['tor'] = tor.get_tor_status()
return render_template('home.html', settings=None, status=status)
+@app.route('/about/')
+def aboutpage():
+ return render_template('about.html')
+
@app.route('/reboot/', methods=['GET', 'POST'])
def rebootpage():
msg = list()