ChatGPT帮我彻底搞懂RSSHub:一篇你不想错过的RSS指南

Digital Nomad
12 min readAug 27, 2023

--

最近想部署自己的信息枢纽。就是把分散在各个角落的信源整合到一个网站,便于快速获取信息,便捷管理自己的日常信息和阅读。

首先想到的是Huginn。趁这个周末有点间,学习、研究和部署Hugin系统。

部署不复杂,但是就是无法通过互联网访问。服务端测试正常,公网ip和域名访问,总是错误,我是在oracle.com的免费VPS上部署,花了差不多一天时间,无数次讨教gpt4和claude2两位老师,总算搞明白是服务器上的oneavd 服务错误。但是怎么修复,两位ai老师使出浑身解数,也无法帮助一位linux菜鸟解决这个问题。

我一怒之下,终止了VPS上的这个实例。然后,没料到oracle现在收紧了免费vps供应,无论我怎么尝试,始终提示没有资源创建新的实例。

罢啦,只能暂时放弃Hugin计划。

正当我失望之际,我看到推特上有人在聊RSSHub。快速浏览了一下RSSHub介绍,这正是我想要的功能呀。让我非常感慨,互联网上真的到处是宝藏。但是,这么强大的一款RSS工具,我竟然直到今天才听说。也真的是孤陋寡闻了。

然而,RSSHUB的介绍文档语焉不详,过于工程师风格,默认用户都是深谙RSS技术的极客。即便是我这样对RSS阅读场景非常熟悉的用户,面对RSSHUB这款工具,也只理解个大概,它到底是怎么运行,用户要怎么使用,理解起来也是一头雾水。

不过,在AI时代,我们再不应该惧怕的就是,如何使用一项新技术。我问了Chatgpt老师一系列问题,总算把RSSHUB的种种疑问都搞清楚了。

不过这些知识大部分来自AI,我还没有在真实环境测试检验,大概率是有一些幻觉的。

如果你也觉得每天打开十几二十个网站或APP查看信息是一件痛苦的事,那么RSSHub可能是也你的救星。

目录

1、RSSHub是什么?

2、RSSHub Radar:你的RSS侦探

3、自己动手,丰衣足食:部署RSSHub

4、新手常见问题解答

5、RSSHub 有哪些使用场景?

6 总结

1. RSSHub是什么?

RSSHub是一个开源、可扩展的RSS Feed生成器,简单来说,它能把各种各样的网站内容转换成RSS格式,让你用一个RSS阅读器就能看到所有的更新。

RSSHub的Slong是万物皆可RSS,透着霸气。不过看了下RSSHub提供网站资源和活跃的社区共创机制,这个slong倒也不算夸张。

为什么需要RSSHub?

想象一下,你每天需要查看的信息有:新闻、股市、天气预报、博客更新、甚至是你喜欢的漫画更新。打开这么多网站,不觉得累吗?RSSHub就是为了解决这个问题而生的。

2. RSSHub Radar:你的RSS侦探

RSSHub Radar是配合RSSHub使用的一个浏览器扩展,它能自动识别你正在访问的网站是否有可以在RSSHub上生成RSS Feed,并一键订阅。

如何使用?

1. 安装扩展:在浏览器商店搜索RSSHub Radar并安装。
2. 浏览网站:打开你感兴趣的网站。
3. 一键订阅:点击RSSHub Radar图标,选择你想订阅的内容。

3. 自己动手,丰衣足食:部署RSSHub

如果你是个小控制狂,喜欢把一切都掌握在自己手里,那么自己部署一个RSSHub是个不错的选择。

部署步骤:

1. 准备服务器:首先,你需要一个服务器。没有服务器?用NAS,或者你的电脑也行!
2. 安装依赖:Node.js、npm等。
3. 下载代码:从GitHub上克隆RSSHub的代码。
4. 运行服务:在服务器上运行RSSHub。
5. 群晖NAS的话,在套件中心添加“我不是狂神”的资源 https://spk7.imnks.com/ 在套件市场上直接安装RSSHub便可运行,非常方面。

然后呢?RSSHub安装后,打开来只是一个简简单单的告示。安装了怎么用呢?

我的疑问就是从这里开始。我想,大部分小白用户,第一次接触RSSHub,应该和我一样困惑吧?

4. 新手常见问题解答

如何理解RSSHub路由?

在RSSHub中,路由是一个用于获取特定信息源的URL路径。例如,如果你想获取BBC中文网的最新新闻,RSSHub的路由可能是 `/bbc/chinese`。

如何添加路由?

步骤一:查找需要的路由

1. 访问RSSHub文档:打开RSSHub的官方文档,通常位于 `https://docs.rsshub.app/`
2. 搜索信息源:使用文档的搜索功能,找到你感兴趣的信息源。例如,你想订阅GitHub的某个仓库的更新,你可以在文档中找到相应的路由。

步骤二:测试路由

1. 构建完整URL:将找到的路由添加到你的RSSHub实例的URL后面。例如,如果你的RSSHub实例在 `http://[NAS的IP地址]:1200`,而你找到的GitHub仓库路由是 `/github/repos/:user/:repo`,则完整的URL可能是 `http://[NAS的IP地址]:1200/github/repos/[用户名]/[仓库名]`。
2. 测试:在浏览器中打开这个完整的URL,看看是否能获取到信息。

步骤三:添加到RSS阅读器

1. 打开RSS阅读器:例如Feedly或其他你喜欢的RSS阅读器。
2. 添加新源:找到“添加新源”或“订阅”选项。
3. 输入完整URL:在弹出的窗口或输入框中,粘贴你刚刚测试成功的完整URL。
4. 确认添加:按下“添加”或“确认”按钮。

能否自动发现和添加RSSHub路由?

RSSHub本身没有内置的自动发现和添加路由的功能,但你可以通过一些外部工具和脚本来实现这一目标。

方法一:使用RSS自动发现浏览器插件

1. 安装插件:在浏览器中安装一个支持RSS自动发现的插件,如“Awesome RSS”。
2. 浏览网站:当你浏览一个网站时,该插件会自动检测是否有可用的RSS源。
3. 添加到RSSHub:如果检测到RSS源,你可以手动将其添加到RSSHub中。

方法儿:使用IFTTT或类似服务

1. 创建IFTTT Applet:使用IFTTT(If This Then That)创建一个Applet,该Applet会监听你感兴趣的信息源。
2.设置触发器:例如,当某个博客发布新文章时。
3. 设置操作:将新的信息源自动添加到RSSHub。

方法三:RSSHub Radar

1. 安装RSSHub Radar插件:这是一个专门为RSSHub设计的浏览器插件,能自动发现网站的RSS源。
2. 自动添加:当你浏览一个网站时,RSSHub Radar会自动检测该网站是否有可用的RSS源,并提供一键添加到RSSHub的选项。

如何为尚未在RSSHub上有路由的网站添加新路由?

方法一:自行开发RSSHub路由

1. 了解RSSHub路由开发:阅读RSSHub的开发文档,了解如何创建一个新的路由。
2. 环境准备:确保你的开发环境中有Node.js和Git。
3. 克隆RSSHub仓库:`git clone https://github.com/DIYgod/RSSHub.git`
4. 编写代码:按照RSSHub的开发指南,编写新的路由代码。
5.测试:在本地运行RSSHub,测试新添加的路由。
6. 提交Pull Request:如果一切正常,你可以将你的代码提交到RSSHub的GitHub仓库。

方法二:请求RSSHub社区添加

1.创建Issu:在RSSHub的GitHub仓库中创建一个新的Issue。
2. 描述需求:详细描述你希望添加的路由,包括网站名称、网站URL和你希望获取的信息。
3. 等待响应:等待社区成员或者维护者响应。他们可能会添加这个新的路由,或者给出其他建议。

如何快速判断一个网站是否有RSSHub路由?

方法一:使用RSSHub Radar

1.安装RSSHub Radar插件:这是一个专门为RSSHub设计的浏览器插件。
2. 浏览目标网站:打开你想要判断的网站。
3. 查看插件图标:如果该网站有RSSHub路由,RSSHub Radar的图标会变成彩色,并显示可用的RSS源。

方法二:搜索RSSHub文档

1. 访问RSSHub文档:打开[RSSHub文档](https://docs.rsshub.app/)。
2. 使用搜索功能:在文档的搜索框中输入网站的名称或关键词。
3. 查看结果:如果有相关的路由,它们会在搜索结果中显示。

方法三:使用RSSHub的GitHub仓库

1. 访问GitHub仓库:打开[RSSHub的GitHub仓库](https://github.com/DIYgod/RSSHub)。
2. 使用GitHub搜索:在仓库内使用GitHub的搜索功能,输入网站名称或关键词。
3. 查看代码:如果有相关的路由,你会在代码或文件名中看到。

方法四:直接尝试

1. 构造RSSHub URL:按照RSSHub的URL规则,尝试构造一个可能的URL。
2. 访问URL:在浏览器中访问这个URL。
3. 查看结果:如果页面返回有效的RSS Feed,则说明该网站有RSSHub路由。

如何修改RSSHub配置与添加新路由?

修改RSSHub配置:

1. SSH连接:使用SSH工具连接到你部署RSSHub的服务器。
2. 定位配置文件:通常,RSSHub的配置文件位于`/etc/rsshub/app-config.yml`或你自定义的路径。
3. 编辑配置文件:使用文本编辑器(如`nano`或`vim`)打开配置文件。

`nano /etc/rsshub/app-config.yml`

4.修改配置:根据需要修改配置项,例如端口、缓存时间等。
5.保存并退出:保存修改后的配置文件并退出编辑器。

添加新路由:

1. 克隆代码:如果你还没有RSSHub的代码,首先克隆它。

`git clone https://github.com/DIYgod/RSSHub.git`

2. 进入目录:进入RSSHub的代码目录。

`cd RSSHub`

3. 创建新路由文件:在`lib/routes/`目录下创建一个新的`.js`文件,例如`my_route.js`。
4. 编写路由代码:在新创建的`.js`文件中编写路由的实现代码。
5. 注册路由:在`lib/index.js`中注册你的新路由。

`require(‘./routes/my_route’);`

6. 测试路由:在本地运行RSSHub并测试新路由是否工作正常。

`npm run dev`

7. 部署更新:如果一切正常,使用`git pull`或其他方式将新路由部署到你的服务器。

重启RSSHub:

1. 重启服务:为了使新的配置和路由生效,你需要重启RSSHub服务。

`pm2 restart rsshub`

或者
`systemctl restart rsshub`

RSSHub Radar为什么没有提示显示自己部署的RSSHUB地址?

原因:

1. 本地部署识别:如果某个网站在你自己部署的RSSHub服务上有对应的路由,RSSHub Radar会显示两个地址。
2. 公共路由:对于只在公共RSSHub服务上有路由的网站,通常只会显示以`https://docs.rsshub.app/`开头的地址。
3. 配置问题:如果RSSHub Radar没有正确配置你的本地RSSHub服务,可能只会显示公共地址。

RSSHub Radar访问密钥怎么设置,有什么用途?

用途:

1.身份验证:访问密钥用于验证用户身份,确保只有拥有密钥的用户能访问特定的RSSHub服务。
2. 访问控制:通过密钥,RSSHub服务可以限制对某些资源的访问,提高安全性。
3. 流量管理:密钥还可以用于流量控制,防止恶意访问和滥用资源。

设置方法:

1. RSSHub服务端配置:

— 如果你自己部署了RSSHub,你可以在RSSHub的配置文件中设置访问密钥。
— 在`.env`配置文件中,找到`RSSHUB_ACCESS_KEY`这一项,设置你的访问密钥。

`RSSHUB_ACCESS_KEY=your_access_key_here`

— 保存配置文件并重启RSSHub服务。
2. 公共RSSHub服务:

— 公共RSSHub服务通常不提供访问密钥,或者需要你注册账户后生成。
3. 第三方服务:

— 如果你通过第三方服务使用RSSHub(如RSSHub提供商),通常会在你的账户设置或者API设置中提供访问密钥。

5.RSSHub 有哪些使用场景?

场景一:跟踪多个新闻网站的最新文章

问题:

你想每天查看几个不同的新闻网站,但打开每个网站太麻烦。

实现过程:

1. 安装RSS阅读器:首先,你需要一个RSS阅读器,比如Feedly。
2. 找到RSSHub提供的新闻网站RSS源:访问RSSHub网站,找到你想跟踪的新闻网站的RSS源链接。
3.添加到RSS阅读器:复制这个链接,然后在Feedly里添加新的源。
4. 阅读更新:现在,每当这些网站有新文章,Feedly会自动更新。

场景二:跟踪YouTube频道

问题:

你想知道某个YouTube频道是否上传了新视频,但不想每次都打开YouTube检查。

实现过程:

1. 安装RSS阅读器:如果你还没有,安装一个RSS阅读器。
2. 找到RSSHub提供的YouTube频道RSS源:在RSSHub网站上找到YouTube部分,按照说明获取频道的RSS源链接。
3. 添加到RSS阅读器:在你的RSS阅读器中添加这个新链接。
4. 获取更新:每当该频道有新视频,你的RSS阅读器会自动通知你。

场景三:监控价格变动

问题:

你想购买某个产品,但希望在价格下降时购买。

实现过程:

1. 安装RSS阅读器:同上。
2.找到RSSHub提供的电商网站RSS源**:在RSSHub找到支持的电商网站。
3. 定制RSS源:按照RSSHub的说明,输入你想监控的产品信息,获取RSS源链接。
4. 添加到RSS阅读器并设置提醒:这一步非常重要,因为你需要实时知道价格变动。

6. 总结

RSSHub不仅能让你的信息获取更加高效,还能让你享受到“定制”的乐趣。如果你还没有尝试过RSSHub,那么现在就是最好的时机!

--

--

Digital Nomad

专注于AI和区块链对我们生活的影响。我通过博客和社交媒体分享我的见解和应用技巧,包括ChatGPT、AI绘画,AI视频制作等。关注我,一起探索AI的无限可能!