From 8828f21f2ef2c1995a14f401cd0937ea9cbfeb7c Mon Sep 17 00:00:00 2001 From: shortcutme Date: Sat, 28 Apr 2018 21:51:14 +0200 Subject: [PATCH] Always create TorManager object with ConnectionServer, move tormanager start to sperate function --- src/Connection/ConnectionServer.py | 5 ++--- src/Tor/TorManager.py | 34 +++++++++++++++--------------- 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/src/Connection/ConnectionServer.py b/src/Connection/ConnectionServer.py index 0645fc65..e432de6b 100644 --- a/src/Connection/ConnectionServer.py +++ b/src/Connection/ConnectionServer.py @@ -27,10 +27,9 @@ class ConnectionServer(object): self.port_opened = None self.peer_blacklist = SiteManager.peer_blacklist + self.tor_manager = TorManager(self.ip, self.port) if config.tor != "disabled": - self.tor_manager = TorManager(self.ip, self.port) - else: - self.tor_manager = None + self.tor_manager.start() self.connections = [] # Connections self.whitelist = config.ip_local # No flood protection on this ips diff --git a/src/Tor/TorManager.py b/src/Tor/TorManager.py index 64294306..9b5b5ca0 100644 --- a/src/Tor/TorManager.py +++ b/src/Tor/TorManager.py @@ -56,23 +56,23 @@ class TorManager(object): self.proxy_ip, self.proxy_port = config.tor_proxy.split(":") self.proxy_port = int(self.proxy_port) - # Test proxy port - if config.tor != "disable": - try: - assert self.connect(), "No connection" - self.log.debug("Tor proxy port %s check ok" % config.tor_proxy) - except Exception, err: - self.log.info("Starting self-bundled Tor, due to Tor proxy port %s check error: %s" % (config.tor_proxy, err)) - self.enabled = False - # Change to self-bundled Tor ports - from lib.PySocks import socks - self.port = 49051 - self.proxy_port = 49050 - socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", self.proxy_port) - if os.path.isfile(self.tor_exe): # Already, downloaded: sync mode - self.startTor() - else: # Not downloaded yet: Async mode - gevent.spawn(self.startTor) + def start(self): + try: + if not self.connect(): + raise Exception("No connection") + self.log.debug("Tor proxy port %s check ok" % config.tor_proxy) + except Exception, err: + self.log.info(u"Starting self-bundled Tor, due to Tor proxy port %s check error: %s" % (config.tor_proxy, err)) + self.enabled = False + # Change to self-bundled Tor ports + from lib.PySocks import socks + self.port = 49051 + self.proxy_port = 49050 + socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", self.proxy_port) + if os.path.isfile(self.tor_exe): # Already, downloaded: sync mode + self.startTor() + else: # Not downloaded yet: Async mode + gevent.spawn(self.startTor) def setStatus(self, status): self.status = status