def start(self): # logging if conf.getLogging(): logfile = conf.getLogfile() pathToLog = logfile.rsplit('/', 1)[0] if not os.path.exists(pathToLog): os.makedirs(pathToLog) file_handler = RotatingFileHandler(logfile, maxBytes=conf.getMaxLogSize(), backupCount=conf.getBacklog()) file_handler.setLevel(logging.ERROR) formatter = logging.Formatter( "%(asctime)s - %(name)s - %(levelname)s - %(message)s") file_handler.setFormatter(formatter) self.app.logger.addHandler(file_handler) #for route in web.Routes.get_routes(self): self.addRoute(route) if conf.getDebug(): # start debug flask server self.app.run(host=conf.getHost(), port=conf.getPort(), debug=True) else: # start asynchronous server using tornado wrapper for flask # ssl connection print("Server starting...") if conf.useSSL(): ssl_options = { "certfile": os.path.join(_runPath, "../", conf.getSSLCert()), "keyfile": os.path.join(_runPath, "../", conf.getSSLKey()) } else: ssl_options = None signal.signal(signal.SIGTERM, self.sig_handler) signal.signal(signal.SIGINT, self.sig_handler) self.http_server = HTTPServer(WSGIContainer(self.app), ssl_options=ssl_options) self.http_server.bind(conf.getPort(), address=conf.getHost()) self.http_server.start(0) # Forks multiple sub-processes IOLoop.instance().start()
VERSION = 'pre-release' RELEASEDATE = 'pre-release' DESC = '''Server for the NorthernSec darknet mailing project.''' # Parse args parser = argparse.ArgumentParser(description=DESC) parser.add_argument('-v', action='store_true', help='Version') args = parser.parse_args() # Main if __name__ == '__main__': if args.v: print("NorthernMail %s (%s)" % (VERSION, RELEASEDATE)) sys.exit(0) # Retrieve config host = conf.getHost() port = conf.getPort() # Start logging logger = RSALogger() # Start server sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) addr = (host, port) logger.log( 'Starting NorthernMail server %s on %s:%s' % (VERSION, host, port), 1) sock.bind(addr) sock.listen(1) try: while True: (cl_sock, (cl_ip, cl_port)) = sock.accept() logger.log(('Starting new thread for connected client - %s:%s' %
VERSION='pre-release' RELEASEDATE='pre-release' DESC='''Server for the NorthernSec darknet mailing project.''' # Parse args parser = argparse.ArgumentParser(description=DESC) parser.add_argument('-v', action='store_true', help='Version') args=parser.parse_args() # Main if __name__=='__main__': if args.v: print("NorthernMail %s (%s)"%(VERSION,RELEASEDATE)) sys.exit(0) # Retrieve config host=conf.getHost() port=conf.getPort() # Start logging logger=RSALogger() # Start server sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM) addr=(host,port) logger.log('Starting NorthernMail server %s on %s:%s'%(VERSION,host,port), 1) sock.bind(addr) sock.listen(1) try: while True: (cl_sock, (cl_ip,cl_port))=sock.accept() logger.log(('Starting new thread for connected client - %s:%s'%(cl_ip,cl_port))) thread=ClientThread(cl_ip,cl_port,cl_sock)