args = parser.parse_args() #prepare directory if workdir directory contains no files or if we are asked to do it. if args.prepare or len(os.listdir(args.workdir)) == 0: GlastopfHoneypot.prepare_environment(args.workdir) conf_parser = ConfigParser() if not os.path.isfile("glastopf.cfg"): sys.exit("Could not find configuration file: glastopf.cfg") conf_parser.read("glastopf.cfg") if conf_parser.getboolean("logging", "filelog_enabled"): logfile = conf_parser.get("logging", "logfile") else: logfile = None logconsole = conf_parser.getboolean("logging", "consolelog_enabled") logger = logging.getLogger() setup_logging(logconsole, logfile) host = conf_parser.get("webserver", "host") port = conf_parser.getint("webserver", "port") honeypot = GlastopfHoneypot(work_dir=args.workdir) honeypot.start_background_workers() wsgi_wrapper = GlastopfWSGI(honeypot) try: WSGIServer((host, port), wsgi_wrapper.application, log=None).serve_forever() except KeyboardInterrupt as ex: honeypot.stop_background_workers()