Skip to content

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

Notifications You must be signed in to change notification settings

swishkin/rss-proxy

 
 

Repository files navigation

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 65.4%
  • HTML 27.9%
  • SCSS 3.0%
  • Kotlin 1.8%
  • JavaScript 1.7%
  • Dockerfile 0.1%
  • Makefile 0.1%