实现配置文件插拔式设计

This commit is contained in:
Jing Ling
2020-08-07 20:06:16 +08:00
parent d7f7c54b1a
commit 69ce692ff1
14 changed files with 103 additions and 103 deletions
+3 -3
View File
@@ -13,7 +13,7 @@ from http.cookies import SimpleCookie
from common import utils
from common.module import Module
from config import setting
from config import settings
from config.log import logger
@@ -31,7 +31,7 @@ class MultiIdentify(Module):
done_queue = Manager().Queue()
for d in data:
task_queue.put(d)
processes_num = min(setting.banner_process_number, os.cpu_count())
processes_num = min(settings.banner_process_number, os.cpu_count())
logger.log('INFOR', f'Creating {processes_num} processes to identify')
result_data = []
_p = []
@@ -54,7 +54,7 @@ class MultiIdentify(Module):
class Identify(object):
def __init__(self):
self.start = time.time() # 模块开始执行时间
self.rule_dir = setting.data_storage_dir.joinpath('rules')
self.rule_dir = settings.data_storage_dir.joinpath('rules')
self._targets = {}
self.rules_num, self.RULES, self.RULE_TYPES = self.load_rules()
self._cond_parser = Condition()
+6 -6
View File
@@ -4,7 +4,7 @@ import importlib
import dbexport
from config.log import logger
from config import setting
from config import settings
from common import utils
@@ -26,7 +26,7 @@ class Collect(object):
"""
Get modules
"""
if setting.enable_all_module:
if settings.enable_all_module:
# modules = ['brute', 'certificates', 'crawl',
# 'datasets', 'intelligence', 'search']
# The crawl module has some problems
@@ -34,13 +34,13 @@ class Collect(object):
'dnsquery', 'intelligence', 'search']
# modules = ['certificates']
for module in modules:
module_path = setting.module_dir.joinpath(module)
module_path = settings.module_dir.joinpath(module)
for path in module_path.rglob('*.py'):
# Classes to be imported
import_module = ('modules.' + module, path.stem)
self.modules.append(import_module)
else:
self.modules = setting.enable_partial_module
self.modules = settings.enable_partial_module
def import_func(self):
"""
@@ -76,7 +76,7 @@ class Collect(object):
for thread in threads:
# 挨个线程判断超时 最坏情况主线程阻塞时间=线程数*module_thread_timeout
# 超时线程将脱离主线程 由于创建线程时已添加守护属于 所有超时线程会随着主线程结束
thread.join(setting.module_thread_timeout)
thread.join(settings.module_thread_timeout)
for thread in threads:
if thread.is_alive():
@@ -86,7 +86,7 @@ class Collect(object):
if self.export:
if not self.path:
name = f'{self.domain}.{self.format}'
self.path = setting.result_save_dir.joinpath(name)
self.path = settings.result_save_dir.joinpath(name)
dbexport.export(self.domain, path=self.path, format=self.format)
end = time.time()
self.elapse = round(end - start, 1)
+2 -2
View File
@@ -7,7 +7,7 @@ from common import utils
from common import resolve
from common import request
from common.module import Module
from config import setting
from config import settings
from config.log import logger
@@ -137,7 +137,7 @@ def filter_url(domain, url, black_name):
def get_black_name():
path = setting.data_storage_dir.joinpath('common_js_library.json')
path = settings.data_storage_dir.joinpath('common_js_library.json')
with open(path) as fp:
return json.load(fp)
+2 -2
View File
@@ -1,11 +1,11 @@
import json
import ipaddress
from config import setting
from config import settings
from common import utils
from config.log import logger
data_dir = setting.data_storage_dir
data_dir = settings.data_storage_dir
# from https://github.com/al0ne/Vxscan/blob/master/lib/iscdn.py
cdn_ip_cidr = utils.load_json(data_dir.joinpath('cdn_ip_cidr.json'))