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.
- 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. 🔒
- 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) 🧰
- Go: Ensure you have Go installed. Install Go
- Docker: Install Docker. Get Docker
- Gofr: Familiarity with the Gofr framework is recommended. Gofr Documentation
-
Clone the repository:
git clone https://github.com/0xRavenspar/CTFBattle.git cd CTFBattle
-
Install dependencies:
go mod tidy
-
Build the application:
go build -o ctfbattle
-
Run the application:
./ctfbattle
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.
-
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. 🤝
-
Join a Room:
- Enter the room code to join a private room or browse available public rooms. 🌍
-
Compete:
- Solve challenges, submit flags, and earn points. 🏅
-
Leaderboard:
- Check your rankings and compare with other participants. 📊
Start the application in development mode:
go run main.go
Run tests to ensure the application works as expected:
go test ./...
This project is licensed under the MIT License. See the LICENSE file for details.
- Gofr Framework
- Docker
- Community contributions and feedback. 💡
Feel free to reach out if you have any questions or suggestions for the project. Happy hacking! 💻