Choose from current hidden services if over tor_hs_limit

This commit is contained in:
shortcutme 2017-04-09 11:58:18 +02:00
parent 16bfb35109
commit 75d94aaf06
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE

View file

@ -5,11 +5,12 @@ import binascii
import sys import sys
import os import os
import time import time
import random
import gevent
import subprocess import subprocess
import atexit import atexit
import gevent
from Config import config from Config import config
from Crypt import CryptRsa from Crypt import CryptRsa
from Site import SiteManager from Site import SiteManager
@ -208,6 +209,9 @@ class TorManager(object):
self.log.error("Tor reset circuits error: %s" % res) self.log.error("Tor reset circuits error: %s" % res)
def addOnion(self): def addOnion(self):
if len(self.privatekeys) >= config.tor_hs_limit:
return random.choice(self.privatekeys.keys())
result = self.makeOnionAndKey() result = self.makeOnionAndKey()
if result: if result:
onion_address, onion_privatekey = result onion_address, onion_privatekey = result
@ -305,4 +309,4 @@ class TorManager(object):
sock = socks.socksocket() sock = socks.socksocket()
sock.set_proxy(socks.SOCKS5, self.proxy_ip, self.proxy_port) sock.set_proxy(socks.SOCKS5, self.proxy_ip, self.proxy_port)
sock.connect((onion, int(port))) sock.connect((onion, int(port)))
return sock return sock