mirror of https://github.com/avast/PurpleDome
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
2.3 KiB
Python
79 lines
2.3 KiB
Python
#!/usr/bin/env python3
|
|
|
|
# A python tool to compress the relevant project files.
|
|
|
|
import glob
|
|
import zipfile
|
|
import os
|
|
|
|
filename = "shipit.zip"
|
|
|
|
globs = ["TODO.md",
|
|
".gitignore",
|
|
"*.py",
|
|
"CONTRIBUTING.txt",
|
|
"experiment.yaml",
|
|
"cloud_experiment.yaml",
|
|
"Makefile",
|
|
"*.sh",
|
|
"README.md",
|
|
"requirements.txt",
|
|
"tox.ini",
|
|
"app/*.py",
|
|
"tools/*.py",
|
|
"tests/*.py",
|
|
"systems/Vagrantfile",
|
|
"systems/*/*.sh",
|
|
"systems/*/*.bat",
|
|
"systems/azure_attacker"
|
|
"doc/source",
|
|
"doc/source/conf.py",
|
|
"doc/source/asciinema/*",
|
|
"doc/source/index.rst",
|
|
"doc/Makefile",
|
|
"doc/purpledome.pdf",
|
|
"doc/documentation.zip",
|
|
"doc/source/*/*.rst",
|
|
"doc/source/_static/*.png",
|
|
"doc/source/_templates/*",
|
|
"tests/data/*.yaml",
|
|
"plugins/base/*.py",
|
|
"plugins/default/*/*/*.py",
|
|
"plugins/default/*/*/*.txt",
|
|
"plugins/default/*/*/*.md",
|
|
"plugins/default/*/**/*.exe",
|
|
"plugins/default/*/**/*.ps1",
|
|
"plugins/default/*/*/*.yaml",
|
|
"plugins/default/*/*/*.dll",
|
|
"plugins/default/*/*/*.dll_*",
|
|
"plugins/default/*/*/*.reg",
|
|
"plugins/avast_internal_plugins/*/*/*.py",
|
|
"plugins/avast_internal_plugins/*/*/*.bat",
|
|
"plugins/avast_internal_plugins/*/*/*.ps1",
|
|
"plugins/avast_internal_plugins/*/*/*.txt",
|
|
"plugins/avast_internal_plugins/*/*/*.md",
|
|
"plugins/avast_internal_plugins/*/*/*.yaml",
|
|
"plugins/avast_internal_plugins/*/*/*.exe",
|
|
"plugins/avast_internal_plugins/*/*/*.com",
|
|
"plugins/avast_internal_plugins/*/*/*.dll",
|
|
"plugins/avast_internal_plugins/*/*/*.dll_*",
|
|
"plugins/avast_internal_plugins/*/*/*.reg",
|
|
"plugins/avast_internal_plugins/*/*/idpx",
|
|
"plugins/avast_internal_plugins/*/*/hosts",
|
|
"plugins/README.md",
|
|
"pylint.rc",
|
|
"shipit_log.txt",
|
|
"all_caldera_attacks_unique.txt",
|
|
"caldera_subset.txt"]
|
|
|
|
try:
|
|
os.remove(filename)
|
|
except FileNotFoundError:
|
|
pass
|
|
|
|
with zipfile.ZipFile(filename, "w") as zfh:
|
|
for gs in globs:
|
|
for g in glob.iglob(gs, recursive=True):
|
|
print(g)
|
|
zfh.write(g)
|