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.
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
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.
Check out the docs
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!
- The world flag images are downloaded from https://flagpedia.net/
- CTFPad: NodeJS project that is based on
etherpad-lite
(no MarkDown support).