mirror of https://github.com/MISP/misp-modules
parent
ec766f571c
commit
48c158271b
|
@ -210,37 +210,59 @@ class QueryModule(tornado.web.RequestHandler):
|
|||
self.finish()
|
||||
|
||||
|
||||
def _launch_from_current_dir():
|
||||
log.info('Launch MISP modules server from current directory.')
|
||||
os.chdir(os.path.dirname(__file__))
|
||||
modulesdir = 'modules'
|
||||
helpersdir = 'helpers'
|
||||
load_helpers(helpersdir=helpersdir)
|
||||
return load_modules(modulesdir)
|
||||
|
||||
|
||||
def main():
|
||||
global mhandlers
|
||||
global loaded_modules
|
||||
signal.signal(signal.SIGINT, handle_signal)
|
||||
signal.signal(signal.SIGTERM, handle_signal)
|
||||
argParser = argparse.ArgumentParser(description='misp-modules server')
|
||||
argParser = argparse.ArgumentParser(description='misp-modules server', formatter_class=argparse.RawTextHelpFormatter)
|
||||
argParser.add_argument('-t', default=False, action='store_true', help='Test mode')
|
||||
argParser.add_argument('-s', default=False, action='store_true', help='Run a system install (package installed via pip)')
|
||||
argParser.add_argument('-d', default=False, action='store_true', help='Enable debugging')
|
||||
argParser.add_argument('-p', default=6666, help='misp-modules TCP port (default 6666)')
|
||||
argParser.add_argument('-l', default='localhost', help='misp-modules listen address (default localhost)')
|
||||
argParser.add_argument('-m', default=[], action='append', help='Register a custom module')
|
||||
argParser.add_argument('--devel', default=False, action='store_true', help='''Start in development mode, enable debug, start only the module(s) listed in -m.\nExample: -m misp_modules.modules.expansion.bgpranking''')
|
||||
args = argParser.parse_args()
|
||||
port = args.p
|
||||
listen = args.l
|
||||
log = init_logger(level=args.d)
|
||||
if args.s:
|
||||
log.info('Launch MISP modules server from package.')
|
||||
load_package_helpers()
|
||||
mhandlers, loaded_modules = load_package_modules()
|
||||
if args.devel:
|
||||
log = init_logger(level=True)
|
||||
log.info('Launch MISP modules server in developement mode. Enable debug, load a list of modules is -m is used.')
|
||||
if args.m:
|
||||
mhandlers = {}
|
||||
modules = []
|
||||
for module in args.m:
|
||||
splitted = module.split(".")
|
||||
modulename = splitted[-1]
|
||||
moduletype = splitted[2]
|
||||
mhandlers[modulename] = importlib.import_module(module)
|
||||
mhandlers['type:' + modulename] = moduletype
|
||||
modules.append(modulename)
|
||||
log.info('MISP modules {0} imported'.format(modulename))
|
||||
else:
|
||||
mhandlers, loaded_modules = _launch_from_current_dir()
|
||||
else:
|
||||
log.info('Launch MISP modules server from current directory.')
|
||||
os.chdir(os.path.dirname(__file__))
|
||||
modulesdir = 'modules'
|
||||
helpersdir = 'helpers'
|
||||
load_helpers(helpersdir=helpersdir)
|
||||
mhandlers, loaded_modules = load_modules(modulesdir)
|
||||
log = init_logger(level=args.d)
|
||||
if args.s:
|
||||
log.info('Launch MISP modules server from package.')
|
||||
load_package_helpers()
|
||||
mhandlers, loaded_modules = load_package_modules()
|
||||
else:
|
||||
mhandlers, loaded_modules = _launch_from_current_dir()
|
||||
|
||||
for module in args.m:
|
||||
mispmod = importlib.import_module(module)
|
||||
mispmod.register(mhandlers, loaded_modules)
|
||||
for module in args.m:
|
||||
mispmod = importlib.import_module(module)
|
||||
mispmod.register(mhandlers, loaded_modules)
|
||||
|
||||
service = [(r'/modules', ListModules), (r'/query', QueryModule)]
|
||||
|
||||
|
|
Loading…
Reference in New Issue