Skip to content

h4ckd0tm3/ctfhub

 
 

Repository files navigation

Logo

CTFHub

Where CTFs happen

Code style: black Licence MIT Python-Version 3.10 CTFHub on Discord

What is it?

A collaborative environment for teams playing CTFs. It provides out-of-the-box everything to manage and collaborate on the CTFs and challenges you and your team are working on.

Note: If you're looking for a platform for hosting CTFs use CTFd.

Features

A non-exhaustive list of features:

  • Full Django + Python 3.10 code
  • Clean (Bootstrap 5+) interface
  • Key-in-hands setup via docker-compose
  • Fully integrated around HedgeDoc: smart markdown note mechanism, with tons of features
  • Possibility to create and play private CTFs
  • Create "guests" to your CTFs
  • View CTF stats, and track members' involment through a cool podium ranking
  • Jitsi integration: instantly jump on video chat with your team mate
  • CTFTime integration: import CTF (+ data) from CTFTime in 2 clicks
  • CTFd/rCTF challenge(s) can optionally be pre-populated locally
  • Basic search engine
  • One step "challenge-notes" → "blog post" export feature
  • Public & Self-hosted Excalidraw integration: draw & share ideas with your team mates
  • Discord notifications
  • ...and more to come...
  • and of course, a Dark mode

Build

For most people, this will suffice:

$ git clone https://github.com/hugsy/ctfhub
$ cd ctfhub
$ cp .env.example .env
### CHANGE THE CREDENTIALS IN .env ###
$ nano .env
### BUILD EXCALIDRAW USING .env VARIABLES ###
$ make build
$ docker compose up -d --build

If you want to use SSL locally, follow the instructions to generate local SSL certificates and run:

$ cp scripts/proxy/.env.nginx-proxy.example scripts/proxy/.env
$ nano scripts/proxy/.env
### Edit the file to your need
$ docker compose -f scripts/proxy/docker-compose.yml -f ./docker-compose.yml up -d --build

If you're migrating from the first versions called ctpad, check out see PR #83 to migrate the data to the new environment, search the Setup > Migration part.

Gallery

Check out the docs

Contribution

CTFHub was created and maintained by @_hugsy_, but kept fresh thanks to all the contributors.

contributors-img

If you just like the tool, consider dropping on Discord (or Twitter or other) a simple "thanks", it is always very appreciated.

And if you can, consider sponsoring me - it really helps dedicating time and resources to the projects!

Credits and Links

About

An OK way to manage CTFs for teams playing CTFs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 65.2%
  • HTML 33.5%
  • JavaScript 0.6%
  • CSS 0.4%
  • Makefile 0.1%
  • Dockerfile 0.1%
  • Shell 0.1%