Currently working on v2... Updates : soon
- Create your own challenges, files, hints, code snippets and flags from the admin dashboard
- File uploads to the server
- Flag submit bruteforce protection
- Docker challenges
- Dynamic flags for each team
- Dynamic scoring possible with a decay of 15
- Individual and Team based competitions
- Have users play on their own or form teams to play together
- First blood's
- Docker's launched by team
- Scoreboard with automatic tie resolution
- See global user, team and challenge stats
- See indivudal team & user stats
- Automatic competition starting and ending
- Easily set endTime & startTime from the admin dashboard
- Team and user management ( promoting, banning, ect )
- Customize site colors, background, rules & frontpage
- Importing and Exporting of CTF scoreboards into json
- Email verification on registration
- And more...
docker compose setup is only usable if you wont run any dockerized challenges else use pm2
- Node.JS
- MongoDB
-
copy
.env.example
to.env
file in /backEnd/ and fill the info needed -
copy
.env.example
to.env
file in /dockerAPI/ and fill the info needed -
copy
.env.example
to.env
file in /frontEnd/ and fill the info needed
MongoDB
- Start your mongoDB database
- If you're testing on Windows, you may need to download https://www.mongodb.com/try/download/community
/frontEnd
- Run
npm install
to install the requirements frompackage.json
, then runnpm start
ornpm run start-react
for easier dev to start the frontend
/backEnd
- Run
npm install
to install the requirements frompackage.json
, then runnpm start
to start & setup the backend
/dockerAPI
- Run
npm install
to install the requirements frompackage.json
, then runnpm start
to start & setup the backend
/discordBot
- This is optional, but can be used to setup a bot for the CTF. See here: https://github.com/CTF-Cafe/CTF_Cafe/tree/master/discordBot
You can use pm2
if you want an easy way to handle the nodejs processes.
Make sure to create a new account, promote him to admin and delete the admin:admin user after setup!
Good to go!