đ Live Site: https://cywf.github.io/ctf-kit/
Welcome to the CTF-Kit repository! This project is designed to be a collaborative and evolving resource for anyone interested in participating in Capture The Flag (CTF) competitions. Whether you're a seasoned veteran or a newcomer to the world of CTFs, this repository aims to provide you with the tools, resources, and knowledge you need to succeed.
The vision for this repository is to become a central hub for CTF learning and collaboration. We aim to create a dynamic space where participants can share their insights, strategies, and resources to help each other improve and grow. By working together, we can continuously refine our approaches to CTF challenges and build a comprehensive database of scripts, writeups, and tools that benefit everyone.
- Facilitate Collaboration: Encourage participants to work together, share their findings, and contribute to the collective knowledge base.
- Improve CTF Strategies: Through shared experiences and resources, help users develop more effective strategies for tackling various types of CTF challenges.
- Create a Rich Database: Build a repository of scripts, tools, and writeups that serve as valuable references for future CTFs.
- Fork the Repository: Start by forking this repository to your own GitHub account.
- Create a Branch: When you participate in a CTF, create a new branch in your forked repo. Name the branch after the CTF event you are participating in (e.g.,
metactf-august2024). - Work in Your Branch: Use this branch to document your progress, add scripts, and write up your solutions.
- Contribute Back: After the CTF, you can submit a pull request to contribute your findings and improvements back to the main repository.
This repository thrives on collaboration. Whether you've developed a new script, discovered a better way to solve a challenge, or written a detailed writeup, your contributions are valuable. To contribute:
- Submit a Pull Request: Once your branch is ready, submit a pull request to merge your changes into the main branch.
- Share Your Knowledge: Add new documentation, tools, or improvements to existing resources. Your contributions help everyone in the community.
The docs directory contains all the documentation you need to get started, including the CTF Starter Guide, tool lists, and more. Each document is also available as a wiki page for easier access. Feel free to explore and contribute to this documentation as you gain more experience.
This repository includes a collection of scripts and tools that can help you solve various CTF challenges. You can find them in the scripts directory. Each script comes with documentation on how to use it. If you have scripts of your own that you'd like to share, please add them here!
We use a branch-per-CTF strategy to track progress and improvements over time. Hereâs how it works:
- Naming Conventions: Name your branch after the CTF event youâre participating in.
- Merging: After your CTF is complete, submit a pull request to merge your branch into the main repository.
- GitHub Actions: We will be setting up GitHub Actions to help automate the review and merging process, ensuring that contributions are properly integrated into the main branch.
We welcome contributions from everyone! Hereâs how you can get involved:
- Create a Branch: As mentioned, create a new branch for each CTF event.
- Submit Pull Requests: After making your changes, submit a pull request to contribute back to the main repository.
- Write Documentation: If you have tips, strategies, or insights, please add them to the documentation.
This repository is all about collaboration. By working together, we can all improve our skills and knowledge. Engage with other contributors through pull requests, discussions, and issues to share your experiences and learn from others.
Weâre constantly working to improve this repository. Hereâs whatâs coming next:
- New Tools and Scripts: Weâll be adding more tools and scripts to help with a wider variety of challenges.
- Enhanced Documentation: Ongoing efforts to improve the documentation and add new guides.
- GitHub Actions: Automating the review process to streamline contributions.
We have a planned roadmap for future updates and features. You can check out the project board to see whatâs coming next. We also welcome suggestions from the communityâif thereâs something youâd like to see added, let us know!
Your input is valuable! If you have ideas for new features, tools, or improvements, please open an issue or start a discussion. We want this repository to be as useful as possible, and your suggestions can help us get there.
Thank you for being a part of the CTF-Kit community! Whether youâre here to learn, contribute, or both, weâre excited to have you with us. This repository is a living project that grows and improves with each contribution, so donât hesitate to get involved. Fork the repo, create your branch, and start tackling those CTFs!
Documentation files are stored in the /docs/ directory and are automatically rendered on the live site. To add or update documentation:
- Create or edit markdown files in
/docs/or subdirectories - Use clear headings and formatting
- Submit a pull request with your changes
- The site will automatically update when changes are merged to main
Visual diagrams help explain complex concepts and workflows. To add a diagram:
- Create a
.mmdfile in the/mermaid/directory (create this directory if it doesn't exist) - Write your diagram using Mermaid syntax
- Commit and push your changes
- The CI workflow will process the diagram and make it available on the visualizer page
Example diagram structure:
graph TD
A[Start] --> B{Is it?}
B -->|Yes| C[OK]
B -->|No| D[End]
Our GitHub Actions workflow automatically:
- Fetches live repository statistics (stars, forks, languages, commits)
- Retrieves discussions from GitHub Discussions
- Syncs project board items or falls back to issues
- Indexes scripts with descriptions from comments
- Builds and deploys the site to GitHub Pages
The site uses JSON data snapshots created during the CI build:
stats.json- Repository metrics and activitydiscussions.json- Latest community discussionsprojects.json- Development board statusscripts.json- Available scripts with descriptions
These snapshots are generated server-side and consumed client-side for optimal performance.