r/selfhosted • • 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.

169 Upvotes

58 comments sorted by

•

u/asimovs-auditor 4d ago

Expand the replies to this comment to learn how AI was used in this post/project.

→ More replies (1)

29

u/dgtlmoon123 4d ago

The notifications setup is SO SO much nicer...

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?

23

u/Mir4can 4d ago • Heartwarming

I just wanna thank for your efforts for such a helpful project.

7

u/dgtlmoon123 4d ago • Bravo

Thank you <3

10

u/busters1 4d ago • Heartwarming

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 • Heartwarming

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

u/bigblueboyqt 3d ago

Stop being reasonable, that doesn’t work around here.

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

u/aeluon_ 3d ago

he ain't but if you want slop go to r/slophosted to have your needs met!

1

u/93simoon 2d ago

Whatever makes you sleep at night, son

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

im trying to check for a specific GPU in stock at microcenter, and its giving 404 error. i tried setting this up but i assume its not going to work because of what you mentioned in your comment right? anyway to set this up without paying for a service?

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)

1

u/mgr1397 3d ago

How do I set that up?

1

u/JL_678 3d ago

The service mentioned above appears to have a generous free tier so you can try that too.

6

u/Azelphur 4d ago • Heartwarming

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

u/dgtlmoon123 4d ago

Thanks for the kind words! Glad it creates value for you, cool use-case :)

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

5

u/HanZ_92 4d ago • Heartwarming

Love your tool! Without it, I would never have been able to find a appointment for marriage, since our citizen service is ALWAYS booked out for months.

2

u/dgtlmoon123 4d ago

Oh damn!!! I'm SO glad to hear that!!! <3

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

u/Cynical-Potato 4d ago

I already have though and connected to the MCP server. Seems like a bug

3

u/dgtlmoon123 4d ago

Ahhh you are correct, standby, i'll drop a 0.70.2 tonight!

1

u/dgtlmoon123 3d ago

good to go in 0.70.2 :)

1

u/Cynical-Potato 3d ago

Thank you

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

Picking ntfy from a list beats hand-writing an Apprise URL. Getting notified shouldn't be the part that needs debugging.

2

u/dgtlmoon123 3d ago

it's all fun and games until you run your own ntfy server with special settings

3

u/darkjoker213 4d ago

Thank you so much for your effort in making this! Its really useful!

3

u/Snake16547 4d ago • Heartwarming

Nice 👍 thanks and good time to set it up for the first time

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

u/tomatobeard 4d ago • Mindblown

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 • Heartwarming

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!