mirror of https://github.com/dirtbags/moth.git
30 lines
731 B
Python
Executable File
30 lines
731 B
Python
Executable File
#! /usr/bin/python3
|
|
|
|
import requests
|
|
import zipfile
|
|
|
|
url = "https://puzzles.cyberfire.training/foundry/"
|
|
url = url.rstrip("/")
|
|
|
|
r = requests.get(url + "/puzzles.json")
|
|
puzzles = r.json()
|
|
|
|
zf = zipfile.ZipFile("/tmp/foundry.zip", "w")
|
|
for cat, entries in puzzles.items():
|
|
if cat == "wopr":
|
|
continue
|
|
|
|
for points, dn in entries:
|
|
if points == 0:
|
|
continue
|
|
u = "{}/{}/{}/puzzle.json".format(url, cat, dn)
|
|
|
|
print(u, points, dn)
|
|
obj = requests.get(u).json()
|
|
files = obj.get("files") + ["index.html"]
|
|
|
|
for fn in files:
|
|
path = "{}/{}/{}".format(cat, points, fn)
|
|
data = requests.get(u).content
|
|
zf.writestr(path, data)
|