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
Release history Release notifications | RSS feed
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)
Built Distribution
Close
Hashes for ctfdfetch-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa2954f891ab7d3a7d45c3e7c6758e1e1994f6fbad0ad37055092fdce55af4f5 |
|
MD5 | 101f24da685a4a1393e149b1e44c88dd |
|
BLAKE2b-256 | d1bb7c320095e05a2621b393191ef12e6353fe6c867d403f9a3e4896523d5c5d |