CTFd is a Capture The Flag framework focusing on ease of use and customizability. It comes with everything you need to run a CTF and it's easy to customize with plugins and themes.
pip install -r requirements.txt
prepare.shscript to install system dependencies using apt.
flask runin a terminal to drop into debug mode.
You can use the auto-generated Docker images with the following command:
docker run -p 8000:8000 -it ctfd/ctfd
Or you can use Docker Compose with the following command from the source repository:
To get basic support, you can join the CTFd Slack Community:
If you prefer commercial support or have a special project, feel free to contact us.
Looking to use CTFd but don't want to deal with managing infrastructure? Check out the CTFd website for managed CTFd deployments.
CTFd supports deployments to Heroku for with one-click automatic deploy
If you choose to deploy to Heroku utilizing source; please note that an environment variable called "ON_HEROKU" MUST BE configured with a value of "True"
CTFd is heavily integrated with MajorLeagueCyber. MajorLeagueCyber (MLC) is a CTF stats tracker that provides event scheduling, team tracking, and single sign on for events.
By registering your CTF event with MajorLeagueCyber users can automatically login, track their individual and team scores, submit writeups, and get notifications of important events.
To integrate with MajorLeagueCyber, simply register an account, create an event, and install the client ID and client secret in the relevant portion in
CTFd/config.py or in the admin panel:
OAUTH_CLIENT_ID = None OAUTH_CLIENT_SECRET = None