Skip to content

A tool to find and save recent writeups from specified URLs, with optional Telegram notifications.

License

Notifications You must be signed in to change notification settings

mamad-1999/writeup-finder

Repository files navigation

Writeup Finder

Go Version GitHub Issues GitHub Stars GitHub License

Join our Writeup Hacking supergroup for curated hacking writeups and resources!

📜🔍 https://t.me/writeup_hacking

Writeup Finder is a tool designed to automatically find and save recent writeups from specified URLs. It supports saving the found writeups in a PostgreSQL database, and sending them directly to a Telegram.

Writeup-finder is a tool to search for writeups and manage article data, including sending notifications.

Usage:
  writeup-finder [flags]
  writeup-finder [command]

Available Commands:
  completion  Generate autocompletion script
  help        Help about any command

Flags:
      --database       Save new articles in the database
      --help           Show help
      --proxy string   Proxy URL to use for sending Telegram messages
      --telegram       Send new articles to Telegram

Use "writeup-finder [command] --help" for more information about a command.

Features

  • Fetch recent writeups from multiple URLs.
  • Save writeups to a PostgreSQL database.
  • Optionally send notifications of new writeups to a Telegram.
  • It filters topics based on the title and sends them to the corresponding topic in the Telegram group.
── .env 
├── .env.example 
├── .github/ 
│   └── workflows/ 
│       └── writeup-finder-runner.yml 
├── .gitignore 
├── CHANGELOG.md 
├── README.md 
├── command/ 
│   ├── action.go 
│   ├── command.go 
│   ├── completion.go 
│   └── flags.go 
├── data/ 
│   ├── Youtube_channel.md 
│   ├── keywords.json 
│   └── url.txt 
├── db/ 
│   └── db.go 
├── global/ 
│   └── global.go 
├── go.mod 
├── go.sum 
├── handler/ 
│   ├── handler.go 
│   ├── medium.go 
│   ├── utils.go 
│   └── youtube.go 
├── main.go 
├── run_writeUp-finder.sh 
├── telegram/ 
│   ├── message.go 
│   ├── proxy.go 
│   ├── request.go 
│   └── telegram.go 
├── utils/ 
│   ├── env.go 
│   ├── filters.go 
│   ├── http.go 
│   ├── rss.go 
│   └── utils.go 
└── writeup-finder 

Requirements

  • Go 1.16+
  • PostgreSQL

Setup

  1. Clone the repository.
  2. Install dependencies using go mod tidy.
  3. Create a .env file with the .env.example file.
  4. Update the url.txt file with the URLs you want to monitor.
  5. Run the tool with the desired flags.
  6. Run go build -o writeup-finder

Usage

Command Description
writeup-finder --database Save new articles to PostgreSQL database
writeup-finder [--database] --telegram Send new writeups to Telegram
writeup-finder [--database] --telegram --proxy=PROTOCOL://HOSTNAME:PORT Send new writeups to Telegram with proxy support

Flags:

  • --database Save new articles in the database
  • --help Show help
  • --proxy string Proxy URL to use for sending Telegram messages
  • --telegram Send new articles to Telegram

Use writeup-finder [command] --help for more information about a command.

You can use CRON to run script every *hours, *days, or etc.

Example for run script every 3 hour

More read: How to Automate Tasks with cron Jobs in Linux

    0 */3 * * * cd /path/to/your/script && /usr/local/go/bin/writeup-finder -d -t