Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Fast and flexible challenge downloader for all major CTF platforms

License

bjornmorten/ctf-dl

Repository files navigation

ctf-dl

Fast and flexible challenge downloader for all major CTF platforms

PyPI License

FeaturesInstallQuickstartExamplesLicense

🔧 Features

  • 🔽 Download all challenges from supported CTFs
  • 🎯 Apply filters by category, points, or solve status
  • 🗂️ Organize challenges with customizable Jinja2 templates
  • 🌐 Supports CTFd, rCTF, GZCTF, HTB, EPT, Berg, CryptoHack, pwn.college, and pwnable.{tw,kr,xyz} via ctfbridge

📦 Installation

Run directly with uv:

uvx ctf-dl

Or install permanently with pip:

pip install ctf-dl

🚀 Quickstart

ctf-dl https://demo.ctfd.io -u user -p password

💡 Examples

# Download all challenges
ctf-dl https://ctf.example.com

# Specify output directory
ctf-dl https://ctf.example.com -o example-ctf/

# Filter by categories
ctf-dl https://ctf.example.com --categories Web Crypto

# Overwrite existing challenges
ctf-dl https://ctf.example.com --update

# Compress output
ctf-dl https://ctf.example.com --zip

# Use JSON output format
ctf-dl https://ctf.example.com --output-format json

# List available templates
ctf-dl --list-templates

📁 Default Output Structure

challenges/
├── README.md
├── pwn/
│   ├── rsa-beginner/
│   │   ├── README.md
│   │   └── files/
│   │       ├── chal.py
│   │       └── output.txt
├── web/
│   ├── sql-injection/
│   │   ├── README.md
│   │   └── files/
│   │       └── app.py

🤝 Contributing

Contributions are welcome! See ctfbridge regarding platform support, or open an issue or pull request to improve ctf-dl itself.

🪪 License

MIT License © 2025 bjornmorten

About

Fast and flexible challenge downloader for all major CTF platforms

Topics

Resources

License

Stars

Watchers

Forks