Skip to content
/ ctf Public

CTF website with support for many simultaneous contests.

License

Notifications You must be signed in to change notification settings

mcpt/ctf

Folders and files

NameName
Last commit message
Last commit date
Apr 6, 2024
Mar 11, 2024
Apr 23, 2024
Apr 6, 2024
Apr 6, 2024
Mar 23, 2024
Feb 22, 2023
Dec 24, 2024
Feb 2, 2022
Feb 5, 2023
Nov 6, 2021
Mar 9, 2024
Jan 30, 2022
Apr 18, 2025
Nov 6, 2021
Mar 11, 2024
Aug 28, 2023
Feb 21, 2023
Feb 24, 2023
Feb 22, 2023
Nov 6, 2021
Apr 6, 2024
Apr 6, 2024
Aug 28, 2023
Feb 24, 2023

Repository files navigation

mCTF

A platform to host as many CTF contests and problems as you want.

Features

  • Admin Interface to add Problems, Contests, Organizations, etc.
  • Contests for individuals, or enable participants to team up
  • Public Problems for everyone to view and solve outside of contests

Installation

Installation instructions are currently a work in progress. Feel free to join our Discord if you have any questions.

Development Setup

  1. Clone the repository

Using Poetry (Recommended)

  1. Run pip install poetry
  2. Run poetry install
  3. Run poetry shell
  4. Create a file called config.py with the contents of Docker Setup #2
  5. Run python manage.py migrate && python manage.py createsuperuser
  6. To start the server, run python manage.py runserver

Using Docker

  1. Go to mCTF/docker_config.py, Set DEBUG to True and root to "http://localhost:28730" as well as deleting import config2.
  2. docker build -t mctf .
  3. docker run -p 28730:28730 mctf
  4. docker exec -it <container_id> /bin/bash
. .venv/bin/activate
python manage.py migrate
python manage.py createsuperuser
  1. in the docker container, go to /public/scss and delete all *.css files (rm *.css)

Troubleshooting

  • If Django hangs while booting (e.g. no response comes from uWSGI, or worker is killed frequently in Gunicorn), it may be hanging trying to connect to the cluster.