A small middleware between RSS feed sources and RSS readers to:
- Save RSS content locally (with rusqlite) for further use
- Integrate with other content processing services (with pyo3)
- Integrate with push services (currently only Finb/Bark is supported, more will be added later)
- Integrate with reader apps (currently implemented a subset of Fever API; tested with ReadKit)
Currently, updates are only triggered by external requests, so it is better to use this tool with RSS bots:
As middleware this tool forwards requests to the original feed source by using URL:
http://example.com/feed.xml->http://172.17.0.1:5080/http/example.com/feed.xmlhttps://example.com/feed.xml->http://172.17.0.1:5080/https/example.com/feed.xml
Since LeanCloud is shutting down, this tool added the ability to work as a backend for Valine.
This tool is still in early stage development, so currently manual deployment is required:
- Create a SQLite database from
db.sql - Run
cargo build --releaseto get the binary filetarget/release/rss_pipe - Run
rss_pipewith the following arguments (--key=value):--dbSQLite database path--authAuthorization key for Fever and Valine; see logs instdoutfor the correct value--barkBark server URL for push notifications--bindBind address for HTTP server (default:172.17.0.1:5080)--pathFever API endpoint path--proxyProxy for fetching feeds (only forhttps://URLs, and onlysocks5is supported)
Sorted by length of characters.
- Redirect handling
- Database migrations
- Groups (and maybe GUI for this)
- Presets (proxy, content processing, ...)
- Try to get rid of massive idna / icu dependencies
- Decompressing body (tried but seems not very useful)
- Complete Fever API implementation (since_id, groups, favicons, ...)
- Feed activity tracking (remove feeds not updated for a long time from Fever API)