A simple script that uses Github Actions and ntfy.sh to periodically poll websites and notify you of changes in the HTML.
-
Fork this repository.
-
Go to the repo's settings > Actions > Workflow permissions and set to
Read and write permissions
. -
Set your ntfy.sh topic name as a repository secret with name the
NTFY_TOPIC
. -
Edit
.github/workflows/poll-websites
line 6 with the cron schedule expression of your preference. Default is"0 6 * * *"
(daily at 6 am). -
Edit
watch.json
.
You can specify which websites to poll and under what conditions the script should notify you in watch.json
.
The file consists of a list of key-value pairs. You specify the name of each website / notification as the key of an entry. This is the name that will appear in notifications. The value of each key must be another object and contain at least:
"url"
: the url to monitor (with GET requests)"on"
: the criteria that will trigger a notification."in"
will notify if the text in"txt"
is in the retried HTML,"not_in"
the opposite, and"change"
will do so if the page changes from a cached version.
You must include a "txt"
field if "on"
is either "in"
or "not_in"
.
Note: "change"
will automatically cache the page the first time the script is ran and will overwrites cached version when a change is detected.