https://github.com/0xravenspar/ctfbattle
CTFBattle is a platform designed to simplify the process of launching and managing Capture The Flag (CTF) instances.
https://github.com/0xravenspar/ctfbattle
containerization ctf cybersecurity docker go gofr
Last synced: 3 months ago
JSON representation
CTFBattle is a platform designed to simplify the process of launching and managing Capture The Flag (CTF) instances.
- Host: GitHub
- URL: https://github.com/0xravenspar/ctfbattle
- Owner: 0xRavenspar
- License: mit
- Created: 2024-11-23T07:51:10.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-12-21T17:56:08.000Z (5 months ago)
- Last Synced: 2025-01-06T00:17:09.406Z (5 months ago)
- Topics: containerization, ctf, cybersecurity, docker, go, gofr
- Language: Go
- Homepage:
- Size: 26.8 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CTFBattle π―
CTFBattle is a platform designed to simplify the process of launching and managing Capture The Flag (CTF) instances. Built with Go and the Gofr framework, CTFBattle leverages Docker containers to provide a seamless experience for hosting real-time CTF challenges. The platformβs unique feature is the ability to create private and public rooms, enabling participants to compete with friends or other users globally.
## Features π
- **Easy Deployment of CTF Instances**: Quickly spin up and tear down CTF challenges using Docker containers.
- **Room-based Competition**: Create private rooms to compete with friends or join public rooms to battle against participants worldwide.
- **Global Leaderboard**: Track your progress and compare your performance with others globally. π
- **Real-time Collaboration and Competition**: Experience smooth and responsive gameplay in a highly interactive environment. π»
- **Secure Environment**: Ensures the integrity and security of the platform and CTF instances. π## Technologies Used π οΈ
- **Programming Language**: Go πΉ
- **Framework**: Gofr π
- **Containerization**: Docker π³
- **Database**: (Specify the database used, e.g., PostgreSQL, MySQL, etc.) ποΈ
- **Frontend (if applicable)**: (Specify if there is a frontend framework, e.g., React, Vue.js, etc.) π¨
- **Other Tools**: (List any other relevant tools or libraries used in the project) π§°## Getting Started π
### Prerequisites β
- **Go**: Ensure you have Go installed. [Install Go](https://golang.org/doc/install)
- **Docker**: Install Docker. [Get Docker](https://docs.docker.com/get-docker/)
- **Gofr**: Familiarity with the Gofr framework is recommended. [Gofr Documentation](https://gofr.dev/)### Installation π οΈ
1. Clone the repository:
```bash
git clone https://github.com/0xRavenspar/CTFBattle.git
cd CTFBattle
```2. Install dependencies:
```bash
go mod tidy
```3. Build the application:
```bash
go build -o ctfbattle
```4. Run the application:
```bash
./ctfbattle
```### Docker Setup π³
CTFBattle uses Docker to manage CTF instances. Ensure Docker is running before starting the application. The platform will automatically create and manage Docker containers for each challenge.
## Usage π
1. **Create a Room**:
- Navigate to the platformβs UI or use the CLI (if applicable) to create a room.
- Share the room code with friends or open it for public participation. π€2. **Join a Room**:
- Enter the room code to join a private room or browse available public rooms. π3. **Compete**:
- Solve challenges, submit flags, and earn points. π4. **Leaderboard**:
- Check your rankings and compare with other participants. π## Development π₯οΈ
### Running in Development Mode π οΈ
Start the application in development mode:
```bash
go run main.go
```### Testing π§ͺ
Run tests to ensure the application works as expected:
```bash
go test ./...
```## License π
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Acknowledgments π
- [Gofr Framework](https://gofr.dev/)
- [Docker](https://www.docker.com/)
- Community contributions and feedback. π‘---
Feel free to reach out if you have any questions or suggestions for the project. Happy hacking! π»