RSSHub:把没有 RSS 的网站,变成能订阅的源
微博、B站、知乎、公众号、GitHub、YouTube——大部分网站都没有 RSS,RSSHub 帮你造一个出来。
RSS 这个技术没死,死的是"网站愿意提供 RSS"。
现在大部分平台都想让你在它的 App 里刷,主动关掉了订阅入口。RSSHub 做的就是把入口重新造出来:你给它一个链接或 ID,它给你一个能订阅的 RSS 地址。
装
services:
rsshub:
image: diygod/rsshub:latest
container_name: rsshub
ports: ["1200:1200"]
environment:
- NODE_ENV=production
- CACHE_TYPE=memory
- TZ=Asia/Shanghai
restart: unless-stopped
打开 http://NAS地址:1200 是一个文档页,告诉你有哪些路由。
注意:很多路由需要"带上登录态"或者访问境外站点,国内 IP 直连时部分路由会失败,这是常态,不是配置错了。
路由怎么用
RSSHub 的地址规则是:
http://你的地址:1200/<平台>/<具体路由>
几个常用的:
| 想订阅 | 地址 |
|---|---|
| B站 UP 主视频 | /bilibili/user/video/123456(123456 是 UID) |
| B站 UP 主动态 | /bilibili/user/dynamic/123456 |
| 微博用户 | /weibo/user/1234567890 |
| 知乎专栏 | /zhihu/zhuanlan/xxx |
| GitHub 仓库 Release | /github/release/owner/repo |
| GitHub Trending | /github/trending/daily/any |
| YouTube 频道 | /youtube/user/@名字 |
| 小红书用户 | /xiaohongshu/user/用户ID |
完整的路由表在它的官方文档里(docs.rsshub.app),按平台分类,几千条。
配一个阅读器
光有源没用,要有个客户端。两个常用选择:
FreshRSS(自建,站里有另一篇) 网页端,能订阅几百个源,有手机 App 配合。
任何 RSS 客户端 Feedly、Inoreader、Reeder、NetNewsWire 都行。把 RSSHub 生成的地址粘进去即可。
常见问题:路由 404 或者空
原因一:路由变了 RSSHub 的路由随平台改版频繁变动。搜官方文档看最新写法,别照抄老博客。
原因二:需要配置 部分路由需要环境变量(比如 Twitter、Instagram 需要登录 cookie 或代理)。看文档里那条路由的说明。
原因三:被反爬 平台封了 RSSHub 的公共实例。自己在本地跑,IP 不同,成功的概率高一些。
原因四:国内网络 YouTube、Twitter 这些,你的 NAS 得能出去。
一个更省事的做法
如果你只是想要"几个固定站点的更新",用 RSSHub 官方的公共实例就行(rsshub.app),不用自己部署。
自己部署的价值在于:
- 不走公共实例,不会因为别人滥用被限流;
- 可以配自己的代理和 cookie;
- 数据不经过第三方。
会踩的坑
内存占用 Node 应用,几百兆。跑久了可能有内存泄漏,重启一下就好,或者定期重启。
缓存
设成 memory 时重启就清空。想持久缓存换 Redis,但要额外跑一个容器。
中文编码
部分源的标题是乱码。加 ?format=json 或者用阅读器自带的编码设置处理。
别拿它刷爆别人服务器 订阅频次设 30 分钟以上。设成 1 分钟,几十个源一起请求,那就是在攻击别人。
它适合谁
- 想用 RSS 统一管理信息来源的;
- 需要跨平台聚合(B站 + 微博 + 博客 + GitHub)的;
- 有能力自己维护一个小服务的。
不适合:只用一两个网站、直接开 App 就够的;不想折腾环境变量的。
最后
RSSHub 的意义不只是技术,是一种态度:信息该由你来挑选,而不是由算法推送给你。
自己搭一个源表,每天花十分钟看完,比无限下滑强。
有问题留言。
留言