Purpose
Watches the findings/ directory of an engagement workspace for new JSON files and
sends a notification to configured webhooks: Slack, Discord, and ntfy.sh are all
supported and can be used simultaneously. Seen-file state is persisted to
notify/state.json so restarts do not re-send findings that were already delivered.
Exits cleanly on SIGINT.
Output
notify/state.json— list of finding files already sent; read on startup to avoid duplicate notifications.
CLI
mg-notify acme-bounty --slack-url $SLACK_WEBHOOK
mg-notify acme-bounty --discord-url $DISCORD_WEBHOOK --ntfy-topic acme-bounty
Notes
- At least one of
--slack-url,--discord-url, or--ntfy-topicmust be provided. - ntfy.sh messages include severity and finding title in the notification header.
- The watcher polls
findings/on a short interval; inotify is not required.