degun-osint/CTFd-Beta-Tester

GitHub: degun-osint/CTFd-Beta-Tester

一款CTFd插件,允许管理员指定特定用户为beta tester,在比赛正式开始前提前访问题目以进行测试。

Stars: 0 | Forks: 0

# CTFd Beta Tester Plugin 一款用于 CTFd 的插件,允许管理员将特定用户指定为 beta tester,使他们能够在正式 CTF 开始时间之前访问题目。 ## 概述 该插件最初是为 [Oscar Zulu](https://oscarzulu.org) 开发的,旨在方便在比赛开始前进行题目测试,现在正提供给更广泛的 CTF 创建者社区使用。 ## 功能 - 将用户指定为 beta tester,使他们能够在 CTF 开始前访问题目 - Beta tester 保留普通用户权限 —— 他们**绝对不会**被提升为管理员,也得不到任何管理员权限 - Beta tester 的体验与普通用户完全一样,只是时间更早:他们的解答会被记录下来,以便解锁受前置条件限制的题目,并能正常推进进度 - 他们的解答在 beta 测试期间也会计入统计,因此**在公开 CTF 开始之前,请清除 beta 测试数据**(参见用法) - 用于管理 beta tester 的简单管理员界面 - 与现有的 CTFd 权限系统兼容 ## 安装 1. 在你的 CTFd 安装目录中创建插件目录结构: mkdir -p /path/to/CTFd/plugins/betatester/templates 2. 将插件文件复制到相应位置: - `__init__.py` → `/path/to/CTFd/plugins/betatester/` - `config.json` → `/path/to/CTFd/plugins/betatester/` - `betatesters.html` → `/path/to/CTFd/plugins/betatester/templates/` 3. 重启你的 CTFd 实例以加载插件。 ## 用法 ### 添加 Beta Tester 1. 在 CTFd 管理面板中,进入 Admin → Beta Testers 2. 从下拉列表中选择一个用户 3. 点击 "Add to Beta Testers" ### 移除 Beta Tester 1. 在 CTFd 管理面板中,进入 Admin → Beta Testers 2. 在 Beta Testers 列表中找到该用户 3. 点击其名字旁边的 "Remove" ### Beta Tester 体验 - Beta tester 可以在 CTF 正式开始前访问并解答题目 - 他们的体验与普通用户完全一样(解答被记录、前置条件解锁、文件可下载)—— 他们只是更早进入而已 - Beta tester 无法访问任何管理员路由或功能 - 在其他参与者眼中,Beta tester 显示为普通用户 ### 正式上线前:清除 beta 测试数据 Beta tester 的早期解答属于真实的解答,一旦 CTF 开放就会被计入统计。 在公开开始之前,请移除他们的进度(以及可选的账户): - 在 *Admin → Users* 中重置/删除 beta tester 的解答(针对每个账户),或者 - 删除并重新创建 beta tester 账户,或者 - 通过数据库清除这些用户相关的 `solves`/`awards`/`unlocks` 行。 将某人从 Beta Testers 列表中移除只会撤销其提前访问权限 —— 它并 **不会**删除他们已经记录的任何解答。 ## 要求 - CTFd v3.0.0 或更高版本 ## 许可证 本项目基于 GPLv3 许可证授权。 ## 贡献 欢迎贡献代码!请随时提交 Pull Request。 1. Fork 本项目 2. 创建你的功能分支 (`git checkout -b feature/amazing-feature`) 3. 提交你的更改 (`git commit -m 'Add some amazing feature'`) 4. 推送到该分支 (`git push origin feature/amazing-feature`) 5. 发起一个 Pull Request
标签:CTFd, Python, Streamlit, 多模态安全, 插件, 无后门, 访问控制, 赛事管理, 逆向工具