Merge multiple feeds (RSS/Atom/JSON) into a single RSS feed.
Go to file
Andros Fenollosa 1d8d444d2c
Merge pull request #42 from shymega/feature/filter-items
Add functionality for filtering feeds.
2024-05-04 22:15:26 +02:00
.github Merge pull request #3 from shymega/shymega/prs/ci 2023-12-29 11:54:45 +01:00
.dockerignore Add Docker support for RSSingle, and a workflow for builds 2022-09-12 22:09:57 +01:00
.gitignore Update readme 2022-06-19 18:32:50 +02:00
config.yml config.yml: Template for filter_strings added 2024-04-10 22:42:45 +01:00
Dockerfile Add Docker support for RSSingle, and a workflow for builds 2022-09-12 22:09:57 +01:00
LICENSE [init](codebase): Initial commit 2020-08-18 00:24:10 +01:00
README.md Merge branch 'master' into add-limit-entries 2023-10-26 14:53:27 +02:00
requirements.txt Bump pyinstaller from 6.5.0 to 6.6.0 in the python-deps group (#43) 2024-04-15 15:31:00 +01:00
rssingle.png Add files via upload 2022-06-25 13:00:47 +02:00
rssingle.py rssingle.py: Filter items with filter_strings from config.yml 2024-04-10 22:42:30 +01:00

RSSingle

Generates an RSS file from the list of other feeds (RSS/Atom/JSON). Very handy when you want to centralise the list of your feeds in one place and all your devices feed from the same place.

RRSingle

Run

  1. Download the binary.

Linux

wget https://github.com/tanrax/RSSingle/releases/download/v1.0.0/rssingle

Windows

wget https://github.com/tanrax/RSSingle/releases/download/v1.0.0/rssingle.exe
  1. Gives execution permissions.
chmod +x rssingle
  1. In the same directory as the binary, you can create a local config.yml file in this format:
title: My RSS Feed
description: My customised RSS feed with technology news
url: https://www.example.com
output: rss.xml
max_entries: 5 # Delete this line to get all
feeds:
  - https://programadorwebvalencia.com/feed/
  - https://republicaweb.es/feed/

If not, you can download the example in the repository.

curl -o config.yml https://raw.githubusercontent.com/tanrax/RSSingle/master/config.yml
  1. Run the binary.
./rssingle

A file called rss.xml will be created.

Development

Activate Debug messages by console.

export SR_LOG_LEVEl=DEBUG

Compiling

pyinstaller --onefile rssingle.py

Old versions

docker run --rm --volume $PWD:/app python:3.8-buster /bin/bash -c "cd /app; pip3 install -r requirements.txt; pyinstaller --onefile rssingle.py"

You will find the binary in dist.

Thanks

@shymega for his original project singlerss.