Exemple #1
0
    def start(self):
        self.loadSites()

        ip = Utils.getIP()

        #define phishing sites
        for key in self.websites:
            self.phishingsites[key] = PhishingSite(self.config, key, self.websites[key]['path'], self.logpath, self.websites[key]['logfile'], self.websites[key]['redirecturl']).getResource()

        site_length = 0
        for key in self.phishingsites:
            if (len(key) > site_length):
                site_length = len(key)

        # if we are doing port based
        print
        for key in self.phishingsites:
            for port in range(self.MINPORT, self.MAXPORT):
                try:
                    site = Site(self.phishingsites[key], logPath=self.logpath + "/" + self.websites[key]['logfile']+".access")
                    site.logRequest = True
                    reactor.listenTCP(port, site)
                    print "Started website [%s] on [http://%s:%s]" % (('{:<%i}' % (site_length)).format(key), ip, port)
                    self.websites[key]['port'] = port
                    break
                except twisted.internet.error.CannotListenError, ex:
                    continue
def setup_gitter_oauth(api, port, debug=False):
    """Register the OAuth website with Twisted.
    """
    root = Resource()
    root.putChild('', Index(api.bot_fullname))
    root.putChild('auth_gitter', Redirect(api))
    root.putChild('callback', Callback(api))
    site = Site(root)
    site.displayTracebacks = debug
    site.logRequest = True
    reactor.listenTCP(port, site)
    def __init__(self,
                 bridge,
                 port,
                 homeserver_url,
                 homeserver_domain,
                 botname,
                 token_as,
                 token_hs,
                 debug=False):
        self.bridge = bridge
        self.homeserver_url = homeserver_url
        self.homeserver_domain = homeserver_domain
        self.token_as = token_as
        self.token_hs = token_hs

        if botname[0] == '@':
            botname = botname[1:]
        if ':' in botname:
            botname, domain = botname.split(':', 1)
            if domain != homeserver_domain:
                raise ValueError("Bot domain doesn't match homeserver")
        self.bot_username = botname
        self.bot_fullname = '@%s:%s' % (botname, homeserver_domain)

        # Create virtual user for bot
        if not self.bridge.virtualuser_exists('gitter'):
            log.info("Creating user gitter")
            d = self.matrix_request('POST', '_matrix/client/r0/register', {
                'type': 'm.login.application_service',
                'username': '******'
            })
            self.bridge.add_virtualuser('gitter')
            d.addErrback(
                Errback(
                    log, "Error creating user 'gitter' for the "
                    "bridge; usage over federated rooms "
                    "might not work correctly"))

        root = Resource()
        root.putChild('transactions', Transaction(self))
        root.putChild('users', Users(self))
        site = Site(root)
        site.displayTracebacks = debug
        site.logRequest = True
        reactor.listenTCP(port, site)
Exemple #4
0
def main(max_tasks_number):

    # Restricting the pathes. Trying to access the path,
    # which is not listed here, would cause 404 error.
    root = BaseView()
    root.putChild('add', AddTask())
    root.putChild('clear', ClearTasks())
    root.putChild('pause', PauseWorkers())
    root.putChild('resume', ResumeWorkers())
    root.putChild('status', TaskInfo())
    root.putChild('stats', LastStats())
    root.putChild('maxtasks', UpdateMaxTasks())

    # Define the Site with custom logFormatter
    site = Site(root, logFormatter=timedLogFormatter)
    site.logRequest = True

    reactor.listenTCP(SERVICE_PORT, site)
    log.info("Starting Workers with max-tasks-number=%s" % max_tasks_number)

    workers_manager.set_max_tasks_number(max_tasks_number)
    reactor.callLater(0, workers_manager.resume)
    reactor.run()