mcpt / ctf

CTF website with support for many simultaneous contests.

Home Page:https://ctf.mcpt.ca

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

CTF website with support for many simultaneous contests.

https://ctf.mcpt.ca

License:GNU Affero General Public License v3.0


Languages

Language:Python 78.2%Language:HTML 18.0%Language:SCSS 1.7%Language:JavaScript 1.3%Language:Nix 0.3%Language:Dockerfile 0.3%Language:Shell 0.1%