Where CTFs happen
CTFHub
Where CTFs happen
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:
- Django 4 running on Python 3.10, with a 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 for one player only, making it easy to track your progress on learning platforms like Root-Me, PicoCTF, PentesterLab and others. - Add "guests" to specific CTFs, allowing non team members to have a limited view of the context - View CTF stats, and track members' involment through a cool podium ranking - CTFTime API integration: CTF information from CTFTime in one click - CTFd/rCTF challenge(s) can optionally be pre-populated locally - Basic search engine - Easily export your challenge notes to create a blog post on Github Pages - Jitsi integration: instantly jump on video chat with your team mate - Public & Self-hosted Excalidraw integration: draw & share ideas with your team mates - Discord notifications on events (CTF registration, challenge scoring, etc.) - and of course, a Dark mode to save your eyes during those painful sleepless nights
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 ###
$ docker compose up -d --build
For more advanced building cases, refer to the Build page in the documentation.
Gallery
Check out the docs
Contribution
CTFHub was created and maintained by @hugsy, but kept fresh thanks to all the contributors.
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
- The world flag images are downloaded from https://flagpedia.net/
- CTFPad: NodeJS project that is based on
etherpad-lite(no MarkDown support).