CTFd-Whale原理解析及部署
CTFd-WhaleCTFd-Whale是CTFd的一个插件,用来为CTFd提供控制动态容器的能力,通过CTFd-Whale,可以实现选手间及队伍间题目容器的隔离、独立flag等
原理
CTFd-Whale在CTFd中工作,CTFd-Whale通过Docker API连接Docker进行容器的控制,通过frpc admin api进行内网穿透的控制,容器运行的Docker环境需要开启了Swarm,若有多台容器服务器则通过Swarm进行集群,frpc与容器通过Docker network进行互通,frpc通过与frps连接进行内网穿透,选手通过内网穿透连接到容器
必要条件:
CTFd-Whale与Docker通过API连接
CTFd-Whale与frpc通过API连接
frpc与容器通过Docker network连接
frpc与frps连接
非必要条件:
CTFd的运行环境不一定是Docker,也可以通过非Docker方式运行
frps与CTFd、Docker可以在同一台或不同服务器运行
部署方式单机部署单机部署时推荐将CTFd、frpc、frps均部署到Docker中,通过映 ...
CTFd Docker搭建
CTFdCTFd是一款开源的CTF比赛平台,GitHub
搭建环境配置Git(可选)Git官网下载或通过命令行安装
以Ubuntu为例
12sudo apt-get updatesudo apt-get install git
DockerDocker Docs
Install Docker Engine
按照官方文档指导进行安装
以Ubuntu为例
卸载系统中Docker相关依赖
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
设置Docker源仓库
123456789# 安装Docker仓库GPG密钥sudo apt-get updatesudo apt-get install ca-certificates curl gnupgsudo install -m 0755 -d /etc/apt/keyringscurl -fsSL https://download ...
Compose for Desktop学习记录2
Compose for Desktop学习记录2窗口添加标题在创建窗口时加入title
除了title还有一些窗口常用配置
分页组件组件列表
使用TabRow进行分页,使用Tab指定内容
不好看,换
Scaffold组件
带有标题栏和抽屉
加入菜单图标
IDEA过期了,等等在学
Compose for Desktop学习记录1
Compose for Desktop学习记录1Compose for Desktop是什么Compose for Desktop是一个适用于桌面端的跨平台图形化框架,Compose是Compose Multiplatform,可以在Android、iOS、桌面和Web使用,详细介绍见Compose Multiplatform UI 框架
为什么用Compose for Desktop最近想写一个BurpManager,用于管理BurpSuite的不同版本,实现类似于Minecraft的版本隔离功能,之前写过一个BurpSuite All In One,用于管理BurpSuite的下载、安装、激活等过程,但由于使用易语言编写,不能跨平台,在寻找跨平台的图形化框架时,无意间发现了这个框架,鉴于对Kotlin开发掌握不是很好,通过对此框架的学习也可以学习Kotlin,故选择了这个框架
创建一个Compose for Desktop项目根据官方教程Github创建
安装JDK11或更高版本JDK
安装IntelliJ IDEA 2020.3或更高版本JetBrains Toolbox
安装C ...
Alibaba Cloud Linux安装Apache httpd
Alibaba Cloud Linux阿里云ECS的镜像中的一种,类CentOS,使用yum包管理器
安装执行yum install httpd即可
网站目录目录位于/var/www/html下
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment