mirror of
https://github.com/aljazceru/CTFd.git
synced 2025-12-17 05:54:19 +01:00
Co-authored-by: Csaba Peter <cpeter@atlassian.com> Co-authored-by: Kevin Chung <kchung@ctfd.io>
91 lines
4.3 KiB
Markdown
91 lines
4.3 KiB
Markdown
# 
|
|
|
|

|
|

|
|
[](https://community.majorleaguecyber.org/)
|
|
[](https://docs.ctfd.io)
|
|
|
|
## What is CTFd?
|
|
|
|
CTFd is a Capture The Flag framework focusing on ease of use and customizability. It comes with everything you need to run a CTF and it's easy to customize with plugins and themes.
|
|
|
|

|
|
|
|
## Features
|
|
|
|
- Create your own challenges, categories, hints, and flags from the Admin Interface
|
|
- Dynamic Scoring Challenges
|
|
- Unlockable challenge support
|
|
- Challenge plugin architecture to create your own custom challenges
|
|
- Static & Regex based flags
|
|
- Custom flag plugins
|
|
- Unlockable hints
|
|
- File uploads to the server or an Amazon S3-compatible backend
|
|
- Limit challenge attempts & hide challenges
|
|
- Automatic bruteforce protection
|
|
- Individual and Team based competitions
|
|
- Have users play on their own or form teams to play together
|
|
- Scoreboard with automatic tie resolution
|
|
- Hide Scores from the public
|
|
- Freeze Scores at a specific time
|
|
- Scoregraphs comparing the top 10 teams and team progress graphs
|
|
- Markdown content management system
|
|
- SMTP + Mailgun email support
|
|
- Email confirmation support
|
|
- Forgot password support
|
|
- Automatic competition starting and ending
|
|
- Team management, hiding, and banning
|
|
- Customize everything using the [plugin](https://docs.ctfd.io/docs/plugins/overview) and [theme](https://docs.ctfd.io/docs/themes/overview) interfaces
|
|
- Importing and Exporting of CTF data for archival
|
|
- And a lot more...
|
|
|
|
## Install
|
|
|
|
1. Install dependencies: `pip install -r requirements.txt`
|
|
1. You can also use the `prepare.sh` script to install system dependencies using apt.
|
|
2. Modify [CTFd/config.ini](https://github.com/CTFd/CTFd/blob/master/CTFd/config.ini) to your liking.
|
|
3. Use `python serve.py` or `flask run` in a terminal to drop into debug mode.
|
|
|
|
You can use the auto-generated Docker images with the following command:
|
|
|
|
`docker run -p 8000:8000 -it ctfd/ctfd`
|
|
|
|
Or you can use Docker Compose with the following command from the source repository:
|
|
|
|
`docker-compose up`
|
|
|
|
Check out the [CTFd docs](https://docs.ctfd.io/) for [deployment options](https://docs.ctfd.io/docs/deployment/installation) and the [Getting Started](https://docs.ctfd.io/tutorials/getting-started/) guide
|
|
|
|
## Live Demo
|
|
|
|
https://demo.ctfd.io/
|
|
|
|
## Support
|
|
|
|
To get basic support, you can join the [MajorLeagueCyber Community](https://community.majorleaguecyber.org/): [](https://community.majorleaguecyber.org/)
|
|
|
|
If you prefer commercial support or have a special project, feel free to [contact us](https://ctfd.io/contact/).
|
|
|
|
## Managed Hosting
|
|
|
|
Looking to use CTFd but don't want to deal with managing infrastructure? Check out [the CTFd website](https://ctfd.io/) for managed CTFd deployments.
|
|
|
|
## MajorLeagueCyber
|
|
|
|
CTFd is heavily integrated with [MajorLeagueCyber](https://majorleaguecyber.org/). MajorLeagueCyber (MLC) is a CTF stats tracker that provides event scheduling, team tracking, and single sign on for events.
|
|
|
|
By registering your CTF event with MajorLeagueCyber users can automatically login, track their individual and team scores, submit writeups, and get notifications of important events.
|
|
|
|
To integrate with MajorLeagueCyber, simply register an account, create an event, and install the client ID and client secret in the relevant portion in `CTFd/config.py` or in the admin panel:
|
|
|
|
```python
|
|
OAUTH_CLIENT_ID = None
|
|
OAUTH_CLIENT_SECRET = None
|
|
```
|
|
|
|
## Credits
|
|
|
|
- Logo by [Laura Barbera](http://www.laurabb.com/)
|
|
- Theme by [Christopher Thompson](https://github.com/breadchris)
|
|
- Notification Sound by [Terrence Martin](https://soundcloud.com/tj-martin-composer)
|