Alternative web client interface for Capture The Flags events. It stores locally the challenges, flags, etc.
# Minimal requirement: Python3 with Flask
apt install python3-pip unzip
pip install Flask requests --break-system-packages # (or use python -m venv ctfd-helper)wget https://github.com/Amodio/ctfd-helper/releases/latest/download/ctfd-helper.zip && \
unzip ctfd-helper.zip && cd ctfd-helper/
./ctfd-helper.pyNote: on Windows, you can also just directly use the bundled package (a bit slower): ctfd-helper.exe.
git clone https://github.com/Amodio/ctfd-helper.git
cd ctfd-helper/
# Node modules (dependencies)
apt install npm rollup
npm ci
# Required after cloning and each time JS/HTML src/ code is changed
npm run clean; npm run dev
./ctfd-helper.pyIf you did not unlock all the challenges, some calculations (number of challenges and scores) can differ from the scoreboard (there is none currently inside this project).
The final aim is to provide an interface for CTFd that would solve some challenges by itself.
No automation in that regard is implemented yet, stay tuned :) Any help would be appreciated as the task is huge.
Backend is powered by Python3/Flask, frontend by Lit (packed with rollup).