Skip to content

mrT4ntr4/WriteupsByCat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WriteupsByCat

writeupsbycat is a short python script to filter writeups by CATegory from ctftime.

Inspiration

Web Scraping always excites me and being a casual CTF player I thought maybe I should try to make the process of reading writeups easy.
I searched for some existing tools which did the same work and found one ie. lswriteups which looked interesting but it missed an important feature such as filtering the writeups by their tags/category.
For eg. Let's say a guy is specialized in solving challenges from web category or he is new to ctfs and wants to learn more about them, he'll have to go through the ctftime journey of filtering links related to web which is such a pain.
So a developed a short script which worked elegantly.

Maybe It helps someone !!

Installation

writeupsbycat is compatible with both python2 & python3.

  • Clone this repo:
    • git clone https://github.com/mrT4ntr4/WriteupsByCat.git
  • Install dependencies:
    • pip install -r requirements.txt

Set Font-Size to 9 or 10 to make the table fit properly on the terminal.

Usage

python writeupsbycat.py [-h] -c CATEGORY [-l LIMIT] [-p PAGE]

Required arguments :
  -c CATEGORY, --category CATEGORY
    specify the category to filter writeups (In quotes)

Optional arguments:
  -h, --help
     show this help message and exit

  -l LIMIT, --limit LIMIT
     limit the number of tasks (Default = 10)

  -p PAGE, --page PAGE  
     seed for the page number (Default = 1)

Examples

python writeupsbycat.py -c 'crackme'
python writeupsbycat.py -c 'web' -l 27 #limit
python writeupsbycat.py -c 'misc' -p 12 #pageseed
python writeupsbycat.py -c 'web' -l 14 -p 12 #both limit & pageSeed 
python writeupsbycat.py -c 'forensics,zip' #add multiple tags

Demonstration

demo

Future Ideas

  • Add aliases to common tags such as rev -> [reversal, reverse engineering, crackme]
  • Grab writeups from sites other than ctftime and increase the scope to hackthebox, vulnhub etc.
  • Use grequests and asyncio to make asynchronous HTTP Requests easily and make it somewhat fast.

Contribution

  • Ways to contribute

    • Suggest a feature
    • Fix something and open a pull request
    • Help me to make the code clean and make scraping more fast

    For major changes, please open an issue first to discuss what you would like to change.

About

Filter writeups from ctftime.org by CATegories

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages