diff options
author | Christopher Baines <cbaines8@gmail.com> | 2013-11-29 21:56:54 +0000 |
---|---|---|
committer | Christopher Baines <cbaines8@gmail.com> | 2013-11-29 21:56:54 +0000 |
commit | 1a229ce58496deb5336943bd53919b6b66bcbed2 (patch) | |
tree | ef9f496839d719cb60706838d31c9a96ff5472fd | |
parent | fad78679d34e4f345b13942e9bbdc0ddbbb52e13 (diff) | |
download | chutney-1a229ce58496deb5336943bd53919b6b66bcbed2.tar chutney-1a229ce58496deb5336943bd53919b6b66bcbed2.tar.gz |
Add some things
-rw-r--r-- | hs/hostname | 1 | ||||
-rw-r--r-- | hs/private_key | 15 | ||||
-rw-r--r-- | lib/chutney/TorNet.py | 20 | ||||
-rw-r--r-- | networks/hidden-service | 10 | ||||
-rwxr-xr-x | run-hs-test.sh | 8 | ||||
-rw-r--r-- | torrc_templates/common.i | 1 | ||||
-rw-r--r-- | torrc_templates/hidden-service.tmpl | 11 | ||||
-rw-r--r-- | torrc_templates/intro.tmpl | 11 |
8 files changed, 77 insertions, 0 deletions
diff --git a/hs/hostname b/hs/hostname new file mode 100644 index 0000000..3ba79c4 --- /dev/null +++ b/hs/hostname @@ -0,0 +1 @@ +2oiifbe3wne4iaqb.onion diff --git a/hs/private_key b/hs/private_key new file mode 100644 index 0000000..0e325a0 --- /dev/null +++ b/hs/private_key @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXwIBAAKBgQDXj0sbFu1da6gnrwGmFPAe50Rk46Z+Z6M5sMVpgeiLHh1SQWRN +LiCyIkwe07j7FaSJgWjXcGs3tcma4OO+MxUZ9nKXeRXI43iPy4HHCcHG69FCKqtd +2BDm9JjHKJSbBq6CfumgZH4NHpKOqX00ktgLoczk89BHqPXtuKJVlWFShQIDAQAB +AoGBAM/sIQcFS3oUMQPuNAnuIlu8ueUTDXLaJsCr+Q+3RgaCysef2c70kocgvAn0 +MXbHvokAMY+1mUYIbGmfSS4aedtmUS/KuLX8eUFbg0ft3dyg8Nua0+rUbAvzWA3A +PXUkqcZDGTlbCbqPQiUknO3r0LMn4raxyNadERkcLktuQQdhAkEA+FpvC6+wEK7b ++lHWZp9hc0Xc0QdB3SPue3AqkpaQzJ42F7QpjPsFD4FM3JFiso27bj+OB+MWYlUk +y/RTrtIZeQJBAN4yYAN1FgMdntIOLAqRYCiT5eNU8pyFLQ6CsTKSclwNinofdeSm +DPWBz940ctLCAF8zMxie39Al4nwkSaqrym0CQQDco/tj9oIFUFQ+39YK9i4tqzOy +wS/St8l4AP7RnNKn9yc3h+giSCEG1WjjzIZS+3g5Sl10xFtuoRY/3KE7/4yBAkEA +2S6v/nEhlOYM6RCFJ8c1EDSPzYaopSjfA4HnJaFTOnrZ0ciSeW182TOLNIxbd3m8 +11C6LuSLq258VA88GiBUeQJBANBNwuIx1+nF7SAdk0aB6+Tvqw5NKmUqS5fzK7eg +2asZ1fgdDBYC14zZG0ckaFnR7iD1J5DovsZaHzfLhx3QFw8= +-----END RSA PRIVATE KEY----- diff --git a/lib/chutney/TorNet.py b/lib/chutney/TorNet.py index 57b8632..8e3df89 100644 --- a/lib/chutney/TorNet.py +++ b/lib/chutney/TorNet.py @@ -237,6 +237,8 @@ class LocalNodeBuilder(NodeBuilder): self._genAuthorityKey() if self._env['relay']: self._genRouterKey() + if self._env['hiddenservice']: + self._genHiddenServiceKey() def config(self, net): """Called to configure a node: creates a torrc file for it.""" @@ -303,6 +305,21 @@ class LocalNodeBuilder(NodeBuilder): assert re.match(r'^[A-F0-9]{40}$', fingerprint) self._env['fingerprint'] = fingerprint + def _genHiddenServiceKey(self): + """Generate an identity key for this router, unless we already have, + and set up the 'fingerprint' entry in the Environ. + """ + datadir = self._env['dir'] + cmdline = [ + "cp", "-r", + "/".join(datadir.split("/")[:-3]) + "/hs", + datadir + "/hidden_service" ] + p = subprocess.Popen(cmdline, stdout=subprocess.PIPE) + #stdout, stderr = p.communicate() + #print("creating hidden service key") + #print(stdout) + #print("FInished") + def _getAltAuthLines(self, hasbridgeauth): """Return a combination of AlternateDirAuthority, AlternateHSAuthority and AlternateBridgeAuthority lines for @@ -505,6 +522,9 @@ DEFAULTS = { 'hasbridgeauth' : False, 'relay' : False, 'bridge' : False, + 'hiddenservice' : False, + 'hiddenserviceport' : 80, + 'hiddenservicetarget' : '127.0.0.1', 'connlimit' : 60, 'net_base_dir' : 'net', 'tor' : 'tor', diff --git a/networks/hidden-service b/networks/hidden-service new file mode 100644 index 0000000..3f000e1 --- /dev/null +++ b/networks/hidden-service @@ -0,0 +1,10 @@ +Authority = Node(tag="a", authority=1, relay=1, torrc="authority.tmpl") +Relay = Node(tag="r", relay=1, torrc="intro.tmpl") +Client = Node(tag="c", torrc="client.tmpl") + +HiddenService = Node(tag="h", hiddenservice=1, torrc="hidden-service.tmpl", hiddenservicetarget="127.0.0.1:8081") +DelayedHiddenService = Node(tag="h", hiddenservice=1, torrc="hidden-service.tmpl", delay=60*10, hiddenservicetarget="127.0.0.1:8082") + +NODES = Authority.getN(3) + Relay.getN(5) + Client.getN(4) + HiddenService.getN(1) + DelayedHiddenService.getN(1) + +ConfigureNodes(NODES) diff --git a/run-hs-test.sh b/run-hs-test.sh new file mode 100755 index 0000000..109ba15 --- /dev/null +++ b/run-hs-test.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +export PATH=~/University/COMP3020/tor/src/or:$PATH + +./chutney stop networks/hidden-service +rm -rf net/nodes +./chutney configure networks/hidden-service +./chutney start networks/hidden-service diff --git a/torrc_templates/common.i b/torrc_templates/common.i index 2b5e4fa..ff1cf76 100644 --- a/torrc_templates/common.i +++ b/torrc_templates/common.i @@ -11,3 +11,4 @@ ProtocolWarnings 1 SafeLogging 0 ${authorities} +IntroPointAcceptMutipleConnections 1 diff --git a/torrc_templates/hidden-service.tmpl b/torrc_templates/hidden-service.tmpl new file mode 100644 index 0000000..866070e --- /dev/null +++ b/torrc_templates/hidden-service.tmpl @@ -0,0 +1,11 @@ +${include:common.i} +SocksPort 0 +#NOTE: Setting TestingClientConsensusDownloadSchedule doesn't +# help -- dl_stats.schedule is not DL_SCHED_CONSENSUS +# at boostrap time. +TestingClientDownloadSchedule 10, 2, 2, 4, 4, 8, 13, 18, 25, 40, 60 + +HiddenServiceDir ${dir}/hidden_service/ +HiddenServicePort ${hiddenserviceport} ${hiddenservicetarget} + +Log [rend]debug file ${dir}/rend.log diff --git a/torrc_templates/intro.tmpl b/torrc_templates/intro.tmpl new file mode 100644 index 0000000..f2d7d08 --- /dev/null +++ b/torrc_templates/intro.tmpl @@ -0,0 +1,11 @@ +${include:common.i} +SocksPort 0 +OrPort $orport +Address $ip +DirPort $dirport +#NOTE: Setting TestingServerConsensusDownloadSchedule doesn't +# help -- dl_stats.schedule is not DL_SCHED_CONSENSUS +# at boostrap time. +TestingServerDownloadSchedule 10, 2, 2, 4, 4, 8, 13, 18, 25, 40, 60 + +Log [rend]debug file ${dir}/intro.log |