redisread / rss-proxy

RSS-proxy allows you to do create an RSS or ATOM feed of almost any website, just by analyzing just the static HTML structure.

Home Page:https://rssproxy.migor.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RSS-proxy

Build Status

RSS-proxy 2+ allows you to do create an ATOM or JSON feed of almost static/dynamic websites or feeds (web to feed), just by analyzing just the HTML structure. Try the live rss-proxy, keep in mind its still a beta. The prototypical version 1 is also available, but the algorithm had some known issues. The server is completely stateless - it does not store anything - everything is part of the url.

It is a UI for richRSS middleware with the no-database profile.

Playground

Quickstart Version 1 using docker

Since v2 is still beta, this is the quickstart for version 1. If you have docker or podman installed, Start rss-proxy like this.

docker pull damoeb/rss-proxy
docker run -p 3000:3000 -it damoeb/rss-proxy

Then open localhost:3000 in the browser.

Quickstart Version 2 using docker-compose (Experimental)

Version 2 comes with more complexity so its easier to run it from docker-compose. If you run the proxy behind a reverse proxy, make sure you set the request header "X-Real-IP" (see nginx.con) for IP throttling.

In docker-compose.yml change APP_PUBLIC_URL accordingly which is the outfacing public url.

wget https://raw.githubusercontent.com/damoeb/rss-proxy/master/chrome.json
wget https://raw.githubusercontent.com/damoeb/rss-proxy/master/docker-compose.yml
docker-compose up

Then open localhost:8080 in the browser.

Features

  • Web to Feed
  • Dynamic Rendering using headless chromium
  • Content Recovery using JSON-LD, OpenGraph
  • Fulltext extraction
  • Filters
  • Maintenance Alerts if your feed has problems
  • Privacy: Nothing is persisted by the server
  • Feed Format Conversion Any -> ATOM/JSON

Other Features

  • Request Throttling and Host Flooding Protection
  • Caching
  • Monitoring

Migration from version 1

Version 2 supports the old version 1 urls, though this is optional. You can deactivate this feature by removing the 'legacy' profile in docker-compose.yml.

Changelog

See changelog.

Related Projects

License

This project uses the following license: GNU GPLv3.

About

RSS-proxy allows you to do create an RSS or ATOM feed of almost any website, just by analyzing just the static HTML structure.

https://rssproxy.migor.org


Languages

Language:TypeScript 65.3%Language:HTML 27.9%Language:SCSS 3.0%Language:Kotlin 1.8%Language:JavaScript 1.7%Language:Dockerfile 0.1%Language:Makefile 0.1%