diff --git a/install.sh b/install.sh index cbda1a8..06db058 100755 --- a/install.sh +++ b/install.sh @@ -137,17 +137,22 @@ wget http://cdn.download.comodo.com/av/updates58/sigs/bases/bases.cav -O /opt/CO # Configure Pandora workers # su - $SUDO_USER -c "cd ~/pandora; for file in pandora/workers/*.sample; do cp -i ${file} ${file%%.sample}; done" -su - $SUDO_USER -c "cd ~/pandora/pandora/workers; cp comodo.yml.sample comodo.yml" su - $SUDO_USER -c "cd ~/pandora/pandora/workers; cp base.yml.sample base.yml" su - $SUDO_USER -c "cd ~/pandora/pandora/workers; cp blocklists.yml.sample blocklists.yml" +su - $SUDO_USER -c "cd ~/pandora/pandora/workers; cp comodo.yml.sample comodo.yml" +su - $SUDO_USER -c "cd ~/pandora/pandora/workers; cp clamav.yml.sample clamav.yml" +su - $SUDO_USER -c "cd ~/pandora/pandora/workers; cp extractor.yml.sample extractor.yml" su - $SUDO_USER -c "cd ~/pandora/pandora/workers; cp hashlookup.yml.sample hashlookup.yml" su - $SUDO_USER -c "cd ~/pandora/pandora/workers; cp pdf.yml.sample pdf.yml" su - $SUDO_USER -c "cd ~/pandora/pandora/workers; cp xmldeobfuscator.yml.sample xmldeobfuscator.yml" -su - $SUDO_USER -c "cd ~/pandora/pandora/workers; cp yara_signature_base.yml.sample yara_signature_base.yml" +su - $SUDO_USER -c "cd ~/pandora/pandora/workers; cp yara.yml.sample yara.yml" su - $SUDO_USER -c "cd ~/pandora/pandora/workers; cp yara_signature_base.yml.sample yara_signature_base.yml" su - $SUDO_USER -c "cd ~/pandora/pandora/workers; cp yarahq_full.yml.sample yarahq_full.yml" su - $SUDO_USER -c "cd ~/pandora/pandora/workers; cp yarahub.yml.sample yarahq_full.yml" +# Increase the number of replica +su - $SUDO_USER -c "cd ~/pandora/pandora/workers; sed -i 's/replicas: 1/replicas: 5/' base.yml" + # remove some workers # rm pandora/workers/preview.yml diff --git a/pandora-box.py b/pandora-box.py index ed0c221..80763c6 100755 --- a/pandora-box.py +++ b/pandora-box.py @@ -115,17 +115,17 @@ class scanThread(threading.Thread): if file_size > (1024 * 1024 * 1024): status = "TOO BIG" else: - res = self.pandora.submit_from_disk(file) - if not 'taskId' in res : - logging.error(f'task_status={res}') + worker = self.pandora.submit_from_disk(file, seed_expire=6000) + if (not 'taskId' in worker) or (not 'seed' in worker) : + logging.error(f'task_status={worker}') status = "ERROR" return - time.sleep(0.1) + time.sleep(1) loop = 0 while loop < (1024 * 256): - res = self.pandora.task_status(res["taskId"]) + res = self.pandora.task_status(worker['taskId'], worker['seed']) logging.info(f'task_status={res}') # Handle response from Pandora @@ -139,7 +139,7 @@ class scanThread(threading.Thread): # wait a little pass - time.sleep(0.1) + time.sleep(1) loop += 1 end_time = time.time() diff --git a/tests/scan.py b/tests/scan.py index 3ce7a90..26940fe 100755 --- a/tests/scan.py +++ b/tests/scan.py @@ -10,7 +10,8 @@ for arg in sys.argv[1:]: print(arg, end="", flush=True) print(":", end="", flush=True) - res = pp.submit_from_disk(arg) + res = pp.submit_from_disk(arg, seed_expire=3600) + print(res) while True: print(".", end="", flush=True)