Welcome to YATB Docs
YATB - yet another fast and furious jeopardy-CTF taskboard
Features out-of-the-box
- Flexible auth system with OAuth2 support
- Flexible flags and scoring system
- OpenAPI schema and swagger UI - easy to integrate API
- Extremly simple: you can modificate in any imagniable way
- Telegram notifications for first blood
- Blazing :) fast!
How to start
- Clone repo
- Fix event datetime:
- Open app/config.py, setup
EVENT_START_TIME
andEVENT_END_TIME
. Theese dates MUST be in UTC. - or in
yatb.env
.
- Open app/config.py, setup
- Copy
yatb.example.env
toyatb.env
, change next values:- tokens:
1.
JWT_SECRET_KEY
- secret key for JWT cookie sign 2.API_TOKEN
- token for automated usage of admin API 3.WS_API_TOKEN
- token for admin WS 4.FLAG_SIGN_KEY
- flag sign key FLAG_BASE
- flag base (part before brackets), i.e. for flagkks{example_flag}
flag base iskks
.CTF_NAME
- CTF name for frontend- Setup auth ways:
1. Fill
ENABLED_AUTH_WAYS
list with enabled auth ways, for example,ENABLED_AUTH_WAYS='["TelegramAuth", "SimpleAuth"]'
2. Fill select auth way settings. For reference, see more about auth ways configs - More about config
- tokens:
1.
- Change logos in app/view/static
docker-compose up -d --build
- If you setup any reverse proxy before YATB nginx, you should change
proxy_set_header X-Forwarded-Proto $scheme;
line in nginx/yatb.conf: comment entire line or replace$scheme;
withhttps
.