A review of 'changedetection.io,' a free, self-hostable monitoring tool that automatically checks for website changes and notifies you of them.



Checking for web page updates is easy enough if you only need to do it once a day by opening your browser. However, as the number of pages to check increases, manual checks become increasingly cumbersome. ' changedetection.io ' is a web page change detection tool that periodically retrieves the content of web pages, detects the differences from the previously retrieved content, and notifies you of the changes.

Website change detection, monitoring, alerts, notifications, restock alerts | changedetection.io

https://changedetection.io/



GitHub - dgtlmoon/changedetection.io · GitHub
https://github.com/dgtlmoon/changedetection.io


When thinking about mechanisms for notifying users of updates, 'RSS readers' come to mind. However, RSS readers read RSS feeds provided by websites. Therefore, they cannot monitor pages that do not have an RSS feed, and for pages where only a portion of the main text is included in the RSS feed, it may be difficult to fully grasp the updates. Another weakness is that it is difficult to track information that is not included in the RSS feed, such as product prices and stock availability.

On the other hand, changedetection.io retrieves the specified web page itself and compares the differences, so it can monitor pages even if they don't have an RSS feed.

The official GitHub page describes changedetection.io as being suitable for tracking price changes, page content updates, and changes in displayed content that match certain criteria. For example, it can send notifications when the 'Out of Stock' indicator disappears or when the phrase 'New Version Released' is added.

Notification destinations can be selected from 'Discord,' 'Slack,' 'LINE,' 'X/old Twitter,' 'BlueSky,' 'Telegram,' 'Google Chat,' 'Matrix,' 'Microsoft Teams,' 'Misskey,' 'Signal,' 'SynologyChat,' 'Zoom,' 'Email,' 'Webhook,' 'SMS,' and 'Windows, macOS, and Linux desktop notifications.' The notification sending uses a library called Apprise , which is said to support more than 100 different services.



With changedetection.io, you can register the URLs you want to monitor, set the retrieval interval and notification destinations, and the web pages will be retrieved periodically. If changes are made, you can see the differences between the before and after versions on the screen. You can also send the details of the changes to the notification destinations, which is convenient because you can track down what was added and what was removed, rather than just being notified that the page has been updated.



changedetection.io also allows you to specify and detect changes only within a portion of a page, receive notifications only when a specific string appears, and ignore unnecessary text. The official GitHub repository showcases features such as specifying target ranges using CSS selectors, XPath, JSONPath, and

jq , filtering using regular expressions, and monitoring text changes in PDF files. Additionally, a visual selector feature allows you to easily select the elements you want to monitor on a web page directly on the screen.



A typical use case officially mentioned is 'monitoring price changes.' By monitoring only the product price, it's possible to notify users of price changes and restocks, as well as to send notifications using upper and lower price limits, price fluctuation rates, and more.

Note that information rendered by JavaScript may not be obtainable using the standard HTTP retrieval method. In such cases, it is possible to retrieve the page after JavaScript has been executed by using it in conjunction with 'Playwright,' a tool that automates browser operations.

It can also handle pages that require login. changedetection.io has browser operation steps that allow you to perform actions such as text input, button clicks, cookie consent, search criteria input, and login before retrieving text. However, when monitoring pages that require login, changedetection.io needs to handle IDs, passwords, and cookies after login. Care must be taken regarding whether it is okay to store account information, whether two-factor authentication will be interrupted midway, and whether it violates the terms of service of the monitored site.



One of the major features of changedetection.io is its self-hosting capability, allowing you to build your own monitoring environment not only on your local PC but also on a VPS, home server, or NAS. If you use Docker, simply starting the changedetection.io container will give you access to a dedicated web management screen. After starting, you can access the specified address in your browser and manage the registration of URLs you want to monitor and notification settings from the screen.

Self-hosting allows you to manage a list of URLs you want to monitor and notification settings within your own environment, making it easier to handle URLs that you don't want to register with external services, such as internal company pages, pre-publication testing pages, or personal purchase candidate lists.

In the next article, we'll actually set up changedetection.io using Docker and monitor changes to a webpage.

in Software, Posted by log1d_ts