Giter Club home page Giter Club logo

notify's Introduction

notify

FeaturesInstallationProvidersUsageRunning NotifyNotesJoin Discord

Notify is a Go-based assistance package that enables you to stream the output of several tools (or read from a file) and publish it to a variety of supported platforms.

notify-httpx

Features

  • Supports for Slack / Discord / Telegram
  • Supports for Pushover / Email / Teams
  • Supports for File / Pipe output
  • Supports Line by Line / Bulk Post
  • Supports using Single / Multiple providers
  • Supports Custom Web-hooks
  • Supports Custom data formatting

Usage

notify -h

This will display help for the tool. Here are all the switches it supports.

Flag Description Example
-config Notify configuration file notify -config config.yaml
-silent Don't print the banner notify -silent
-version Show version of notify notify -version
-v Show Verbose output notify -v
-no-color Don't Use colors in output notify -nc
-data File path to read data from notify -i test.txt
-bulk Read and send data in bulk from file. notify -bulk
-char-limit Character limit for message (default 4000) notify -cl 2000
-provider-config provider config path notify -pc provider.yaml
-provider provider to send the notification to (optional) notify -p slack,telegram
-id id to send the notification to (optional) notify -id recon,scans
-rate-limit maximum number of HTTP requests to send per second notify -rl 1

Notify Installation

go install -v github.com/projectdiscovery/notify/cmd/notify@latest

Provider Config

The default provider config file can be created at $HOME/.config/notify/provider-config.yaml and can have the following contents:

slack:
  - id: "slack"
    slack_channel: "recon"
    slack_username: "test"
    slack_format: "{{data}}"
    slack_webhook_url: "https://hooks.slack.com/services/XXXXXX"

  - id: "vulns"
    slack_channel: "vulns"
    slack_username: "test"
    slack_format: "{{data}}"
    slack_webhook_url: "https://hooks.slack.com/services/XXXXXX"

discord:
  - id: "crawl"
    discord_channel: "crawl"
    discord_username: "test"
    discord_format: "{{data}}"
    discord_webhook_url: "https://discord.com/api/webhooks/XXXXXXXX"

  - id: "subs"
    discord_channel: "subs"
    discord_username: "test"
    discord_format: "{{data}}"
    discord_webhook_url: "https://discord.com/api/webhooks/XXXXXXXX"

telegram:
  - id: "tel"
    telegram_api_key: "XXXXXXXXXXXX"
    telegram_chat_id: "XXXXXXXX"
    telegram_format: "{{data}}"

pushover:
  - id: "push"
    pushover_user_key: "XXXX"
    pushover_api_token: "YYYY"
    pushover_format: "{{data}}"
    pushover_devices:
      - "iphone"

smtp:
  - id: email
    smtp_server: mail.example.com
    smtp_username: [email protected]
    smtp_password: password
    from_address: [email protected]
    smtp_cc:
      - [email protected]
    smtp_format: "{{data}}"

custom:
  - id: webhook
    custom_webook_url: http://host/api/webhook
    custom_method: GET
    custom_format: '{{data}}'
    custom_headers:
      Content-Type: application/json
      X-Api-Key: XXXXX

Running Notify

Notify supports piping output of any tool or output file and send it to configured provider/s (e.g, discord, slack channel) as notification.

Send notification using piped(stdin) output

subfinder -d hackerone.com | notify

notify-subfinder

Send notification using output file

subfinder -d hackerone.com -o h1.txt; notify -data h1.txt

Send notification using output file in bulk mode

subfinder -d hackerone.com -o h1.txt; notify -data h1.txt -bulk

Send notification using output file to specific provider's

subfinder -d hackerone.com -o h1.txt; notify -data h1.txt -bulk -provider discord,slack

Send notification using output file to specific ID's

subfinder -d hackerone.com -o h1.txt; notify -data h1.txt -bulk -id recon,vulns,scan

Example Uses

Following command will enumerate subdomains using SubFinder and probe alive URLs using httpx, runs Nuclei templates and send the nuclei results as a notifications to configured provider/s.

subfinder -d intigriti.com | httpx | nuclei -tags exposure -o output.txt; notify -bulk -data output.txt

Provider Config

The tool tries to use the default provider config ($HOME/.config/notify/provider-config.yaml), it can also be specified via CLI by using provider-config flag.

To run the tool with custom providers config, just use the following command.

notify -provider-config providers.yaml

Notify Config

Notify flags can be configured at default config ($HOME/.config/notify/config.yaml) or custom config can be also provided using config flag.

Notes

  • As default notify sends notification line by line
  • bulk flag is supported with data flag.
  • stdin/pipe input doesn't support bulk posting.

References

Notify is made with 🖤 by the projectdiscovery team.

notify's People

Contributors

mzack9999 avatar ehsandeep avatar parrasajad avatar dependabot[bot] avatar illuminatifish avatar pdelteil avatar smziaurrashid avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.