Skip to main content

Fetch challenges from a CTFd competition

Project description

CTFd Fetch

Often it would be nice to download all the challenges (descriptions/files/etc) from a CTF so that you have them for future reference, or to have offline, or to share with a team.

That's all this script does.

Since many CTFs have standardized around CTFd as a platform, we use that as a starting point.

Caveats

  • Use this tool considerately. It makes every attempt to respond sanely, and only download things not already downloaded, but make sure you are not abusing the good will of a CTF Host/Organizer.
  • This tool primarily uses the JSON response from a CTFd endpoint (/challs). Any changes to CTFd have the potential to break this tool.

Quick Start

Install.

pip3 install ctfdfetch

Download all the challenges from a CTF into the current folder.

ctfdfetch --server https://ctf.example.com --user hacker

For more options such as out directory, nested categories, verbosity, etc).

ctfdfetch -h

Development

Development occurs on master. The release branch has the version currently pushed to pypi.

# get code
git clone https://gitlab.com/royragsdale/ctfdfetch.git
cd ctfdfetch

# setup virtualenv
python3 -m venv venv3
. venv3/bin/activate

# install in dev mode
pip install -e .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ctfdfetch-0.2.0.tar.gz (5.8 kB view hashes)

Uploaded Source

Built Distribution

ctfdfetch-0.2.0-py3-none-any.whl (7.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page