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
Example #2
0
    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
Example #4
0
    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
Example #5
0
    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
Example #6
0
    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
Example #7
0
 def list(ipid):
     result = Port.list_port(ipid)
     CODE = 200
     context = list_data_return(CODE, CODE_MESSAGE.get(CODE), result)
     return context