playCTF is an all-in-one open source platform for hosting jeopardy style CTFs. It can be setup in under a minute and lets you pull challenge files straight from github, allowing you to shift your focus away from the infrastructure onto the actual challenges.
- playCTF is the frontend service powered by Beast.
- It is written in VueJS and integrates all the endpoints provided by Beast which makes deploying challenges a breeze.
- There are different panels for admins and users which enable easy moderation of CTF competitions.
Visit https://beast.sdslabs.co/apiDocs/ for more details and documentation about the APIs.
Also check out the Beast source code at https://github.com/sdslabs/beast.
- Create your own challenges, categories, hints, and flags from the Admin Interface
- Dynamic Scoring Challenges
- Challenge plugin architecture to create your own custom challenges
- Container based isolation of challenges
- File uploads to the server
- Hide challenges under maintenance / for any other reason
- Automatic bruteforce protection
- Quick and User-Friendly onboarding
- Scoregraphs comparing the top 3 players and player progress graphs
- CTF management on the go for activities like player banning, hint broadcasting, announcements and more
- Exporting of CTF data for archival
- Sandbox playground environment for realtime experience And a lot more...
- Install
docker
anddocker-compose
- Run
docker-compose up --build -d
to spin up the playctf container - Site can be accessed on
localhost:8080
npm i && npm run serve
npm run build
npm run lint
We are always open for contributions. If you find any feature missing, or just want to report a bug, feel free to open an issue and/or submit a pull request regarding the same.
For more information on contribution, check out our docs.
If you have a query regarding the product or just want to say hello then feel free to visit chat.sdslabs.co or drop a mail at [email protected]
Made with ❤️ by SDSLabs