Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

File Structure improvement #170

Open
R1ckyH opened this issue Feb 5, 2025 · 1 comment
Open

File Structure improvement #170

R1ckyH opened this issue Feb 5, 2025 · 1 comment

Comments

@R1ckyH
Copy link

R1ckyH commented Feb 5, 2025

Hi ColdHeat
I found this repo recently and appreciate your work.

I have built some challenge structures for organizing CTF competitions.

I see that this repo is very new and still in WIP, I want to share some of my opinions with you.

Structure of Challenges

I think the idea is good, but the folder can have some improvement to be more human-friendly which is better for browsing.

You may take a reference at the file structure that I am currently using

+-> .ctf
|   +config
+-> <challenge_category>
    +-> <chal_name>
        +-> public(dist)
        |   + WWWW
        +-> src(for dev use)
        |   + XXXX
        +-> deploy
        |   + docker-compose.yaml
            +-> aaaa
            |   + LLLL
        +-> solve(writeup)
        |   + ZZZZ
        |   + write-up.md
        + challenges.yaml

Definition of the folders

  • challenges.yaml file:
      The config file of the challenge(must be fill in correctly)
  • src folder:
      Source code or file that construct the challenge (only for private use, not for public and deploy)
  • public folder:
      source code / file given to the player (This folder will disclose to public)
  • deploy folder:
      The files for deployment (docker compose file must put in /deploy/docker-compose.yaml)
  • solve folder:
      solver to solve the specific challenge (must have write-up.md)

about the challenge.yaml

files:
- dist/source.py
I think no need to manually write in .yaml, just scan if the dist path exists and upload all

Some words from me

I think ctfcli is very good, and want to contribute to this project, however, the docs are a little bit less and I am very hard to find a point to go in, please add more docs to describe the functions of ctfcli. I am happy to discuss with you for future development, Thank You! :P

@R1ckyH
Copy link
Author

R1ckyH commented Feb 9, 2025

Also, I think maybe we can have a new idea for the challenge path.
A possible idea is .config in each challenge folder, and we can store some info in the ctfd instances, such as challenge id? (may work for change challenge name)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant