Example #1
0
def todaySay():
    # fileTamp = os.path.getctime(Paths.config[0] + 'today.json')
    fileTamp = os.stat(Paths.config[0]+'today.json').st_mtime
    timeArray = time.localtime(fileTamp)
    fileTime = time.strftime("%Y%m%d", timeArray)
    osTime = time.strftime("%Y%m%d", time.localtime())
    if fileTime != osTime:
        try:
            req = requests.get(
                "https://rest.shanbay.com/api/v2/quote/quotes/today/", timeout=3)
            with open(Paths.config[0] + 'today.json', 'w', encoding="utf-8") as f:
                f.write(req.text)
        except requests.exceptions.ConnectionError:
            print(mkPut.fuchsia("[{0}]".format(time.strftime(
                "%H:%M:%S", time.localtime()))), mkPut.yellow("[warning]"), "更新每日一说超时")
        except requests.exceptions.ReadTimeout:
            print(mkPut.fuchsia("[{0}]".format(time.strftime(
                "%H:%M:%S", time.localtime()))), mkPut.yellow("[warning]"), "更新每日一说超时")
        # with open(Paths.config[0]+'today.json', 'w', encoding="utf-8") as f:
        #     f.write(req.text)

    with open(Paths.config[0]+'today.json', 'r', encoding="utf-8") as f:
        today = json.load(f)
        content = today['data']['content']
        translation = today['data']['translation']
        author = "--- {0}".format(today['data']['author'])

    todaySays = '''
{0}

{1}

\t\t\t\t\t\t{2}
'''.format(content, translation, author)
    return todaySays
Example #2
0
 def main(self):
     for rule in ruleDatas:
         cms = rule[0]
         rulesRegex = rule[2]
         if 'headers' == rule[1]:
             self.heads(rulesRegex, cms)
         elif 'cookie' == rule[1]:
             self.cookieInfo(rulesRegex, cms)
         else:
             self.bodys(rulesRegex, cms)
     webTitle = ""
     webServer = ""
     webCms = "None"
     for key in WebInfos:
         if 'server' in WebInfos[key][0]:
             webServer = WebInfos[key][0]['server']
         else:
             webServer = "None"
         webTitles = re.findall(self.rex, WebInfos[key][1])
         if webTitles:
             webTitle = webTitles[0]
         else:
             webTitle = "None"
         OutInfos[key] = webCms, webServer, WebInfos[key][2], webTitle
         logger.success("{} {} {} {}".format(mkPut.green(webServer), mkPut.yellow(
             WebInfos[key][2]), key, mkPut.blue(webTitle)))
Example #3
0
 def heads(self, rulesRegex, cms):
     webTitle = ""
     webServer = ""
     for key in list(WebInfos):
         if 'server' in WebInfos[key][0]:
             webServer = WebInfos[key][0]['server']
         else:
             webServer = "None"
         webTitles = re.findall(self.rex, WebInfos[key][1])
         if webTitles:
             webTitle = webTitles[0]
         else:
             webTitle = "None"
         for head in WebInfos[key][0]:
             resHeads = re.findall(rulesRegex, WebInfos[key][0][head])
             if resHeads:
                 print(
                     mkPut.fuchsia("[{0}]".format(
                         time.strftime("%H:%M:%S", time.localtime()))),
                     mkPut.red(cms), mkPut.green(webServer),
                     mkPut.yellow(WebInfos[key][2]), key,
                     mkPut.blue(webTitle))
                 OutInfos[key] = cms, webServer, WebInfos[key][2], webTitle
                 WebInfos.pop(key)
                 break
Example #4
0
 def main(self):
     for rule in ruleDatas:
         cms = rule[0]
         rulesRegex = rule[2]
         if 'headers' == rule[1]:
             self.heads(rulesRegex, cms)
         elif 'cookie' == rule[1]:
             self.cookieInfo(rulesRegex, cms)
         else:
             self.bodys(rulesRegex, cms)
     webTitle = ""
     webServer = ""
     for key in WebInfos:
         if 'server' in WebInfos[key][0]:
             webServer = WebInfos[key][0]['server']
         else:
             webServer = "None"
         webTitles = re.findall(self.rex, WebInfos[key][1])
         if webTitles:
             webTitle = webTitles[0]
         else:
             webTitle = "None"
         print(
             mkPut.fuchsia("[{0}]".format(
                 time.strftime("%H:%M:%S", time.localtime()))),
             mkPut.green(webServer), mkPut.yellow(WebInfos[key][2]), key,
             mkPut.blue(webTitle))
         OutInfos[key] = webServer, WebInfos[key][2], webTitle
Example #5
0
def fmain(ips):
    if fofaApi['email'] and fofaApi['key']:
        pass
    else:
        print(
            mkPut.fuchsia('[{0}]'.format(
                time.strftime("%H:%M:%S", time.localtime()))),
            mkPut.yellow('[warning]'),
            '请修改配置文件{0}中fofaApi为您的API地址'.format(Paths.config[0] + 'config.py'))
        exit(0)
    threads = []
    sem = threading.Semaphore(threadNum)
    try:
        for ip in ips:
            if '/' in ip:
                ip = 'ip="{0}"'.format(ip)
            sem.acquire()
            t = Fofa(ip, sem)
            t.setDaemon(True)
            threads.append(t)
            t.start()
        for t in threads:
            t.join()
    except KeyboardInterrupt:
        pass
Example #6
0
 def bodys(self, rulesRegex, cms):
     webTitle = ""
     webServer = ""
     for key in list(WebInfos):
         if 'server' in WebInfos[key][0]:
             webServer = WebInfos[key][0]['server']
         else:
             webServer = "None"
         webTitles = re.findall(self.rex, WebInfos[key][1])
         if webTitles:
             webTitle = webTitles[0]
         else:
             webTitle = "None"
         resCodes = re.findall(rulesRegex, WebInfos[key][1])
         if resCodes:
             logger.success("{} {} {} {} {}".format(mkPut.red(cms), mkPut.green(
                 webServer), mkPut.yellow(WebInfos[key][2]), key, mkPut.blue(webTitle)))
             OutInfos[key] = cms, webServer, WebInfos[key][2], webTitle
             WebInfos.pop(key)
Example #7
0
from colorama import init


class LoggingLevel:
    SUCCESS = 9
    SYSINFO = 8
    ERROR = 7
    WARNING = 6


init(autoreset=True)

logging.addLevelName(LoggingLevel.SUCCESS, mkPut.cyan("[+]"))
logging.addLevelName(LoggingLevel.SYSINFO, mkPut.green("[INFO]"))
logging.addLevelName(LoggingLevel.ERROR, mkPut.red("[ERROR]"))
logging.addLevelName(LoggingLevel.WARNING, mkPut.yellow("[WARNING]"))

LOGGER = logging.getLogger("GlassLog")

formatter = logging.Formatter("%(asctime)s %(levelname)s %(message)s",
                              datefmt=mkPut.fuchsia("[%H:%M:%S]"))
LOGGER_HANDLER = logging.StreamHandler(sys.stdout)
LOGGER_HANDLER.setFormatter(formatter)
LOGGER.addHandler(LOGGER_HANDLER)
LOGGER.setLevel(LoggingLevel.WARNING)


class MY_LOGGER:
    def info(msg):
        return LOGGER.log(LoggingLevel.SYSINFO, msg)