mirror of https://github.com/dirtbags/moth.git
1.2 KiB
1.2 KiB
Download All Unlocked Puzzles
We get a lot of requests to "download everything" from an event. Here's how you could do that:
What You Need
- The URL to your puzzle server. We will call this
$url
. - Your Team ID. We will call this
$teamid
. - A way to POST
id=$teamid
withContent-Type: x-www-form-encoded
to a URL, and save the result. We will call this procedure "Fetch". - A way to parse JSON files
Steps
- Fetch
$url/state
. This is the State object. - In the State object,
Puzzles
maps category name to a list of open puzzle point values. - For each category (we will call this
$category
):- For each point value:
- If the point value is 0, skip it. 0 indicates all puzzles in this category are unlocked.
- Fetch
$url/content/$category/$points/index.json
. This is the Puzzle object. - In the Puzzle object,
Body
contains the HTML body of the puzzle. - In the Puzzle object,
Attachments
contains a list of attachments. For each attachment (we will call this$attachment
):- Fetch
$url/content/$category/$points/$attachment
.
- Fetch
- For each point value: