ctfcli icon indicating copy to clipboard operation
ctfcli copied to clipboard

File Structure improvement

Open R1ckyH opened this issue 11 months ago • 1 comments

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 avatar Feb 05 '25 16:02 R1ckyH