def list(loadpath=None): all_modules_config = Xcache.list_moduleconfigs() if all_modules_config is None: PostModuleConfig.load_all_modules_config() all_modules_config = Xcache.list_moduleconfigs() # 删除内部模块 for one in all_modules_config[:]: if one.get('MODULETYPE') == TAG2CH.internal: all_modules_config.remove(one) if loadpath is None: for one in all_modules_config: one['OPTIONS'] = [] context = list_data_return(200, CODE_MSG.get(200), all_modules_config) return context else: for one_module_config in all_modules_config: if one_module_config.get('loadpath') == loadpath: # 动态处理handler和凭证选项 new_module_config = PostModuleConfig._deal_dynamic_option( one_module_config=one_module_config) context = dict_data_return(200, CODE_MSG.get(200), new_module_config) return context # 没有找到模块 context = dict_data_return(200, CODE_MSG.get(200), {}) return context
def list(wid): models = WebsiteTechModel.objects.filter(wid=wid) websiteTechs = WebsiteTechSerializer(models, many=True).data CODE = 200 context = list_data_return(CODE, CODE_MESSAGE.get(CODE), websiteTechs) return context
def update(): PostModuleConfig.load_all_modules_config() all_modules_config = Xcache.list_moduleconfigs() for one in all_modules_config: one['OPTIONS'] = [] context = list_data_return(201, PostModuleConfig_MSG.get(201), all_modules_config) return context
def list(pid): models = IPaddressModel.objects.filter(pid=pid) ipaddresses = IPaddressSerializer(models, many=True).data # 添加ports信息 for ipaddress in ipaddresses: ports = Port.list_port(ipaddress.get('id')) ipaddress['ports'] = ports CODE = 200 context = list_data_return(CODE, CODE_MESSAGE.get(CODE), ipaddresses) return context
def create(pid, domain, websites): def websites_str_to_list(websitesStr): websites = [] templist = re.split('[,\n]', websitesStr) for one in templist: if re.search("(?:[-\w.]|(?:%[\da-fA-F]{2}))+", one): websites.append(one) return websites websites = websites_str_to_list(websites) count = Website.import_websites(pid, domain, websites) CODE = 201 context = list_data_return(CODE, CODE_MESSAGE.get(CODE), {'count': count}) return context
def list(pid): models = WebsiteModel.objects.filter(pid=pid) websites = WebsiteSerializer(models, many=True).data for website in websites: # 添加WebsiteTech信息 website['tech'] = WebsiteTech.list_by_wid(website.get('id')) # 添加waf信息 wafinfo = WebsiteWaf.get_by_wid(website.get('id')) website['hasWaf'] = wafinfo.get('hasWaf') website['waf'] = wafinfo.get('waf') website['detect_tech'] = wafinfo.get('detect_tech') cdninfo = WebsiteCDN.get_by_wid(website.get('id')) website['hascdn'] = cdninfo.get('hascdn') website['ipaddress'] = cdninfo.get('ipaddress') website['title'] = cdninfo.get('title') CODE = 200 context = list_data_return(CODE, CODE_MESSAGE.get(CODE), websites) return context
def list(ipid): result = Port.list_port(ipid) CODE = 200 context = list_data_return(CODE, CODE_MESSAGE.get(CODE), result) return context