예제 #1
0
    def experiment(self, args):
        log.msg("Doing test")
        # What you return here gets handed as input to control
        from ooni.lib.txtorcon import TorProtocolFactory, TorConfig, TorState
        from ooni.lib.txtorcon import DEFAULT_VALUE, launch_tor
        def updates(prog, tag, summary):
            log.msg("%d%%: %s" % (prog, summary))

        def setup_failed(args):
            log.msg("Setup Failed.")
            report.update({'failed': args})
            return report

        def setup_complete(proto):
            log.msg("Setup Complete.")
            report.update({'success': args})
            return report

        config = TorConfig()
        config.SocksPort = 9999
        config.OrPort = 1234
        if 'bridge' in args:
            config.UseBridges = 1
            config.Bridge = args['bridge']
        config.save()
        report = {'tor_config': config.config}
        log.msg("Starting Tor")
        d = launch_tor(config, reactor, progress_updates=updates)
        d.addCallback(setup_complete)
        d.addErrback(setup_failed)
        return d
예제 #2
0
 def send_report(self, data, type):
     """
     This sends the report using the
     specified type.
     """
     #print "Reporting %s to %s" % (data, type)
     log.msg("Reporting to %s" % type)
     getattr(self, type+"_report").__call__(data)
예제 #3
0
파일: http.py 프로젝트: Rafiot/ooni-probe
    def experiment(self, args):
        log.msg("Running experiment")
        d = self.build_request(args['url'])
        def finished(data):
            return data

        d.addCallback(self._cbResponse)
        d.addCallback(finished)
        return d
예제 #4
0
파일: scapy.py 프로젝트: Rafiot/ooni-probe
    def experiment(self, args):
        log.msg("Running experiment")
        if self.receive:
            d = txsr(self.build_packets(), pcapfile=self.pcapfile)
        else:
            d = txsend(self.build_packets())
        def finished(data):
            return data

        d.addCallback(finished)
        return d
예제 #5
0
파일: tests.py 프로젝트: funsim/ooni-probe
 def finished(self, control):
     #self.ooninet.report(result)
     self.end_time = datetime.now()
     result = {}
     result['start_time'] = self.start_time
     result['end_time'] = self.end_time
     result['run_time'] = self.end_time - self.start_time
     result['result'] = control
     log.msg("FINISHED %s" % result)
     self.report(result)
     return result
예제 #6
0
    def experiment(self, args):
        log.msg("Running experiment")
        if self.receive:
            log.msg("Sending and receiving packets.")
            d = txsr(self.build_packets(), pcapfile=self.pcapfile,
                    timeout=self.timeout)
        else:
            log.msg("Sending packets.")
            d = txsend(self.build_packets())

        def finished(data):
            log.msg("Finished sending")
            return data

        d.addCallback(finished)
        return d
예제 #7
0
 def setup_complete(proto):
     log.msg("Setup Complete.")
     report.update({'success': args})
     return report
예제 #8
0
 def setup_failed(args):
     log.msg("Setup Failed.")
     report.update({'failed': args})
     return report
예제 #9
0
 def updates(prog, tag, summary):
     log.msg("%d%%: %s" % (prog, summary))
예제 #10
0
파일: tests.py 프로젝트: funsim/ooni-probe
 def startTest(self, args):
     self.start_time = datetime.now()
     log.msg("Starting test %s" % self.__class__)
     return self._do_experiment(args)
예제 #11
0
파일: tests.py 프로젝트: funsim/ooni-probe
 def experiment(self, args):
     log.msg("Doing experiment")
     return {}
예제 #12
0
파일: tests.py 프로젝트: funsim/ooni-probe
 def control(self, result, args):
     log.msg("Doing control")
     return result
예제 #13
0
 def gotError(err):
     log.msg("Had error :(")
     log.msg(err)
     return {'result': False, 'target': [host, port]}
예제 #14
0
 def gotProtocol(p):
     p.transport.loseConnection()
     log.msg("Got a connection!")
     log.msg(str(p))
     return {'result': True, 'target': [host, port]}
예제 #15
0
 def finished(data):
     log.msg("Finished sending")
     return data
예제 #16
0
파일: httpt.py 프로젝트: Rafiot/ooni-probe
 def control(self, experiment_result, args):
     # What you return here ends up inside of the report.
     log.msg("Running control")
     return {}