NoirWatch Shell Homebrew
Reading Time
Reading time for this document is 1 minute for 267 words.
NoirWatch watches web pages and notifies you when one changes. Notifications can go to your desktop (macOS, Linux and Windows) or to your phone through Pushover.
Features
- Monitor multiple websites for changes
- Pushover and native desktop notifications
- Configurable check intervals
- Verbose logging with different log levels
- Background execution
- Customizable configuration and URL list files
Install
On macOS with Homebrew:
brew install binarynoir/noirwatch/noirwatchOn Linux, macOS or Windows (in Git Bash), you can instead clone the repository and run the script directly. It needs Bash 4 or newer plus curl, sed, shasum and xmllint. Desktop notifications also need notify-send on Linux or PowerShell on Windows.
git clone https://github.com/binarynoir/noirwatch.git
cd noirwatch
chmod +x noirwatchIf you installed from a clone, type ./noirwatch instead of noirwatch in the commands below.
First run
# Create a configuration file (~/.config/noirwatch.json on macOS and Linux)
noirwatch --init
# Watch one page
noirwatch https://example.com
# Watch every page listed under "urls" in the configuration file
noirwatch
# Run in the background, and stop it later
noirwatch --start
noirwatch --stopThe configuration file holds the check interval, your notification settings (such as Pushover keys) and the list of pages to watch. Open it in your editor with noirwatch --edit-config. noirwatch --help lists every option and its current default. The README covers the configuration file in detail, plus running NoirWatch as a service with systemd, launchd or Windows, and with Docker.
Status
- Done Monitor multiple websites
- Done Pushover notifications
- Done Desktop notifications on macOS, Linux and Windows
- Done Run as a background service
- Done Run a custom script when a change is detected
- Done Run a set number of checks, then exit
- Done JSON configuration with per-page options
- Planned Change averages for all URLs, in notifications and a history report
- Planned More notification methods: email, Slack, Discord, Teams, Telegram