ctf_status.py is now just the command line; the work lives in tracker/. The rules that decide whether a challenge is believed are in tracker/checks.py, one function per rule, listed in README_CHECKS and REPO_CHECKS. Output is unchanged. Read the config from .env only (ctf_status.env.example -> .env.example), let single_run_lock() hold its own lock files, and rewrite the README as a short overview of what the repo does and how to run it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
22 lines
988 B
Bash
22 lines
988 B
Bash
# cp .env.example .env && chmod 600 .env
|
|
|
|
# --- GitLab: the group holding one repo per challenge -----------------------
|
|
GITLAB_GROUP_URL=https://gitlab.lrz.de/h4tum-ctf/h4tum-ctf-2026/challenges
|
|
# fine-grained personal access token, scoped to that group, with
|
|
# Project: Read (list the repos)
|
|
# Repository: Read (download README.md and description.yml, list the files)
|
|
GITLAB_TOKEN=glpat-xxxxxxxxxxxxxxxxxxxx
|
|
|
|
# --- HedgeDoc: the existing note that --update overwrites -------------------
|
|
# full URL of the note; its permission must be "freely" so an anonymous run
|
|
# may write to it
|
|
HEDGEDOC_NOTE=
|
|
# YAML front-matter tags written at the top of the note
|
|
HEDGEDOC_TAGS=Logistics, h4tum CTF 2026
|
|
|
|
# --- deployment repo: --challs keeps <CHALLS_PATH> in it up to date --------
|
|
# the token additionally needs, on this project: Repository: Read + Write
|
|
CHALLS_REPO_URL=https://gitlab.lrz.de/h4tum-ctf/h4tum-ctf-deployment/ctf-deployment
|
|
CHALLS_PATH=2026/challs.txt
|
|
CHALLS_BRANCH=main
|