Skip to main content

ctft

ctft is a python cli tool to save and view stylised ctftime.org writeups locally in your terminal.

  • Search for writeups by name or keyword
  • View Stylised writeups from saved files
  • Writeups are saved are as markdown files which can also be read as plaintext(even though it doesn't make sense to read plaintext over formatted :unamused: )

VSCode users can also use markdown viewing extensions like Markdown Preview Enhanced to view writeups

The project took inspiration from mzfr's lswriteups but I wanted to further the ease of access and reduce browser dependence.

The tool currently scrapes only writeups on CTFTime.org and github READMEs. If you would like to add support for your site or your favourite author(with their permission ofcourse), feel free to contact me or make a pull request

Usage

➜ python3 ctft.py -h
usage: ctft [-h] (-e EVENT | -v TASK NAME)

Get and view stylised ctftime writeups in your terminal

optional arguments:
  -h, --help            show this help message and exit
  -e EVENT, --event EVENT
                        Name of the ctf event
  -v TASK NAME, --view TASK NAME
                        View writeup in terminal
  • The files are saved in your (home directory)/ctft_writeups

DEMO

python3 ctft.py -e asisctf

You can also make an alias of ctft or add ctft to $PATH for easier usage

ctft -v Web\ Warm-up

Installation

pip3 install ctft

Manual Installation

  • Cone the repo:

git clone https://github.com/bajatin/ctft

  • Install dependencies:

pip install -r requirements.txt

Contributing

I started this project solely for educational purposes to familiarize myself with python and asynchronous programming. Pull requests or suggestions for imporvement are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

Release files for ctft 0.1.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ctft 0.1.11
File Size Uploaded
ctft-0.1.11.tar.gz 8.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ctft 0.1.11
File Interpreter ABI Platform
ctft-0.1.11-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 17.1 kB

Release files / ctft-0.1.11.tar.gz

Download URL ctft-0.1.11.tar.gz
Size 8.6 kB
Tags Source
SHA-256 checksum
How to use checksums
5daef5c913edd5c505bda226bb8933ad4b26858b8bde6fda9230bdffb477b0e7
BLAKE2b-256 checksum
How to use checksums
9d35381feee797d30ba588eb19d4067ea8513eda35783f8b500101a40dcc9c05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2

Release files / ctft-0.1.11-py2.py3-none-any.whl

Download URL ctft-0.1.11-py2.py3-none-any.whl
Size 8.5 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
e47ef1423c8d53ce0c2853fb39119790bfe9a9cc966b1ccb94226b181285dcf3
BLAKE2b-256 checksum
How to use checksums
50f1ed504994c5c576f90ce4da8e5b2d373525ec77f4f1624af9120076099e8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2

Release history Release notifications | RSS feed

This release

0.1.11 This release

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

1 release file

0.1.3

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page