Skip to content

A full CTF Website Server & Frontend | Extremely customizable

License

Notifications You must be signed in to change notification settings

CTF-Cafe/CTF_Cafe_platform

Repository files navigation

Currently working on v2... Updates : soon

StackShare

Contributors

@Zerotistic @Eteckq

Features

  • 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...

Manual Backend & Frontend Setup ( Dockers )

docker compose setup is only usable if you wont run any dockerized challenges else use pm2

Manual Backend & Frontend Setup ( No Dockers )

Prerequisites

  • Node.JS
  • MongoDB

Setup

  • 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

Startup

MongoDB

/frontEnd

  • Run npm install to install the requirements from package.json, then run npm start or npm run start-react for easier dev to start the frontend

/backEnd

  • Run npm install to install the requirements from package.json, then run npm start to start & setup the backend

/dockerAPI

  • Run npm install to install the requirements from package.json, then run npm start to start & setup the backend

/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!

About

A full CTF Website Server & Frontend | Extremely customizable

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages