Published 1 minute ago
João has been covering the tech world for over 7 years, with a heavy focus on laptops and the Windows ecosystem. I also love all things tech and videogames, especially Nintendo, which he’s always happy to talk about.
Prior to joining XDA in 2021, he worked at Neowin: https://www.neowin.net/news/poster/jo%C3%A3o-carrasqueira/
Whether you’re waiting for a product to get back in stock or for a sale, you’ve probably wanted a tool that lets you know when there are updates to a certain website. And that’s just one of the more typical use cases; there could be many more reasons you might want to be notified of any changes to a website, whether it’s because you’re waiting for some news to drop or anything else.
For price tracking, some services do exist, but they c…
Published 1 minute ago
João has been covering the tech world for over 7 years, with a heavy focus on laptops and the Windows ecosystem. I also love all things tech and videogames, especially Nintendo, which he’s always happy to talk about.
Prior to joining XDA in 2021, he worked at Neowin: https://www.neowin.net/news/poster/jo%C3%A3o-carrasqueira/
Whether you’re waiting for a product to get back in stock or for a sale, you’ve probably wanted a tool that lets you know when there are updates to a certain website. And that’s just one of the more typical use cases; there could be many more reasons you might want to be notified of any changes to a website, whether it’s because you’re waiting for some news to drop or anything else.
For price tracking, some services do exist, but they can be slow with how they deliver notifications, plus their usefulness is limited to certain websites. So what if you could have your own tool that can track changes to any website and send you notifications on any platform of your choosing? Well, that’s exactly what ChangeDetection.io is for, and you can self-host it on your own PC or NAS to use it for free.
Related
Monitoring changes with ChangeDetection
It’s easy to set up
Getting started with ChangeDetection is fairly easy, particularly if you’re using a NAS running TrueNAS. The app is available on the official app platform for TrueNAS, so all you need to do is install it with most of the default settings. No big changes are required here, though if you want to use it for price tracking, you’ll need to deploy the container using something like Dockge or Portainer so you can use a compose file. I’ll dive into that in the next section.
Once that’s done, you can access the app’s web UI and start adding URLs to monitor. A couple of pages are there by default, but you can remove them and then add things you actually care about. All you really need to do is enter the URL for the page you want to monitor and click Enter, and it will begin being monitored at regular intervals. The default timer for new checks is every three hours, but you can change the global setting or adjust it for every URL you add, depending on how urgent it is for you to learn about specific changes.
By default, ChangeDetection monitors the entire page for changes, but there’s a relatively recent addition that specifically tries to track stock availability and pricing on product pages by detecting the proper element. This can be more beneficial for price tracking on platforms like Amazon or Best Buy.
In the ChangeDetection settings, you can decide how often it should check for updates. During the great console shortage of 2020, you may have wanted to be reminded of restocks as soon as possible, so in that case, checking every five minutes could be worth it. Otherwise, though, it’s up to you to balance the urgency of alerts and how many resources you’re willing to use, since your PC will naturally use a bit more power every time it performs a check. You can change the update interval in the global settings or for each URL you’re watching, so you have total control.
Related
Forget about Portainer, I use this simple tool to manage all my Docker containers on my NAS
I use Dockge to manage all my Docker containers, and I won’t look back (except in some instances).
Price tracking
It’s a little more complicated
While basic HTML changes are relatively easy to track, the price tracking feature mentioned above require a little more work. By default, ChangeDetection loads no JavaScript content, which means a lot of websites won’t support price tracking out of the box.
For this, you need to set up a "Chrome server", a container that will load the website with JavaScript and identify elements of the website to attempt to track pricing information. The compose file provided by the developers includes a few lines for enabling the Selenium container, but I had some trouble getting this to work. Thankfully, some digging done by myself and my colleague Adam Conway dug up some information that helped with this. If you want to use ChangeDetection for price tracking, I recommend using the compose file below, changing the dataset names as needed:This will ensure that you can then use Playwright to load pages and elements that require JavaScript, which is the case for most websites where you’ll do price tracking.
After this was all running, I tried a few websites and pages, and results are a bit mixed. Amazon pages seem to work for tracking stock availability, but prices are not pulled by ChangeDetection. Meanwhile, Best Buy works fine for some products, but when I tried to watch the Apple Watch Ultra 2, it failed, and I believe this is likely because there’s both an upfront price option but also an option for monthly payments on a contract. This price tracking tool isn’t designed for pages with multiple prices.
Out of curiosity, I also tried a couple of Portuguese retailers, again to mixed results. Out of the three retailers I checked, one failed due to having multiple prices on the page, but the other two worked totally fine. Your mileage will vary by retailer and, in some cases, by product, but you can always revert to the basic page text watch if a specific page won’t work with price detection.
Related
Setting up notifications
Get alerts whenever anything changes
Of course, the whole point of this setup is to get alerts. Sure, it can also work as a dashboard for keeping an eye on multiple websites, but you probably want to get notifications. Thankfully, ChangeDetection has the AppRise service built-in, so all you need to do is use AppRise-style URLs for notifications. Again, you can do this in the Notifications tab in the global settings or define them separately for each URL you’re tracking.
For myself, if I want to get notifications, chances are I want to get them quickly, so I’d rather use a messaging service like Telegram. For Telegram specifically, I first had to create a Telegram bot, which is easier than it sounds. You can search for BotFather in the app to create a new bot easily, and that will generate a bot token for you. I then needed to send a message to the bot saying /start to activate it.
Then, I took the bot token from Telegram and entered it into the AppRise URL format for Telegram, which looks like this:
tgram:///
You can check information on the syntax for different notification platforms here, but the general format is pretty similar to this.
You can easily send a test notification to make sure that it’s working, and if it’s set up correctly, notifications are instant, so it was a fairly painless process all things considered. You can also customize the text in the notification, including fields for data like the website title and URL, so that it always shows the information specific to a given watch.
Related
Monitor changes without the hassle
At this very moment, I don’t personally have a need to monitor something like this, but I do really like what’s possible to do with ChangeDetection, and I’ll probably keep it on my server for a rainy day. If you’re waiting for a product to go on sale, or you need to know whether a website may be making breaking changes, or if you’re waiting for an update on something like a project launch, this is an excellent tool to have. You can check out more about ChangeDetection on the project’s GitHub page.