Skip to content

Commit

Permalink
Support for Additional Tor Configurations
Browse files Browse the repository at this point in the history
  • Loading branch information
arunpandianp authored and Debian Live user committed Jan 14, 2014
1 parent 8aecab7 commit 3d8204c
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 10 deletions.
5 changes: 5 additions & 0 deletions data/ooniprobe.conf.sample
Expand Up @@ -57,3 +57,8 @@ tor:
# This should be set to something to avoid having Tor download each time
# the descriptors and consensus data.
#data_dir: ~/.tor/
torrc:
#HTTPProxy: host:port
#HTTPProxyAuthenticator: user:password
#HTTPSProxy: host:port
#HTTPSProxyAuthenticator: user:password
24 changes: 14 additions & 10 deletions ooni/director.py
Expand Up @@ -264,7 +264,6 @@ def startTor(self):
:param: tor_binary set in ooniprobe.conf
"""
log.msg("Starting Tor...")

@defer.inlineCallbacks
def state_complete(state):
config.tor_state = state
Expand Down Expand Up @@ -301,17 +300,9 @@ def updates(prog, tag, summary):
tor_config = TorConfig()
if config.tor.control_port:
tor_config.ControlPort = config.tor.control_port
else:
control_port = int(randomFreePort())
tor_config.ControlPort = control_port
config.tor.control_port = control_port

if config.tor.socks_port:
tor_config.SocksPort = config.tor.socks_port
else:
socks_port = int(randomFreePort())
tor_config.SocksPort = socks_port
config.tor.socks_port = socks_port

if config.tor.data_dir:
data_dir = os.path.expanduser(config.tor.data_dir)
Expand All @@ -337,8 +328,22 @@ def updates(prog, tag, summary):
bridges.append(bridge.strip())
tor_config.Bridge = bridges

for i in config.tor.torrc.keys():
setattr(tor_config, i, config.tor.torrc[i])

tor_config.save()

if not hasattr(tor_config,'ControlPort'):
control_port = int(randomFreePort())
tor_config.ControlPort = control_port
config.tor.control_port = control_port

if not hasattr(tor_config,'SocksPort'):
socks_port = int(randomFreePort())
tor_config.SocksPort = socks_port
config.tor.socks_port = socks_port

tor_config.save()
log.debug("Setting control port as %s" % tor_config.ControlPort)
log.debug("Setting SOCKS port as %s" % tor_config.SocksPort)

Expand All @@ -349,7 +354,6 @@ def updates(prog, tag, summary):
else:
d = launch_tor(tor_config, reactor,
progress_updates=updates)

d.addCallback(setup_complete)
d.addErrback(setup_failed)
return d

0 comments on commit 3d8204c

Please sign in to comment.