rsscombine:将多个RSS源合并为一个源


以下是在本地运行服务的方法。您可能需要brew install golang先。

git clone git@github.com:chase-seibert/rsscombine.git
cd rsscombine
go mod download
go run rsscombine.go

您可以创建以下格式的本地文件rsscombine.yml:

title: My Technical RSS Feed
link: http://wherethisfeedishosted.com/feed
description: This is a personal collection of technical RSS feeds.
author_name: John Doe
author_email: john@example.com
port: 8080
cache_timeout_seconds: 3600
feeds:
  - http:
//feeds.feedburner.com/TechCrunch
  - http:
//feeds.arstechnica.com/arstechnica/technology-lab
  - http:
//www.reddit.com/r/technology/.rss
  - http:
//rss.slashdot.org/slashdot/slashdotMainatom


格式说明:

title:    RSSCOMBINE_TITLE    新 RSS 提要的标题。
link:    RSSCOMBINE_LINK    链接到新的 RSS 源。可以是网页或源 URL。
description:   RSSCOMBINE_DESCRIPTION    您的新订阅源的描述,显示在 RSS 阅读器中。
author_name:    RSSCOMBINE_AUTHOR_NAME    您的全名,显示在 RSS 阅读器中。
author_email:    RSSCOMBINE_AUTHOR_EMAIL    您的电子邮件显示在 RSS 阅读器中。
client_timeout_seconds:    RSSCOMBINE_CLIENT_TIMEOUT_SECONDS    从服务器到各个 RSS 源的调用超时秒数。
feeds:        要合并的 feed 列表。无法通过环境变量指定。
feed_urls:    RSSCOMBINE_FEED_URLS    可选:用于解析 feed URL 的 URL。如果设置,则将覆盖 feed 设置。
feed_exclude_prefixes:    RSSCOMBINE_FEED_EXCLUDE_PREFIXES    可选:要从 feed_urls 解析中排除的 URL 前缀列表。
feed_limit_per_feed :   RSSCOMBINE_FEED_LIMIT_PER_FEED    可选:您想要从每个子 feed 中提取多少个项目。

订阅源 URL
您可以在网络上创建一个公开文件,RSS Combine 可以查询该文件并解析出 URL。这对于 GitHub README 文件特别有用。

注意:文件格式并不重要,RSS Combine 将提取它在文件中找到的任何 URL。

例子README.md:

This is a README with some URLs.

- TechCrunch http://feeds.feedburner.com/TechCrunch
- Ars Technica http:
//feeds.arstechnica.com/arstechnica/technology-lab
- Reddit http:
//www.reddit.com/r/technology/.rss

如果该文件托管在 https://raw.githubusercontent.com/chase-seibert/rsscombine/master/examples/basic.md,那么你可以通过定义 YAML 关键字 feeds_url 或环境变量 RSSCOMBINE_FEEDS_URL,并将该 URL 作为值,让 RSS Combine 加载该文件。

使用 Jsdelivr CDN 加速 Github:

https://raw.githubusercontent.com/{user}/{repo}/master/

-->

https:
//cdn.jsdelivr.net/gh/{user}/{repo}/


网友:
1、我一生中用过的所有 RSS 阅读器都支持从多个源读取。我看不出这样做有什么用

2、读者必须添加每个 RSS 源。如果我作为这些源的制作者想要发布一个组合源,这样他们就不必做额外的工作了,该怎么办?或者,如果我是 RSS 源的管理员,想要发布一个来自 100 个较小的低技术计算机新闻源的组合“低技术计算机新闻”源,该怎么办?

3、也许这可以用来提供聚合信息流作为服务。它可以进一步细化,根据用户提供或服务预定义的标准过滤内容。一个例子可能是带有精选来源的信息安全信息流,也可能是与漏洞相关的内容的可选细化。
这还可以允许用户开发/分叉聚合信息并与社区共享。

4、有一个 footgun 具有许多类似的工具。如果您将新源添加到现有的组合 feed,则该 feed 中的所有项目将立即显示为新项目。您通常希望源 feed 的新项目显示在组合 feed 中,而不是同时显示所有现有项目。

5、它可以与 RSS Proxy https://github.com/damoeb/rss-proxy配合使用,将任何网站转换为 RSS 提要。
回复

6、我最近必须解决完全相反的问题——从单一来源获取大量内容,并将其分成多个提要。

7、FreshRSS 就是这样做的。

8、我曾经需要过类似的东西,但我忘了为什么。现在我可能只会使用 val.town 来构建它,而不是启动我自己的 go 服务器