예제 #1
0
def main():
    server = ThreadingUDPServer((HOST, PORT), ThreadedUDPRequestHandler)
    server_thread = threading.Thread(target=server.serve_forever)
    server_thread.daemon = True

    try:
        server_thread.start()
        logger = logging.getLogger("app")
        logger.info("Server started at {} port {}".format(HOST, PORT))
        # 一个死循环
        while True:
            time.sleep(100)
    except (KeyboardInterrupt, SystemExit):
        server.shutdown()
        server.server_close()
        exit()
예제 #2
0
    stream_handler.setFormatter(formatter)
    file_handler.setFormatter(formatter)

    from logging import getLogger
    log = getLogger(__name__)
    log.addHandler(file_handler)
    # log.addHandler(stream_handler)
    # f**k = getLogger("{}_stream_logger".format(__name__))
    # f**k.addHandler(stream_handler)

    from logging import INFO
    log.setLevel(INFO)
    # f**k.setLevel(INFO)

    intercept_domain, intercept_rr = [], []
    with open(args.intercept) as zonefile:
        for zone in zonefile:
            intercept_domain.append(zone.split(" ")[0])
            intercept_rr.append(zone)
    intercept_domain = list(set(intercept_domain))

    server = ThreadingUDPServer((args.host, args.port), CleanDNSHandler)
    # server_thread = Thread(target=server.serve_forever)
    # server_thread.daemon = False
    try:
        # server_thread.start()
        server.serve_forever()
    except KeyboardInterrupt:
        server.shutdown()
        server.server_close()