Aggregates news feed updates and sends them to your email inbox.
- Supports Atom and RSS/RDF feeds.
- Supports subscribing to feed URL directly, or scanning for a
linktag at a given URL. - Uses Golang html/template to customize the email body.
- Update timestamps persisted to YAML file.
- Optionally resolves relative URLs
- Optionally uses Reddit bearer token to request RSS feeds
- Install via
go install github.com/fgeller/feederor download a release. - Create a config file, customizing email settings and file paths.
- Add subscribed feeds either by:
- maintaing the feeds config file manually, or
- using feeder via
feeder -subscribe https://example.com/blog/
- Run via
feedermanually, or set up recurring execution, e.g. viacrontab -e feeder -helpoutput:
Usage of feeder:
-config string
Path to config file (default $XDG_CONFIG_HOME/feeder/config.yml)
-subscribe string
URL to feed to subscribe to
-version
Print version information
By default feeder will try to download the configured feeds and send
the latest entries via email. If the subscribe flag is provided,
instead of downloading feeds, feeder tries to subscribe to the feed
at the given URL and persists the augmented feeds config.
-
feeds-fileis the list of feeds you are subscribed to. -
timestamp-fileis required to persist what updates have been seen. -
email-template-fileis an optional Golang html/template to format the sent email. -
emailcontains the configuration for sending emails. Thefromaddress will also be thetoaddress and thesmtpobject allows for standard smtp host and auth configuration. -
max-entries-per-feedis the maximum number of entries to send per feed. -
redditallows configuringclient-idandclient-secretso feeder can request and use a bearer token for Reddit RSS feeds.
feeds-file: '/home/fgeller/.config/feeder/feeds.yml'
timestamp-file: '/home/fgeller/.config/feeder/timestamps.yml'
email-template-file: '/home/fgeller/.config/feeder/email.tmpl'
reddit:
client-secret: some-secret-characters
client-id: some-id-characters
email:
from: example@gmail.com
smtp:
host: smtp.gmail.com
port: 587
user: example@gmail.com
pass: passwort- name: 'irreal'
url: https://irreal.org/blog/?feed=rss2
- name: The Go Blog
url: https://blog.golang.org/blog/feed.atom