slashexx/ctfd-topn-gate

GitHub: slashexx/ctfd-topn-gate

CTFd 插件,将基于 chall-manager 的实例化挑战启动权限限制为积分榜前 N 名队伍,从而控制并发实例数量与服务器资源消耗。

Stars: 0 | Forks: 0

# CTFd Top-N 门槛 限制实例化(chall-manager)挑战的启动,仅允许当前积分榜上的前 N 名队伍使用。专为 CrushDatFTP 风格的容器挑战而构建:只有领先者才能启动实例,这也同时限制了并发实例数(前 N 名队伍 × 每队 1 个实例)。 该网关拦截了 chall-manager 的实例创建/续期 endpoint;非前 N 名的队伍会收到明确的 403 错误(“available to the top N teams only”),并显示在启动 UI 中。其他所有请求不受影响。管理员页面(**Admin → Top-N Gate**)会显示当前被允许的队伍。 ## 配置 (env) - `TOPN_GATE_CHALLENGES` — 需要进行限制的 CTFd 挑战 ID,以逗号分隔(默认为 `60`) - `TOPN_GATE_N` — 允许的前 N 名队伍数量(默认为 `10`) ## 安装 克隆到 `/opt/CTFd/CTFd/plugins/topn_gate`,然后重启 CTFd。
标签:CTFd插件, Python, Retryablehttp, Streamlit, 实例管理, 无后门, 访问控制, 请求拦截, 赛事管理, 逆向工具