Always create TorManager object with ConnectionServer, move tormanager start to sperate function

This commit is contained in:
shortcutme 2018-04-28 21:51:14 +02:00
parent 7fee135bf5
commit 8828f21f2e
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE
2 changed files with 19 additions and 20 deletions

View file

@ -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

View file

@ -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