- Add support for pages in event repos
- Add the
ctf pages install
command that looks for markdown and html files with frontmatter in a special pages folder
- Add the
- Add
healthcheck
key inchallenge.yml
to specify a healthcheck script- Add
ctf challenge healthcheck [challenge_name]
- Add
- Add
ssl_verify
in the.ctf/config
file to support SSL verification disabling.ssl_verify
can betrue
orfalse
or a string (specifying the trusted SSL certificates) - Adds a
--no-git
option toctf init
to skip git repo creation in event folder
- Allow empty string in CTFd URL and CTFd access token values for
ctf init
ctf init
will not attempt to create git repos when the event folder is in a git repo alreadyctf init <folder>
can now be used to create the event folder instead of creating the folder beforehand
- Fix issue in
ctf challenge add
where challenges weren't being added to.ctf/config
- Fix issue where plugins couldnt be installed if only pip3 was available
ctf challenge add/update/restore
will now use git subtrees when working with git repos instead of direct cloningctf challenge push [challenge]
can now be used to push local changes to the upstream challenge repo- Added challenge topics from CTFd 3.4 to the challenge.yml spec
- Added challenge topics from CTFd 3.4 to the challenge
sync
andinstall
commands - Added challenge connection_info from CTFd 3.4 to the challenge.yml spec
- Added challenge connection_info from CTFd 3.4 to the challenge
sync
andinstall
commands
- Added an
extra
field in challenge specification to support different CTFd challenge types- This adds support for dynamic value challenges in CTFd > 3.3.0 (Must have commit df27d0e7a9e336b86165d41920aa176db4ff0e06).
- Improved
ctf challenge lint
to catch some common mistakes in a challenge - Added an
--ignore
flag toctf challenge install
andctf challenge sync
to disable installation of certain challenge properties (e.g. flags, tags, hints, etc).- Usage:
ctf challenge install challenge.yml --ignore=flags,tags
- Usage:
ctf challenge install --ignore=flags,tags
- Usage:
ctf challenge sync challenge.yml --ignore=flags,tags
- Usage:
ctf challenge sync --ignore=flags,tags
- Usage:
- Automatic releases from Github to PyPI
- Fix web challenge template for serve.sh
- Changed all Alpine images in Dockerfiles to use Debian
- Add examples or more complicated flag creation examples to challenge specification
- Added the following commands:
ctf templates install [repo] ctf templates uninstall [folder] ctf templates dir ctf templates list ctf challenge templates
- Modified
ctf challenge new
to accept and search through installed third-party templates - Added a parameter to
ctf challenge update
to allow updating a single challenge - Added a login system for the default web template
- Added a blank challenge template
- Moved challenge template writeups into their own dedicated folder
- Fixed an issue when using CTFd in a subdirectory
- Properly default the challenge state to visible during sync
- Added
state
parameter to control whether a challenge is visible or not - Make the
ctf challenge restore
command be able to take arguments to only restore one challenge - Add an
ctf challenge update
command to get the latest version of challenges
- Fix the sync and install commands to properly install challenge files relative to the
challenge.yml
path - Update dependencies in the web challenge template
ctfcli
will now load all challenges regardless of visibility when using an admin token. Requires CTFd v2.5.0
ctf init
now saves the CTFdaccess_token
properly
- Initial release of ctfcli
ctf init
commandsctf challenge
commandsctf config
commandsctf plugins
commands- README and basic example on plugins
- Nothing
- Removed initial stub release from source control
- Initial stub release of ctfcli
- Nothing
- Nothing