jremes-foss/NexusFlag

GitHub: jremes-foss/NexusFlag

NexusFlag 是一个基于 Python 的开源 CTF 赛事后端 API,帮助小型社区以极低门槛快速搭建和运行网络安全竞赛平台。

Stars: 1 | Forks: 0

[![与乌克兰同在](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad7e3e37fc23c25fdcdbb074b1199747bc2d09fe17b1100499e4145b7cf332a0.svg)](https://stand-with-ukraine.pp.ua) # NexusFlag CTF API ![NexusFlag CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/40/402bba9f67f780fcb8707aaab088a6155e789d1e978e5230f4ebfe4c866f8913.svg) # 简介 NexusFlag 是一个基于 Python、易于部署、无烦恼的 Open Source API,专为小型社区 CTF (Capture the Flag) 网络安全活动而设计。该项目强调可访问性,允许社区在不过度依赖商业平台的情况下运行自己的活动。 作为 BeeCTF 的精神续作,NexusFlag 使用 FastAPI、SQLAlchemy 和 SQLite,为现代更新了社区驱动 CTF 软件的愿景。 # 环境要求 - 操作系统:Linux、macOS 或 WSL (Windows Subsystem for Linux) - Python:3.9+(已测试至 3.14-alpha) - 工具:pip3、python3-venv # 安装说明 目前,NexusFlag 支持两种基本的安装方式:Docker 安装或原生安装。以下小节将引导您完成这两种安装。 **注意:** 对于 Docker 安装,您需要安装 [Docker Compose](https://docs.docker.com/compose/)。 ## Docker 快速开始 启动并运行 NexusFlag 最快的方式是使用 Docker。这将自动拉取环境,安装依赖项,并为您的初始数据库填充数据。 克隆仓库: ``` git clone https://github.com/jremes-foss/NexusFlag.git cd NexusFlag ``` 然后,使用 docker-compose 启动应用程序: ``` docker-compose up --build ``` 现在,可以通过以下规格访问 API: * API 基础地址:`http://localhost:8000` * 交互式文档:`http://localhost:8000/docs` * 默认管理员凭据:`admin / admin123`。 要停止服务,请运行以下命令: ``` docker-compose down ``` 如果您想查看日志以进行调试,可以使用 Docker 滚动查看日志: ``` docker-compose logs -f ``` ## 手动安装 如果您更喜欢在原生环境中运行 NexusFlag,可以手动安装 NexusFlag。 首先,克隆仓库: ``` git clone https://github.com/jremes-foss/NexusFlag.git cd NexusFlag ``` 接下来,设置虚拟环境: ``` python3 -m venv venv source venv/bin/activate ``` 在设置好虚拟环境后,安装必要的依赖项: ``` pip install -r requirements.txt ``` 最后,初始化并填充数据库: ``` export PYTHONPATH=$PYTHONPATH:. python3 seed.py ``` # 运行 NexusFlag API 该 API 使用 Uvicorn 运行。启动后,您可以访问交互式文档来探索 endpoint。 ``` uvicorn app.main:app --reload ``` - API 基础地址:`http://127.0.0.1:8000` - Swagger:`http://127.0.0.1:8000/docs` # 项目结构 - `app/models/`:数据库表(SQLAlchemy) - `app/schemas/`:数据验证和 JSON 结构(Pydantic)。 - `app/api/`:API 路由定义。 - `app/core/`:安全、哈希和数据库配置。 # 故障排除 **注意**:如果您修改了数据库模型,请删除 `nexus_flag.db` 文件并重新运行 `seed.py` 以应用更改。 # 重要提示 NexusFlag 仍在积极开发中,因此可能尚未准备好用于生产环境。此仓库用于托管代码。一旦 MVP 准备好投入生产环境,我将会从 README 中移除此免责声明。谢谢。 # 许可证 NexusFlag 基于 **GNU Affero General Public License v3.0 (AGPL-3.0)** 授权。 请查看 [LICENSE](LICENSE) 文件以获取全文。
标签:AV绕过, CTF平台, FastAPI, Python, SQLAlchemy, Web API, 无后门, 请求拦截, 逆向工具