diff --git a/src/Tor/TorManager.py b/src/Tor/TorManager.py index 9f2b1801..59c5989c 100644 --- a/src/Tor/TorManager.py +++ b/src/Tor/TorManager.py @@ -5,11 +5,12 @@ import binascii import sys import os import time - -import gevent +import random import subprocess import atexit +import gevent + from Config import config from Crypt import CryptRsa from Site import SiteManager @@ -208,6 +209,9 @@ class TorManager(object): self.log.error("Tor reset circuits error: %s" % res) def addOnion(self): + if len(self.privatekeys) >= config.tor_hs_limit: + return random.choice(self.privatekeys.keys()) + result = self.makeOnionAndKey() if result: onion_address, onion_privatekey = result @@ -305,4 +309,4 @@ class TorManager(object): sock = socks.socksocket() sock.set_proxy(socks.SOCKS5, self.proxy_ip, self.proxy_port) sock.connect((onion, int(port))) - return sock + return sock \ No newline at end of file