ctfd-config-generatorはCTFdを用いたCTFの作問を支援するためのツールです。以下の特徴があります。
- CTFdをCLIベースで管理するctfcliの設定ファイルの作成
- 作問に利用するディレクトリやファイルの作成
以下のコマンドで環境を作ってください。実行には、docker-compose またはGoと Make が必要です。
git init
git submodule add https://github.com/diver-osint-ctf/ctfd-config-generator
echo "include ctfd-config-generator/Makefile" > Makefile
# 以下は好きな方を選択してください
# 1. docker-composeを使う場合
echo "version: '3'\nservices:\n gen:\n image: golang:1.21\n volumes:\n - .:/app\n working_dir: /app" > docker-compose.yaml
docker-compose run gen bash -c "make gen"
# 2. GoとMakeを使う場合
make gen
実行が完了すると、以下のようなディレクトリが作成されます。
ジャンル名
└── 問題名
├── build # 問題サーバで実行されるファイルを配置してください(オプショナル)
├── challenge.yml # CTFdの設定を書いてください
├── flag.txt # Flagを書いてください。フラグに正規表現を用いたり、複数のフラグを設定する場合はここに複数個のフラグを改行区切りで書いてください。
├── public # 配布用ファイルを配置してください(オプショナル)
├── solver # ソルバを配置してください(オプショナル)
└── writeup
└── README.md # 作問者Writeupを配置してください
バグや要望などがあれば、Issueを作成するかPull Requestを作成してください。