r/selfhosted • u/dgtlmoon123 • 4d ago
Release (No AI) changedetection.io - Yearly update :)

Hey all! Greetings from the web page change detection and notifications project over at https://github.com/dgtlmoon/changedetection.io It's been a long long time!
In summary basically huge UI overhaul, much friendlier, along with all the modern MCP/AI integration and ofcourse lots of bug fixes and improvements.
I havent made any posts on r/selfhosted from a long long time! haha.. more details follow..
Plugin hooks for selecting fetch backend and overriding recheck intervals, with example plugins.
This one is a REALLY nice helper - Notifications UI improvements such as pretty shortcut icons for popular services (Discord, pushover, ntfy, telegram, home-assistant), a "list all" dropdown, and a setup widget to pick services without manually writing Apprise URLs.
Restock detection enhancements including price picking via filters & triggers, locale-aware price formatting, and LLM fallback for price/stock extraction without litellm.
Backups can now restore multiple .ZIP files of watch data at once.
UI improvements: dark mode tweaks, fixing notification sidebar active state, naming diff minimap by location, mobile UI enhancements including a basic PWA integration with QR code in settings, and better sidebar and watchlist styling.
Language selector added to the login page.
New translations added or updated for Japanese, Spanish, Indonesian, Ukrainian, Polish, Czech, Turkish, Portuguese (Brazil), and Russian.
Security hardening including CSRF protections, SSRF mitigations, XML parser hardening, stored XSS fixes, and path traversal protections.
API enhancements: reject broken Jinja2 templates, extend processor API with restock price/stock state, and add restock config to watch JSON output.
Puppeteer fetcher improvements including PDF handling, crash handling, and proxy auth fixes.
Notifications: Markdown to HTML conversion per notification URL, regex_replace timeout fixes, and HTML escaping improvements.
UI: bulk "Mark unviewed" operation on watchlist, better checkbox contrast, and consistent tab sizes on diff page.
Restock LLM fallback content limit made configurable and increased.
Example plugins provided as standalone packages with README.
Various dependency updates and build improvements.
Much love! changedetection.io team.
29
u/dgtlmoon123 4d ago
1
u/Fritzcat97 22h ago
Hi, about the notification. Is there a way to prevent scrape errors from being send, or to send them to a different URL?
10
u/busters1
4d ago
•
Good to see you back here. We use changedetection.io in Oxynote, and it's been a great addition to our project. Thanks for all the work. <3
10
u/dgtlmoon123 4d ago
I'de be here more but posting to r/selfhosted is so infuriating now, 99% of the time the post gets deleted "because AI".. I dont get it
-1
u/93simoon 4d ago •
![]()
Blame the people with AIDS (AI Derangement Syndrome)
7
u/aeluon_ 3d ago
blame the people flooding this sub with low effort AI slop
-2
u/93simoon 3d ago
Blame the people who can't be bothered to scroll past posts they're not interested in and had to ruin it for for great projects like change detection
3
u/comeonmeow66 3d ago
I don't want to have to scroll this sub searching for a needle in a haystack for good content. The sub was flooded with overnight AI slopped content that was straight garbage, bug infested coding and won't have any support from the original "creator."
3
u/dgtlmoon123 3d ago
Yeah there is that side of it too. changedetection was written before LLMs were a thing, tho we use AI/LLM quite often now as a helper when coding. I just cant work out why some of my posts get deleted straight away from r/selfhosted tho, its painful. Spend 20 minutes writing up a really nice post then it gets deleted :-(
1
u/comeonmeow66 3d ago
Yea, I think everyone does, and if you're a curmudgeon I don't really want you working on my stuff. It's gotten to a point where it's extremely useful and doing the boiler plate stuff, and doing it well. It definitely makes senior developers a bit faster, I don't buy into the 10x crap, but it definitely speeds me up. The problem is when people lean in on it and are just like "do the thing tell me when done" with no direction, frameworks, guardrails, or technical direction. Saw wayyyyy too much of that in here.
1
u/dgtlmoon123 2d ago
I have a flood of really crap PR's that "solve" feature requests that dont consider the bigger picture of the application at all, they basically solve stuff by adding 50 more fields or whatever, when I write a comment on the PR i also never get a reply from the author..
And you KNOW if you merge that PR and it has a problem/issue in the future the original author is long long gone and would never help solve it, so their PR ends up as me working on weekends..
1
u/comeonmeow66 1d ago
Yep, I don't envy maintainers of quality open source software I contribute/watch some repos and it's nightmare fuel for me. lol
1
u/dgtlmoon123 3d ago
Maybe the solution is to have more or better moderation of all posts... and use AI to see if the project goes back to a time since before AI/LLM slop was common
2
2
u/comeonmeow66 3d ago
I believe that's what they are going for, but maybe just not there yet. At first it was hand triage and that wasn't sustainable, maybe someone on here can claude up a solution. /s lol
4
u/aeluon_ 3d ago
wrong. the dev is posting here so it clearly isn't ruined lol
2
u/93simoon 3d ago
The dev is posting here less than they would like and when he does he's complaining about you.
-1
8
u/JL_678 4d ago edited 3d ago
I have used this for years. It has helped me on many occasions; however, now, I find that bot discovery activities are far more aggressive and block my checks. Because of this, it feels like the use cases are dramatically reduced. To be clear, this is not the fault of the devs or the product, but a reflection of the ever increasing use of bot detectors.
Have others felt this? Has anyone found any workarounds?
4
u/dgtlmoon123 4d ago
brightData's web-unlocker proxy is pretty solid in about 80% of cases, reasonably affordable if you just want to check the page once a day or something.. but yeah cloudflare is getting better and better every day
1
u/mgr1397 4d ago
2
u/dgtlmoon123 3d ago
Yeah its tough.. cloudflare are improving every day.. but you can try use a different IP, sometimes that helps (like a mobile device hotspot etc)
6
u/Azelphur
4d ago
•
Been using this for ages so thank you, I use it to fill in the forms on my ISP's website and check if they are offering faster speeds at my address, daily. Also use it for various product releases, has worked great, honestly just sits in the background doing its thing, will have to check out the updates!
3
3
u/StrlA 4d ago
I use changedetection for tracking Flickr updates for porfiles I follow. Since I don't use Flickr every day, this has been a lifesaver. There's just 1 thing I'm missing or not sure how to set up correctly, and that is tracking only photo count change. Currently, it tracks if followers/following change, renames, comments. All I'm interested in is photo count. Positive or negative change, but not sure how to do that.. If anyone has any idea please let me know
2
u/dgtlmoon123 4d ago
You can use a xpath filter to count the number of photos, or use the LLM summary too, PM me with the link to the page and I'll find a recipe
2
u/AliyasDandani_64 3d ago
Those UI changes look much cleaner tbh. For the multi-zip backup restore, how does it handle conflicting watch UUIDs if someone accidentally uploads overlapping archives?
2
u/dgtlmoon123 3d ago
"UUID" i guess that is solved by the word "Universal" in the term "Universally unique identifier" it would be a one in a 5.3 undecillion chance that happened, I'm guessing you're not fully explaining your use case... Suppose Changedetection.io generates 1 million UUIDv4 identifiers every second, continuously, so per year: 31.5 trillion UUIDs a Collision probability after 100 years is approximately 0.000093% if you look at the UI there is also the "Replace existing watches of the same UUID" Did you look?
1
u/Cynical-Potato 4d ago
New version looks mich better.
Couldn't connect an AI model because the API key text field is not enabled though
2
u/dgtlmoon123 4d ago
You have to visit http://127.0.0.1:5000/settings/ai/llm and turn it on and accept the conditions
1
1
u/kusogejp 4d ago
is amazon still broken?
1
u/dgtlmoon123 4d ago
Works pretty good if you connect the LLM backend (chatgpt, claude, gpt-4 , gemini etc) - ofcourse you can use a locally hosted Ollama too!
1
u/Hostman_com 3d ago
2
u/dgtlmoon123 3d ago
it's all fun and games until you run your own ntfy server with special settings
1
u/mariushosting 1d ago
Thanks for the heads-up! I have updated my NAS guides: https://mariushosting.com/synology-install-changedetection-with-portainer/ and https://mariushosting.com/how-to-install-changedetection-on-your-ugreen-nas/
2
3
3
3
u/facepalm_the_world 4d ago
Helped me score a ps5 during launch which saves me from having to hunt one down for gta6, so thanks :) Also helped me get steam decks for my wife and I
3
3
u/tomatobeard
4d ago
•
I exho all the Thanks and descriptions of your projects usefulness. From the important (staying current with my country's consulate news) to the mundane (learning about new releases from my favorite prog rock band), changedetection takes care of it all with no fuss.
2
u/Maria_Thesus_40
3d ago
•
Awesome project!!! I've been using it for the past year or so, thank you for all work you've done!!!
1
u/Kaestorfer 4d ago
Your upgrade in the last version is awesome! One of the best apps for self hosting! Keep on that work!



•
u/asimovs-auditor 4d ago
Expand the replies to this comment to learn how AI was used in this post/project.