Metadata-Version: 2.4
Name: ctfd_downloader
Version: 1.0.0
Summary: A tool to download challenges, files, and metadata from a CTFd instance and output them into an organized directory.
Author: Jacob Elliott
Author-email: coachelliott@uscybergames.org
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.32.0
Requires-Dist: slugify>=0.0.1
Requires-Dist: tqdm>=4.66.3
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Python CTFd Downloader
A script to download all the challenges and files from the CTFd instance.

## Installation

### Using Pip

```pip install ctfd-downloader```
    
#### Generate Access Token

In order to interact with the CTFd API, you'll need to create an Access Token. You can do this by browsing to the Settings page under your profile in the top-right corner of the page, then click on the Access Tokens tab. After inputting an expiration date, click on Generate to create a new token.

#### Run The Downloader

```ctfd-downloader -u http://ctf.url -n ctf_name -o /home/user/Desktop/ -t access_token```

You can use the `--update` flag to update an existing repository with new challenges without redownloading everything.

#### Formatter

There is also another script, which you can use to add a check mark emoji on any completed writeups in the main README file. You can do this by adding writeups to challenge README files under a `## Solution` header.

```
# Example Challenge README

<autogenerated challenge description>

## Solution

My solution
```

Run the formatter just by pointing it at the directory of the repo.

```
python format.py ./ctfd_repo/
```
