selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

rss-funnel logo

Self-host rss-funnel

0.1.4

Modular RSS processing pipeline with filters

BetaOpen SourceGPL-3.0
Updated8 months ago
LanguageRust
Setup difficultyModerate
Stars
157
Port
4080 (HTTP server for feed endpoints and web inspector UI)
Docker
ghcr.io/shouya/rss-funnel
Install with Docker Compose

What is rss-funnel?

This Rust-based utility fetches RSS and Atom feeds and passes them through a configurable chain of filters. Each filter transforms the feed in some way — retrieving full article text, creating feeds from web pages, stripping or preserving HTML elements, selecting or rejecting items by keyword, emphasizing terms, breaking combined digests into separate entries, consolidating multiple sources, switching between feed formats, executing custom JavaScript logic, and routing images through a proxy. Setup uses a YAML file that lists endpoints and their filter sequences. A built-in web interface lets you examine the output at each stage. The program ships as a single static binary with no external services required, distributed as a container image (ghcr.io/shouya/rss-funnel), standalone downloads, or compiled from source via Cargo. The inspector UI can be protected with a simple username and password. Development is early-stage, so breaking changes are frequent.

Should you self-host rss-funnel?

rss-funnel scores 42/100 on selfhost.directory (how scoring works) and ranks #58 of 85 in Feed Reader. It has 157 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is GPL-3.0-licensed and written mostly in Rust.

Its closest alternative on selfhost.directory is RSSHub (85/100, 46 704 stars). It scores higher overall, so compare the two before you pick. See rss-funnel vs RSSHub side by side.

Features

  • Element removal and retention
  • Feed format conversion
  • Feed Merging
  • Feed splitting
  • Full-text content fetching
  • HTML to RSS feed generation
  • Image proxy
  • JavaScript transformations
  • Keyword Filtering
  • Keyword highlighting
  • Magnet link detection
  • On-the-fly filters
  • Post limit by count or age
  • Text sanitization
  • Web inspector UI

rss-funnel README

How to install rss-funnel

Install rss-funnel with Docker Compose

Environment variables
RSS_FUNNEL_CONFIG, RSS_FUNNEL_BIND

version: "3.8" services: rss-funnel: image: ghcr.io/shouya/rss-funnel:latest ports: - 4080:4080 volumes: - ./funnel.yaml:/funnel.yaml environment: RSS_FUNNEL_CONFIG: /funnel.yaml RSS_FUNNEL_BIND: 0.0.0.0:4080

Requires a funnel.yaml config file mounted at /funnel.yaml

How to configure rss-funnel

  • RSS_FUNNEL_BIND127.0.0.1:4080Bind address and port for the HTTP server

    Bind address and port for the HTTP server

  • RSS_FUNNEL_CONFIGPath to the YAML configuration file

    Path to the YAML configuration file

  • RSS_FUNNEL_IMAGE_PROXY_SIGN_KEYPersistent signing key for the built-in image proxy to keep proxy URLs valid across restarts

    Persistent signing key for the built-in image proxy to keep proxy URLs valid across restarts

  • RSS_FUNNEL_WATCHfalseEnable config file watching for automatic reload

    Enable config file watching for automatic reload

    values: true, false

rss-funnel releases & version history

FAQ

-w option and RSS_FUNNEL_WATCH="true" do not seem to work

Some editors like vim save files in a way that breaks file watching. Add '# vim: backupcopy=yes' as a modeline in your funnel.yaml to fix this.

Full-text doesn't work for my RSS reader

Some RSS readers prefer the content field over description. Use a JavaScript filter to clear or copy the description field to content.

How to inspect the RSS feed without subscribing it in a RSS reader?

Use the Inspector UI by visiting http://127.0.0.1/ (or your server address) which redirects to the web UI for inspecting feeds and filter results.

More in RSS

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…