Add changedetection.io (#1277)

Co-authored-by: Nicolas Meienberger <47644445+meienberger@users.noreply.github.com>
This commit is contained in:
Stavros 2023-10-01 19:59:10 +03:00 committed by GitHub
parent bbcb22f9ff
commit 42ada42cc1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 141 additions and 0 deletions

View File

@ -16,6 +16,7 @@ This is the official repository for the Tipi App Store. It contains all the apps
- [Budibase](https://github.com/Budibase/budibase) - Low code platform for creating internal tools, workflows, and admin panels in minutes. Supports PostgreSQL, MySQL, MSSQL, MongoDB, Rest API, Docker, K8s, and more 🚀. Budibase, the low code platform you'll enjoy using ⚡
- [Bookstack](https://github.com/BookStackApp/BookStack) - Simple, easy-to-use platform for organising and storing information.
- [Calibre-Web](https://github.com/janeczku/calibre-web) - Web Ebook Reader
- [ChangeDetection.io](https://github.com/dgtlmoon/changedetection.io) - The best and simplest free open source website change detection, restock monitor and notification service.
- [Chatpad AI](https://github.com/deiucanta/chatpad) - Not just another ChatGPT user-interface!
- [Code-Server](https://github.com/coder/code-server) - Web VS Code
- [Codex.Docs](https://github.com/codex-team/codex.docst) - Free Docs app powered by Editor.js ecosystem.

View File

@ -0,0 +1,18 @@
{
"name": "ChangeDetection",
"available": true,
"port": 8257,
"exposable": true,
"id": "changedetection",
"description": "The best and simplest free open source website change detection, restock monitor and notification service.",
"tipi_version": 1,
"version": "0.45.2",
"categories": [
"utilities"
],
"short_desc": "Website change detection.",
"author": "dgtlmoon",
"source": "https://github.com/dgtlmoon/changedetection.io",
"website": "https://changedetection.io/",
"form_fields": []
}

View File

@ -0,0 +1,49 @@
version: "3.7"
services:
changedetection:
image: ghcr.io/dgtlmoon/changedetection.io:0.45.2
container_name: changedetection
hostname: changedetection
volumes:
- ${APP_DATA_DIR}/data:/datastore
ports:
- ${APP_PORT}:5000
restart: unless-stopped
environment:
- PLAYWRIGHT_DRIVER_URL=ws://chnagedetection-chrome:3000/?stealth=1&--disable-web-security=true
networks:
- tipi_main_network
labels:
# Main
traefik.enable: true
traefik.http.middlewares.changedetection-web-web-redirect.redirectscheme.scheme: https
traefik.http.services.changedetection-web.loadbalancer.server.port: 5000
# Web
traefik.http.routers.changedetection-web-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.changedetection-web-insecure.entrypoints: web
traefik.http.routers.changedetection-web-insecure.service: changedetection-web
traefik.http.routers.changedetection-web-insecure.middlewares: changedetection-web-web-redirect
# Websecure
traefik.http.routers.changedetection-web.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.changedetection-web.entrypoints: websecure
traefik.http.routers.changedetection-web.service: changedetection-web
traefik.http.routers.changedetection-web.tls.certresolver: myresolver
# Local domain
traefik.http.routers.changedetection-web-local-insecure.rule: Host(`changedetection-web.${LOCAL_DOMAIN}`)
traefik.http.routers.changedetection-web-local-insecure.entrypoints: web
traefik.http.routers.changedetection-web-local-insecure.service: changedetection-web
traefik.http.routers.changedetection-web-local-insecure.middlewares: changedetection-web-web-redirect
# Local domain secure
traefik.http.routers.changedetection-web-local.rule: Host(`changedetection-web.${LOCAL_DOMAIN}`)
traefik.http.routers.changedetection-web-local.entrypoints: websecure
traefik.http.routers.changedetection-web-local.service: changedetection-web
traefik.http.routers.changedetection-web-local.tls: true
chnagedetection-chrome:
hostname: chnagedetection-chrome
image: browserless/chrome:latest
restart: unless-stopped
container_name: chnagedetection-chrome
networks:
- tipi_main_network

View File

@ -0,0 +1,73 @@
## Web Site Change Detection, Restock monitoring and notifications.
**_Detect website content changes and perform meaningful actions - trigger notifications via Discord, Email, Slack, Telegram, API calls and many more._**
_Live your data-life pro-actively._
[<img src="https://raw.githubusercontent.com/dgtlmoon/changedetection.io/master/docs/screenshot.png" style="max-width:100%;" alt="Self-hosted web page change monitoring" title="Self-hosted web page change monitoring" />](https://changedetection.io?src=github)
### Target specific parts of the webpage using the Visual Selector tool.
Available when connected to a <a href="https://github.com/dgtlmoon/changedetection.io/wiki/Playwright-content-fetcher">playwright content fetcher</a> (included as part of our subscription service)
[<img src="https://raw.githubusercontent.com/dgtlmoon/changedetection.io/master/docs/visualselector-anim.gif" style="max-width:100%;" alt="Self-hosted web page change monitoring context difference " title="Self-hosted web page change monitoring context difference " />](https://changedetection.io?src=github)
### Easily see what changed, examine by word, line, or individual character.
[<img src="https://raw.githubusercontent.com/dgtlmoon/changedetection.io/master/docs/screenshot-diff.png" style="max-width:100%;" alt="Self-hosted web page change monitoring context difference " title="Self-hosted web page change monitoring context difference " />](https://changedetection.io?src=github)
### Perform interactive browser steps
Fill in text boxes, click buttons and more, setup your changedetection scenario.
Using the **Browser Steps** configuration, add basic steps before performing change detection, such as logging into websites, adding a product to a cart, accept cookie logins, entering dates and refining searches.
After **Browser Steps** have been run, then visit the **Visual Selector** tab to refine the content you're interested in.
Requires Playwright to be enabled.
### Example use cases
- Products and services have a change in pricing
- _Out of stock notification_ and _Back In stock notification_
- Monitor and track PDF file changes, know when a PDF file has text changes.
- Governmental department updates (changes are often only on their websites)
- New software releases, security advisories when you're not on their mailing list.
- Festivals with changes
- Discogs restock alerts and monitoring
- Realestate listing changes
- Know when your favourite whiskey is on sale, or other special deals are announced before anyone else
- COVID related news from government websites
- University/organisation news from their website
- Detect and monitor changes in JSON API responses
- JSON API monitoring and alerting
- Changes in legal and other documents
- Trigger API calls via notifications when text appears on a website
- Glue together APIs using the JSON filter and JSON notifications
- Create RSS feeds based on changes in web content
- Monitor HTML source code for unexpected changes, strengthen your PCI compliance
- You have a very sensitive list of URLs to watch and you do _not_ want to use the paid alternatives. (Remember, _you_ are the product)
- Get notified when certain keywords appear in Twitter search results
- Proactively search for jobs, get notified when companies update their careers page, search job portals for keywords.
- Get alerts when new job positions are open on Bamboo HR and other job platforms
- Website defacement monitoring
- Pokémon Card Restock Tracker / Pokémon TCG Tracker
- RegTech - stay ahead of regulatory changes, regulatory compliance
_Need an actual Chrome runner with Javascript support? We support fetching via WebDriver and Playwright!</a>_
#### Key Features
- Lots of trigger filters, such as "Trigger on text", "Remove text by selector", "Ignore text", "Extract text", also using regular-expressions!
- Target elements with xPath(1.0) and CSS Selectors, Easily monitor complex JSON with JSONPath or jq
- Switch between fast non-JS and Chrome JS based "fetchers"
- Track changes in PDF files (Monitor text changed in the PDF, Also monitor PDF filesize and checksums)
- Easily specify how often a site should be checked
- Execute JS before extracting text (Good for logging in, see examples in the UI!)
- Override Request Headers, Specify `POST` or `GET` and other methods
- Use the "Visual Selector" to help target specific elements
- Configurable [proxy per watch](https://github.com/dgtlmoon/changedetection.io/wiki/Proxy-configuration)
- Send a screenshot with the notification when a change is detected in the web page

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB