* Pin Jinja2==2.11.2 to fix a Jinja Assertion error
|3 weeks ago|
|.github||1 month ago|
|CTFd||1 month ago|
|conf/nginx||4 months ago|
|migrations||1 month ago|
|scripts||1 year ago|
|tests||1 month ago|
|.codecov.yml||1 year ago|
|.dockerignore||5 months ago|
|.eslintrc.js||3 months ago|
|.flaskenv||2 years ago|
|.gitignore||3 months ago|
|.isort.cfg||3 months ago|
|.prettierignore||1 year ago|
|CHANGELOG.md||1 month ago|
|CONTRIBUTING.md||3 months ago|
|Dockerfile||3 months ago|
|LICENSE||2 years ago|
|Makefile||3 months ago|
|README.md||1 month ago|
|Vagrantfile||1 year ago|
|development.txt||1 month ago|
|docker-compose.yml||3 months ago|
|docker-entrypoint.sh||3 months ago|
|export.py||8 months ago|
|import.py||1 year ago|
|manage.py||6 months ago|
|package.json||1 month ago|
|populate.py||3 months ago|
|prepare.sh||1 year ago|
|requirements.txt||3 weeks ago|
|serve.py||1 month ago|
|setup.cfg||3 years ago|
|webpack.config.js||1 month ago|
|wsgi.py||1 year ago|
|yarn.lock||1 month ago|
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 MajorLeagueCyber 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 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