腾讯云 Ubuntu 22.04
环境配置
换源
备份镜像源设置文件
1
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
编辑镜像源设置文件
1
vim /etc/apt/sources.list
替换掉原文件中的所有内容并替换
1
2
3
4
5
6
7
8
9
10
11
12
13# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse然后
1
2sudo apt update
sudo apt upgrade更换 pip 源
1 | cd ~ # 进入家目录 |
编辑内容为
1 | [global] |
docker , Docker Compose安装
1 | apt-get install git docker docker-compose -y |
1 | 验证安装是否成功 |
启用Docker Swarm,并为生成的Manager节点取一个别名
1 | docker swarm init --advertise-addr 127.0.0.1 |
ctfd 安装
1 | git clone https://github.com/huangzheng2016/CTFd-docker CTFd |
#docker 换源
1 | sudo vim /etc/docker/daemon.json |
替换为
1 | { |
或者去阿里加速https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
1 | #重启 |
启动容器
1 | docker-compose build |
部署赛题
现成的题库
1 | sudo mkdir -p /opt/CTF #创建CTF目录 |
然后我们直接在这个目录下:
1 | sudo docker-compose up -d #使用docker-compose下载镜像生成容器并启动容器 |
构建后你可以看一下是否构建完成:
1 | docker ps -a #查看容器状态 |

存在一个docker镜像了
管理员点击进入Admin Panel 管理界面:点击whale:点击 Frp

填入服务器 ip

submit 保存一手,进入challenges界面:点击上面的加号:,这里部署 web 所以选择动态 flag,选择dynamic(如果你要是只要静态的flag,那你就用standard标准就行了)

这边docker image 就是你本地构建镜像的名字,如果不存在本地镜像会自动调用dockerhub上面的在线镜像内容


然后FRP port 的内容你就填80 这个是配置的默认转发接口,没绑域名的话 Type 选择 direct。
然后就是分数衰减最大分最小分

ctfd 美化
在 CTFd/CTFd/themes 下拉取主题即可
1 | git clone https://githubfast.com/chainflag/ctfd-neon-theme.git |
然后在 theme 页面设置。
