[tor-commits] [torbel/master] Update the checkweb tool
sebastian at torproject.org
sebastian at torproject.org
Sun Sep 4 07:25:41 UTC 2011
commit a6d3263bd6c0b9031ba21fca79795d3f04be3521
Author: Sebastian Hahn <sebastian at torproject.org>
Date: Sun Sep 4 07:57:29 2011 +0200
Update the checkweb tool
---
checkweb.py | 38 +++++++++++++++++++++++++++++++-------
1 files changed, 31 insertions(+), 7 deletions(-)
diff --git a/checkweb.py b/checkweb.py
index 1d7d799..85a99a5 100755
--- a/checkweb.py
+++ b/checkweb.py
@@ -1,20 +1,46 @@
#!/usr/bin/python
import sys, os
-import query
+
+sys.path.append('/home/torbel')
+sys.path.append('/home/torbel/torflow')
+sys.path.append('/home/torbel/torbel')
+
+import torbel.query as query
from cgi import escape
from logger import *
from flup.server.fcgi import WSGIServer
-elist = query.ExitList(filename = "bel_export.csv")
-port = 8000
+import time
+from threading import Timer
+
+import math
+
+elist = None
+
+port = 80
log = get_logger("WSGITest")
+def update_elist():
+ global elist
+ elist = query.ExitList(filename = "/home/torbel/export/torbel_export.csv",
+ status_filename = "/home/torbel/export/torbel_export.status")
+ nextUpdate = math.ceil(time.mktime(elist.next_update.timetuple()) - time.time())
+ if nextUpdate > 0:
+ log.debug("Scheduling update in %d seconds.", nextUpdate)
+ Timer(nextUpdate, update_elist, ()).start()
+ else:
+ log.notice("Export file is not up-to-date. Trying again in 10 minutes.")
+ Timer(10*60, update_elist, ()).start()
+
+update_elist()
+
def app(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html')])
ipstr = environ["REMOTE_ADDR"]
- ip = query.ip_from_string(environ["REMOTE_ADDR"])
- router = elist.is_tor_traffic(ip, port)
+ ip = query.ip_from_string(ipstr)
+ dest_ip = query.ip_from_string("78.47.18.106")
+ router = elist.tor_exit_search(ip, dest_ip, port)
yield '<h1>ARE YOU FROM TOR?</h1>'
yield '<blink><strong>'
@@ -30,5 +56,3 @@ def app(environ, start_response):
if __name__ == "__main__":
log.debug("Loaded WSGI server (exit list has %d routers).", len(elist.cache_id))
WSGIServer(app).run()
-
-
More information about the tor-commits
mailing list