Skip to main content

Command-line tool to download CTF challenges

Project description

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

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

ctf_dl-0.3.3.tar.gz (24.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ctf_dl-0.3.3-py3-none-any.whl (26.0 kB view details)

Uploaded Python 3

File details

Details for the file ctf_dl-0.3.3.tar.gz.

File metadata

  • Download URL: ctf_dl-0.3.3.tar.gz
  • Upload date:
  • Size: 24.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for ctf_dl-0.3.3.tar.gz
Algorithm Hash digest
SHA256 bb050f62d794a506e499471c741a04109192923357c928fc70406cd84cc4c641
MD5 113a8007b2d17474ff19b94743e0347b
BLAKE2b-256 f0ce1d2667036209efbfa6cfebbae6b787cb070a17bbb7779d2e55329be52782

See more details on using hashes here.

File details

Details for the file ctf_dl-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: ctf_dl-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 26.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for ctf_dl-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e0bfebfe9a73452bbb77ac82cf86cf4e07bebef7ec37f8e8f0391139c947ffc1
MD5 67ac21def6ba70c289dab1ac5c6103c1
BLAKE2b-256 8a42df7faf3e11cc8a2b63033ce90f11aef92a909575c3768c664a8af3aaf419

See more details on using hashes here.

Supported by

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