def main():
    """ The entry point of red agent """
    listener_port = constant.DEFAULT_LISTENER_PORT

    #TODO: Command line arguments should be handled elegantly.
    if len(sys.argv) > 1:
        listener_port = sys.argv[1]
    AttackDB().update()

    Listener().work(constant.DEFAULT_LISTENER_IP, int(listener_port))

    assumed_state = {
        constant.STATE_KEY_PROTOCOL: constant.STATE_VALUE_PROTOCOL_IP,
        constant.STATE_KEY_ADDRESS: constant.DEFAULT_TARGET_IP
    }

    goal = Condition()
    goal.add((constant.STATE_KEY_SHELL, constant.CONDITION_OPERATOR_EQUAL,
              constant.STATE_VALUE_SHELL_PERMANENT))
    goal.add((constant.STATE_KEY_PRIVILEGE, constant.CONDITION_OPERATOR_EQUAL,
              constant.STATE_VALUE_PRIVILEGE_ROOT))

    planner = Planner(assumed_state, goal)
    try:
        planner.make_plan()
        print(planner)
        planner.run()

    except Exception as e:
        traceback.print_exc()
        Listener().stop()
        raise e

    Listener().stop()
    sys.exit(0)
    def __run_remote(self, state):
        """
        Perform command(private method related to \"run\" method)
        This is for executing command on remote machine, which means it will interact with Listener.

        :param: state State

        :return: Dict state
        """
        interface = state["address"]

        if self.__get_command_type() == "FILE":
            raise RuntimeError("NOT IMPLEMENTED")

        if self.__get_recv() == "NONE":
            Listener().send_only(interface, self.__get_command(state))
        elif self.__get_recv() == "shell":
            Listener().send_only(interface, self.__get_command(state))
            Listener().update_state_as_address(interface)
            state["shell"] = Listener().get_state(interface)
        else:
            print("command : " + self.__get_command(state))
            response = Listener().send(interface, self.__get_command(state))
            if response == None:
                print("response : None")
            else:
                if len(response) > 30:
                    print("response : " + response[:30] + " ...")
                else:
                    print("response : " + response)
            if response != None:
                state[self.__get_recv()] = response
        return state
Example #3
0
def start_ip_listener():
    listener_ipv4 = None
    listener_ipv6 = None

    if socket.has_ipv6:
        try:
            listener_ipv6 = Listener(shared.listening_host,
                                     shared.listening_port,
                                     family=socket.AF_INET6)
            listener_ipv6.start()
        except Exception as e:
            logging.warning(
                'Error while starting IPv6 listener on port {}'.format(
                    shared.listening_port))
            logging.warning(e)

    try:
        listener_ipv4 = Listener(shared.listening_host, shared.listening_port)
        listener_ipv4.start()
    except Exception as e:
        if listener_ipv6:
            logging.warning(
                'Error while starting IPv4 listener on port {}. '.format(
                    shared.listening_port) +
                'However the IPv6 one seems to be working and will probably accept IPv4 connections.'
            )
        else:
            logging.error(
                'Error while starting IPv4 listener on port {}. '.format(
                    shared.listening_port) +
                'You will not receive incoming connections. Please check your port configuration'
            )
            logging.error(e)
Example #4
0
def main():
    global EXIT
    
    ##join with the tables
    hour_subscription=Subscriber()
    hour_subscription.subscribe('/topic/enrich/hour', 'join_hour', Listener(hour_subscription,hourly_action))
    day_subscription=Subscriber()
    day_subscription.subscribe('/topic/report/day', 'join_day', Listener(day_subscription,daily_action))
    while not EXIT:
        pass
Example #5
0
 def __init__(self, peer):
     # print "A communicator is created!"
     self.peer = peer
     self.messageQueue = peer.messageQueue
     self.mylistener = Listener(peer)
     self.mylistener.setDaemon(True)
     self.mylistener.start()
Example #6
0
 def __init__(self):
     pyautogui.PAUSE = round(uniform(1.5, 2.3), 2)
     self.listener = Listener()
     self.search = Search()
     self.bglistener = None
     self.waypoints = []
     self.end = False
 def __init__(self):
     conn1, conn2 = multiprocessing.Pipe()
     self.conn = conn2
     self.listener = Listener(debug_connection=conn1)
     self.listener.start()
     self.bpm_to_test = [0]
     self.bpm_energies = [0]
Example #8
0
def main():

    parser = argparse.ArgumentParser(description='Set configuration.')

    parser.add_argument("-c",
                        "--file",
                        type=str,
                        nargs=1,
                        metavar=('file'),
                        help="Choose file with URL's list")

    parser.add_argument("-l",
                        "--log",
                        type=str,
                        nargs=1,
                        metavar=('log'),
                        help="Choose log file")

    args = parser.parse_args()

    with open(args.file[0]) as file:
        data = json.load(file)
        dict_list = data['pages']

    manager = mp.Manager()
    q = manager.Queue()
    pool = mp.Pool(mp.cpu_count() + 2)
    listener = Listener(q, args.log[0])

    for web_page in dict_list:
        workers.put(MyTask(web_page, q))

    w = pool.apply_async(listener.listener())
Example #9
0
def main():
    """ Main run function """

    set_logging()
    logger = logging.getLogger(f"{__name__}.main")

    auth = tweepy.OAuthHandler(os.getenv("CONSUMER_KEY"),
                               os.getenv("CONSUMER_KEY_SECRET"))
    auth.set_access_token(os.getenv("ACCESS_TOKEN"),
                          os.getenv("ACCESS_TOKEN_SECRET"))
    api = tweepy.API(auth,
                     wait_on_rate_limit=True,
                     wait_on_rate_limit_notify=True)

    following = get_following_users(api)
    following.extend(get_default_users(api))
    tracks = get_following_searches()

    logger.info(f"Following {len(following)} users and {len(tracks)} searches")
    while True:
        listener = Listener()
        stream = Stream(auth=api.auth, listener=listener)
        try:
            logger.info("Started streaming")
            stream.filter(follow=following, track=tracks)
        except KeyboardInterrupt:
            logger.info("Stopped")
            break
        except ReadTimeoutError as exc:
            logger.error("Handled exception:", str(exc), exc_info=True)
        finally:
            logger.info("Done")
            stream.disconnect()
Example #10
0
    def get_solver(self):
        # create empty solver
        solver = Solver(Field(self.config['size'], self.config['delta']))

        # create parser
        parser = BooleanParser()

        # get meshgrid
        x, y = solver.material['electric'].meshgrid

        # create materials
        for name, mask, function in self.material['electric']:
            solver.material['electric'][parser.parse(str(mask), x=x, y=y)] = \
                    material_from_string(function, {'epsilon':
                        Material.epsilon})

        for name, mask, function in self.material['magnetic']:
            solver.material['magnetic'][parser.parse(str(mask), x=x, y=y)] = \
                    material_from_string(function, {'mu':
                        Material.mu})

        # create source
        for name, mask, function in self.source:
            solver.source[parser.parse(str(mask), x=x, y=y)] = \
                    source_from_string(function)

        # create listener
        for name, x, y in self.listener:
            solver.listener.append(Listener(x, y))

        # return new solver
        return solver
Example #11
0
 def chooseNextAction(self):
     
     previous_action = self.current_action
     
     # set next state as the correct action listen, buy, monitor,sell
     next_action = Action("null")
     
     if (previous_action.descr == "Listen"):
         
         next_action = Buyer(self.data, previous_action.position, previous_action.log, 0.5)
     
     elif (previous_action.descr =="Buy"):
         
         next_action = Monitor(self.data, previous_action.position, previous_action.log, self.model)
                 
     elif (previous_action.descr == "Monitor"):
         
         next_action = Seller(self.data, previous_action.position, previous_action.log, 0.5)
         
     elif (previous_action.descr == "Sell"):
     
         next_action = Listener(self.data, previous_action.position, previous_action.log, self.model)
     
     else:
         next_action.descr = "Abort!!!"
     
     self.current_action = next_action
     
     return (next_action)
 def __init__(self, ip, binary, name="noname", port=22):
     self.name = name
     self.ip = ip
     self.port = port
     listener_port = random.randint(20000, 25000)
     self.listener = Listener(name, ip, listener_port, self)
     self.binary = Binary(binary, self)
Example #13
0
def load_data_tweeter(file_name):
    host = locale.MONGODB_SERVER
    port = locale.MONGODB_PORT
    database = locale.MONGODB_DB
    collection = locale.MONGODB_COLLECTION

    # OAuth process, using the keys and tokens
    auth = OAuthHandler(locale.CONSUMER_KEY, locale.CONSUMER_SECRET)
    auth.set_access_token(locale.ACCESS_TOKEN, locale.ACCESS_TOKEN_SECRET)

    start_time = time.time()
    keyword_list = ['tweets']  # Trank list to search

    # Initialize Stream object with a time out limit
    twitter_stream = Stream(auth, Listener(start_time, time_limit=3))

    # Call the filter method to run the Stream Object
    twitter_stream.filter(track=keyword_list, languages=['en'])

    with open(file_name, 'r') as json_data:
        data = json.load(json_data)
        with mongodb_connect(host, port, database, collection) as colection:
            colection.delete_many({})  # Cleaning MONGODB collection
            data = json.loads(data)
            colection.insert(data)

            tweets_iterator = colection.find()
            for tweet in tweets_iterator:
                msg = u'{0} said via twitter: {1}'.format(
                    tweet['user']['name'], tweet['text'])
                print msg

            colection.find({"retweeted_status": {"$exists": "true"}})
 def __init__(self):
     ShowBase.__init__(self)
     #Ambient Light
     self.init_light()
     #backgroundColour seting to mostly red.
     self.setBackgroundColor(1, 0.2, 0.2, 1)
     #setup scene model and camera position
     self.scene = self.init_scene_and_cam()
     #some variables:
     self.WINDOW_SIZE_X = WINDOW_SIZE_X
     self.WINDOW_SIZE_Y = WINDOW_SIZE_Y
     self.rodProjectiles = []
     self.profProjectiles = []
     self.prof_count = 0
     self.Profs = []
     self.rodney = ''
     self.init_profs()
     self.init_Rodney()
     self.taskMgr.add(self.collision_task, "handle_collisions")
     Listener(self)
     #start the game.
     self.nextProf()
     self.taskMgr.add(self.rodney.mouse_control_event, "mouseShootingEvent")
     self.handler = CollisionHandlerQueue()
     self.traverser = CollisionTraverser('check projectiles')
     self.cTrav = self.traverser
Example #15
0
 def __init__(self, id=None, data=None):
     if data is None:
         data = {}
     self.listeners = []
     self.attributes = data
     self.id = id
     listenerA = Listener("<Crud Notification>", self)
Example #16
0
def main(arglist):
    logging.basicConfig(
        format='%(funcName)s:%(lineno)d %(levelname)s %(message)s',
        level=logging.INFO)
    parser = argparse.ArgumentParser()
    parser.add_argument('--mode',
                        dest='mode',
                        default=RUN_MODE.UPLOAD,
                        help='The mdoe to run Good drive uploader',
                        choices=RUN_MODE.CHOICES)
    parser.add_argument('--upload',
                        dest='upload',
                        default='',
                        help='Upload a file or directory')
    args = parser.parse_args(arglist[1:])

    if args.mode == RUN_MODE.UPLOAD:
        if not args.upload:
            raise ValueError('params --upload required')
        GoogleDriveUpload.upload_in_shared(args.upload)

    elif args.mode == RUN_MODE.LISTENER:
        PORT = 4242
        IP = '127.0.0.1'
        uploader = GoogleDriveUpload()
        listener = Listener(IP, PORT, uploader)
        listener.listen()
Example #17
0
def main():
    global EXIT
    subscription = Subscriber()
    subscription.subscribe('/queue/analytics/hour', 'report_',
                           Listener(subscription, action))
    while not EXIT:
        pass
Example #18
0
    def listen(self) -> Listener:
        """Listen (Passive open) is the Action of waiting for Connections from remote Endpoints. Before listening
        the transport system will resolve transport properties for candidate protocol stacks. A local endpoint must be
        passed to the Preconnection prior to listen.

        :return: A listener object.
        """
        if not self.local_endpoint:
            shim_print("Listen error - Local Endpoint MUST be specified if when calling listen on the preconnection", level="error")
            backend.clean_up(self.__context)
            sys.exit(1)

        candidates = self.transport_properties.select_protocol_stacks_with_selection_properties()
        if candidates is None:
            shim_print("Unfulfilled error - No stacks meeting the given constraints by properties", level="error")
            if self.unfulfilled_handler:
                self.unfulfilled_handler()
            else:
                backend.clean_up(self.__context)

        backend.pass_candidates_to_back_end(candidates, self.__context, self.__flow)

        if self.security_parameteres:
            self.register_security(is_server=True)

        shim_print("LISTEN!")
        listener = Listener(self.__context, self.__flow, self.__ops, self)
        return listener
    def __run_local(self, state, interface):
        """
        Perform command.
        This is for executing command on local machine, which means it will not interact with Listener.

        :param: state State
        :param: interface A file path used as an interface between an agent and an external attack script.

        :return: Dict state
        """
        command = self.__get_command(state)
        args = shlex.split(command)
        args.append(interface)

        with open(os.devnull, "wb") as err:
            subprocess.Popen(args, stdout=err, stderr=err).communicate()

        with open(interface, "r") as f:
            state = json.load(f)

        if self.__get_recv() == "interface":
            pass
        elif self.__get_recv() == "shell":
            shell_state = Listener().get_state(state["address"])
            if shell_state != None:
                state["shell"] = shell_state
        else:
            raise RuntimeError("NOT IMPLEMENTED")

        return state
Example #20
0
    def run(self):
        self.is_running = True

        if self.is_listening:
            if self.is_verbose:
                print "\033[34m[*]\033[0m starting the listener ...."
            ''' START Listener '''
            self.listener = Listener(open_sock=self.sock,
                                     isVerbose=self.is_verbose)
            self.listener.daemon = True
            self.listener.start()

        if self.is_verbose:
            print "\033[34m[*]\033[0m starting the sender ...."
        ''' START Sender'''
        self.sender = Sender(sock=self.sock,
                             messages=self.messages,
                             peers=self.peer,
                             isVerbose=self.is_verbose,
                             msg_freq=self.msgs_freq,
                             wait_time=self.wait_time,
                             gtp_port=self.gtp_port)
        self.sender_daemon = True
        self.sender.start()
        self.sender.join()
        time.sleep(5)
        self.stop()
Example #21
0
    def __init__(self,
                 name,
                 color,
                 verbose=True,
                 silent=False,
                 menu_path=None):
        """
        Constructor
        :param name: the bot's name it will use in the dialogues
        :param color: the color the bot will use in the prompt
        :param verbose: whether the bot should print info about
        the command it receives (dependency tree, lemmas info)
        :param silent: if true, then only use print (no text to speech)
        :param menu_path: the path of the stored menu
        """

        self._name = name
        self._speaker = Speaker(rate=150, volume=1)
        self._listener = Listener(mic_index=0)
        self._prompt = colored(f'{self._name}: ', color)
        self._verbose = verbose
        self._silent = silent

        self._frame_stack = []
        self._current_frame = None

        self._is_over = False

        if menu_path is not None:
            self._load_menu(menu_path)
        else:
            self._menu = {"entries": []}

        # when finished setup, welcome user
        self._say(self._welcome())
    def start(self):
        self.running = True
        conn_listener = Listener(self.index, self.port, self.clock)
        conn_listener.start()

        for i in range(constants.EVENTS_COUNT):
            if not self.running:
                break

            sleep(min(random.random() + 0.5, 1))
            self.clock.increment()
            if random.random() > self.chance:
                # local
                self.logger.info(f"{perf_counter_ns() // 1000} {self.index} {self.clock.get()}{self.index} l")
            else:
                # remote
                idx, node = self.get_node()
                try:
                    self.send_message(idx, node)
                except SocketTimeout:
                    print(
                        f"""Error: Timeout sending message to node {idx} ({node["host"]}:{node["port"]})"""
                    )
                    break

        conn_listener.stop()
Example #23
0
def add_macro():
    global database, listenter
    name = request.form.get("name")
    language = request.form.get("language")
    age_group = request.form.get("age")
    gender = request.form.get("gender")
    description = request.form.get("description")
    keyboard_events_path = request.form.get("key_file")
    event_strings = request.form.get("events_string")
    sound_1 = request.form.get("sound_1")
    sound_2 = request.form.get("sound_2")
    sound_3 = request.form.get("sound_3")

    ok, message = training_service.get_model(name, (sound_1, sound_2, sound_3),
                                             language, age_group, gender)
    if (not ok):
        return jsonify({"message": message})
    else:
        try:
            database.insert((name, language, age_group, gender, description,
                             event_strings, keyboard_events_path, message))
            try:
                listenter.stop()
            except Exception as e:
                pass
            if (len(database.get_all()) > 0):
                listenter = Listener(sensitivity=args.sensitivity,
                                     speed_factor=args.speed_factor)
                listenter.start()
            return jsonify({"message": "ok"})
        except sqlite3.Error as e:
            return jsonify({"message": e.args[0]})
Example #24
0
 def __init__(self, database: DB):
     if not isinstance(database, DB):
         raise TypeError('Controller was not supplied a DB object')
     self.manifest = Manifest()
     self.request_queue = multiprocessing.Queue()
     self.listener = Listener(self.request_queue)
     self.database = database
Example #25
0
 def get_audio_information(self, audio):
     # TODO: Mudar para diretorio apropriado
     directory = './audios/'
     audio_data = Listener("{}{}".format(directory, audio),
                           option="gender",
                           save_into="./received_audio_data.csv")
     return self.normalize('dataset.csv', audio_data,
                           'received_audio_data.csv')
def main():
    global EXIT
    subscription = Subscriber()
    subscription.subscribe('/queue/source', 'clean',
                           Listener(subscription, action))
    while not EXIT:
        pass
    subscription.disconnect()
Example #27
0
 def __init__(self, is_debug):
     self.__init_base_services(is_debug)
     self.__init_plugins()
     self.__init_apps()
     self.last_msg = time.time()
     self.__monitoring_thread = threading.Thread(target=self.monitor_apps,
                                                 daemon=True)
     self.__monitoring_thread.start()
     self.__listener = Listener(self)
Example #28
0
def main(argv):
    input = FileStream(argv[1])
    lexer = YailLexer(input)
    stream = CommonTokenStream(lexer)
    parser = YailParser(stream)
    tree = parser.prog()
    listener = Listener()
    walker = ParseTreeWalker()
    walker.walk(listener, tree)
Example #29
0
def _listener(arguments):
    """
    Listener subcommand callback
    """
    logging.info('Starting Listener')
    listener = Listener(silence_time=arguments.silence_time,
                        threshold=arguments.threshold,
                        filename_prefix=arguments.filename_prefix)
    listener.get_utterance()
Example #30
0
def start_to_listen():
    with open('credentials/twitter-api.json') as json_file:
        #Open credentials and insert api keys
        twitter_apiKeys = json.load(json_file)

    print("\n ===== Hey there, I'll start to listen to tweets about Joker ===== \n")
    print(" Press ctrl+C when you want me to stop!! ")
    mylistener = Listener(twitter_apiKeys)  
    mylistener.set_authentication()
    mylistener.start_listening()