def __init__(self): self.config = config self.identity = Identity() self.ipfs = IPFSNode() self.scandb = ScanDB( self.ipfs, self.identity, self.config['main']['username'], index_path='scandb/index_dag', data_path='scandb/data_blocks', write_buffer_path='/data/filestore/scandb/buffer.json', heads_file_path='/data/filestore/scandb/dag_heads.json', genesis_nodes=self.config['scandb']['genesis_nodes'], logger_name='SCANDB', log_level=self.config['scandb']['log_level'], ) self.status = {} self.scanner = PortScanner() self.scan_queue = queue.Queue() self.logger = get_logger('MAIN', self.config['main']['log_level']) self.consumer_queue = queue.Queue() self.producer_queue = queue.Queue() self.status = { 'scandb': { 'index_dag': { 'sync': True }, 'data_blocks': { 'sync': True, 'total': 0, 'pending': 0 } }, 'port_scanner': { 'mode': 'scan', # banner_grab or analysis 'data': {} }, 'ipfs': { 'pubsub_peers': 0, 'swarm_peers': 0 } }
def ConnectScanDB(self, **kws): self.scandb = ScanDB(**kws) # print "Scandb ", self.scandb if self.scandb is not None: basedir = self.scandb.get_info('user_folder') fileroot = self.scandb.get_info('server_fileroot') basedir = str(basedir) fileroot = str(fileroot) if basedir.startswith(fileroot): basedir = basedir[len(fileroot):] fullpath = os.path.join(fileroot, basedir) fullpath = fullpath.replace('\\', '/').replace('//', '/') curdir = os.getcwd() try: os.chdir(fullpath) except: os.chdir(curdir) self.scandb.connect_pvs()