#!/usr/bin/env python3 # -*- coding: utf-8 -*- import time import _thread from Basis import DnsProxy from Basis.Check import Check from Basis.Logger import logging from Basis.Manager import Manager from Basis.Api import startServer from Basis.Constant import Version from Basis.Compile import startCompile # dnsServers = None dnsServers = ['223.5.5.5', '119.28.28.28'] def runCheck() -> None: # try to pop a task and check try: taskId, taskInfo = Manager.popTask() logging.warning('[%s] Load new task' % taskId) except: return # no more task checkResult = Check(taskId, taskInfo) logging.warning('[%s] Task finish' % taskId) Manager.finishTask(taskId, checkResult) def loopCheck() -> None: while True: # TODO: thread pool working runCheck() time.sleep(2) logging.warning('ProxyC starts running (%s)' % Version) _thread.start_new_thread(startCompile, ('/usr', )) # python compile (generate .pyc file) _thread.start_new_thread(DnsProxy.start, (dnsServers, 53)) # start dns server _thread.start_new_thread(loopCheck, ()) # start loop check startServer(apiToken = '') # start api server