def reconnector(self, onion): protocol = Protocol() protocol.onion = onion protocol.connectionLost = lambda failure: self.handleLostConnection(failure, onion) tor_endpoint = clientFromString(self.reactor, "tor:%s.onion:8060" % onion) self.onion_pending_map[onion] = connectProtocol(tor_endpoint, protocol) self.onion_pending_map[onion].addCallback(lambda protocol: self.connection_ready(onion, protocol)) self.onion_pending_map[onion].addErrback(lambda failure: self.connectFail(failure, onion))
def reconnector(self, onion): protocol = Protocol() protocol.onion = onion protocol.connectionLost = lambda failure: self.handleLostConnection( failure, onion) tor_endpoint = clientFromString(self.reactor, "tor:%s.onion:8060" % onion) self.onion_pending_map[onion] = connectProtocol(tor_endpoint, protocol) self.onion_pending_map[onion].addCallback( lambda protocol: self.connection_ready(onion, protocol)) self.onion_pending_map[onion].addErrback( lambda failure: self.connectFail(failure, onion))
def getOnionConnection(self, onion): """ getOnionConnection returns a deferred which fires with a client connection to an onion address. """ if onion in self.pool: log.msg("Found onion connection in pool to %s.onion" % onion) return defer.succeed(self.pool[onion]) else: log.msg("Did not find connection to %s.onion in pool" % onion) tor_endpoint = clientFromString( self.reactor, "tor:%s.onion:80" % onion) print(tor_endpoint) p = Protocol() p.onion = onion d = connectProtocol(tor_endpoint, p) def add_to_pool(result): self.pool[onion] = result d.addCallback(add_to_pool) return d
def getOnionConnection(self, onion): """ getOnionConnection returns a deferred which fires with a client connection to an onion address. """ if onion in self.pool: log.msg("Found onion connection in pool to %s.onion" % onion) return defer.succeed(self.pool[onion]) else: log.msg("Did not find connection to %s.onion in pool" % onion) tor_endpoint = clientFromString(self.reactor, "tor:%s.onion:80" % onion) print(tor_endpoint) p = Protocol() p.onion = onion d = connectProtocol(tor_endpoint, p) def add_to_pool(result): self.pool[onion] = result d.addCallback(add_to_pool) return d