POST

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 的意义不只是技术,是一种态度:信息该由你来挑选,而不是由算法推送给你。

自己搭一个源表,每天花十分钟看完,比无限下滑强。

有问题留言。

👁 - 次浏览

留言

← 返回首页