Features • Installation • Providers • Usage • Running Notify • Notes • Join 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.
- 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
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 |
go install -v github.com/projectdiscovery/notify/cmd/notify@latest
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: test@example.com
smtp_password: password
from_address: from@email.com
smtp_cc:
- to@email.com
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
Notify supports piping output of any tool or output file and send it to configured provider/s (e.g, discord, slack channel) as notification.
subfinder -d hackerone.com | notify
subfinder -d hackerone.com -o h1.txt; notify -data h1.txt
subfinder -d hackerone.com -o h1.txt; notify -data h1.txt -bulk
subfinder -d hackerone.com -o h1.txt; notify -data h1.txt -bulk -provider discord,slack
subfinder -d hackerone.com -o h1.txt; notify -data h1.txt -bulk -id recon,vulns,scan
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
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 flags can be configured at default config ($HOME/.config/notify/config.yaml
) or custom config can be also provided using config
flag.
- As default notify sends notification line by line
- bulk flag is supported with data flag.
- stdin/pipe input doesn't support bulk posting.
Notify is made with 🖤 by the projectdiscovery team.