Note: This repo is not yet ready for production-use and is in early stages of development. Current status: Alpha
A configurable service written in Go to monitors RSS, Atom, and JSON feeds. Create a simple configuration file to define your feeds and associated filters, and begin receiving notifications when matches are found. Connect your notification to many services through plugins.
Begin by defining a configuration file, multiple examples can be found in the sample_recipes directory.
Here is a sample config, which will monitor the NASA "breaking news" RSS feed and alert us to potential articles of interest involving aliens, based on the feed item title and excluding articles posted on April first.
monitor:
- feed:
name: 'Aliens are real'
url: https://www.nasa.gov/rss/dyn/breaking_news.rss
interval: 60
filters:
- include:
element: title
matches: '/alien[s]?.*[life|real]/i'
- exclude:
element: published
matches: '/Apr, 1/'
notifiers:
- gotify:
server: https://gotify.example.com
token: 'your_token'
All filters must return true for the item to be considered a match. The example above states the title must contain the word "alien" and "life" or "real" to be considered a match and the published date must not contain "April 1".
go run main.go -config=config.yml
⚠️ Currently must use tagalpha
docker run \
--name-feed-monitor \
-v /host/path/to/config:/config `# path to config file` \
--restart unless-stopped \
techsquidtv/feed-monitor:alpha
⚠️ Currently must use tagalpha
services:
feed-monitor:
image: techsquidtv/feed-monitor:alpha
restart: unless-stopped
volumes:
- /host/path/to/config:/config
Feed Monitor supports plugins to push notifications to other services.
Plugin | Description |
---|---|
gotify | Send notifications to a gotify server to receive real-time push notifications when a match is found. |
Write a plugin for Feed-Monitor! Get started by reading the HACKING.md page.
Plugin | Description |
---|---|
- awaiting - | - |