Exemplo n.º 1
0
 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))
Exemplo n.º 2
0
 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))
Exemplo n.º 3
0
    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
Exemplo n.º 4
0
    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