aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <cb15g11@soton.ac.uk>2014-03-03 15:56:46 +0000
committerChristopher Baines <cb15g11@soton.ac.uk>2014-03-03 15:56:46 +0000
commitce9b5b34c98922edcda748ac02850609a058d923 (patch)
treec592a7b54198867da33aaf8b8342ea705331b81c
parenta1154731c83395f28c87a251de17d039f53eda7e (diff)
downloadchutney-ce9b5b34c98922edcda748ac02850609a058d923.tar
chutney-ce9b5b34c98922edcda748ac02850609a058d923.tar.gz
Testing now works
-rw-r--r--lib/chutney/TorNet.py28
-rw-r--r--networks/hidden-service20
2 files changed, 39 insertions, 9 deletions
diff --git a/lib/chutney/TorNet.py b/lib/chutney/TorNet.py
index f1ebc08..5697fdd 100644
--- a/lib/chutney/TorNet.py
+++ b/lib/chutney/TorNet.py
@@ -20,13 +20,18 @@ import sys
import re
import errno
import time
+import thread
import stem.control
from twisted.web import server, resource
from twisted.internet import reactor
-from treq import get
+import StringIO
+import socket
+import urllib
+import socks
+import pycurl
import chutney.Templating
import chutney.Traffic
@@ -111,6 +116,25 @@ class Node(object):
"""
self._env['nodenum'] = num
+ def query(self, url):
+ print("querying %i at port %i" % (self._env['nodenum'], self._env['socksport']))
+
+ socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, '127.0.0.1', self._env['socksport'])
+ socket.socket = socks.socksocket
+
+ def getaddrinfo(*args):
+ print("getaddrinfo " + str(args))
+ return [(socket.AF_INET, socket.SOCK_STREAM, 6, '', (args[0], args[1]))]
+
+ socket.getaddrinfo = getaddrinfo
+
+ try:
+ return urllib.urlopen(url).read()
+ except:
+ e = sys.exc_info()[0]
+ print(e)
+ return "Unable to reach %s" % url
+
#####
# These are internal:
@@ -729,8 +753,8 @@ def runConfigFile(verb, f):
server=server,
resource=resource,
reactor=reactor,
- get=get,
time=time,
+ thread=thread,
_THE_NETWORK=_THE_NETWORK)
exec f in _GLOBALS
diff --git a/networks/hidden-service b/networks/hidden-service
index d45954c..e25a224 100644
--- a/networks/hidden-service
+++ b/networks/hidden-service
@@ -61,17 +61,23 @@ def start_test():
reactor.stop()
print("stopped the reactor")
- responses = {"1": 0, "2": 0}
+ def test():
+ print("connecting to clients")
+ responses = {"1": 0, "2": 0}
- def done(response):
- print("code %s" % response.code)
+ for c in Client:
+ result = c.query("http://2oiifbe3wne4iaqb.onion/");
- if response.code == 200:
- content = yield treq.content(resp)
- responses[site]++
+ responses[result] += 1
- get("http://127.0.0.1:8081/").addCallback(done)
+ print(result)
+ print(responses)
+ cleanup()
+
+ thread.start_new_thread(test, ())
+
+ print("running reactor")
reactor.run(installSignalHandlers=0)
def start():