摘要
在互联网上,我们获取知识的方式越来越依赖于算法推荐,而 RSS 则是一种可以让我们主动选择和获取知识的方式。当前,我主要的阅读方式是关注高质量公众号并利用碎片化时间阅读,通过 RSS 订阅个人感兴趣的高质量博客作为知识获取补充,对比较感兴趣的内容则会搜集相关文档或电子书籍系统化的学习了解。
1. RSS 简介
RSS 作为从曾经流行到逐渐没落的阅读工具,现在介绍它可能看上去有些过时,但我觉得 RSS 仍是一种高效的知识获取方式。
当下我们主流的在线知识获取渠道基本是微信公众号、知乎、小红书、抖音、微博等充斥着算法推荐的社交媒体平台。在被 AI 算法支配的情况下,我们看到的内容充满了不确定性:AI 算法仅推荐用户感兴趣的内容,这让用户获取信息更加高效,但也局限了用户对信息的选择,剥夺了用户接触多样观点和观念的机会,从而很容易让用户陷入思维单一和信息封闭的“信息茧房”。AI 算法无时无刻都在潜移默化的影响着我们,甚至左右了我们的思想。此外,这些平台上的许多数内容都因渴望流量迎合热点而质量层次不齐:内容深度不再是主要的,快速出击迎合用户喜好才是王道。AI 推荐着相似而重复的低质量内容,也会让我们产生互联网和世界不过如此的错觉。
互联网上其实有许多优质媒体和个人独立博客,基于个人学习习惯和爱好在互联网上持续书写并分享发布高质量内容,但我们很难分散精力去主动逐个的获取它们。在这样的背景下,RSS 订阅阅读则是一种较为有效的知识获取补充渠道,并可摆脱算法制造的陷阱,自行控制阅读的内容。
RSS(Really Simple Syndication)是一种基于 XML 的内容订阅和聚合协议,它允许用户在互联网上订阅和接收网站更新的内容。使用 RSS 阅读的三个基本步骤:
- 找到适合自己的 RSS 阅读器
- 找到想要订阅的 RSS 订阅源,并在 RSS 阅读器中添加该订阅源
- 利用碎片时间在 RSS 阅读器阅读订阅的最新内容
2. RSS 阅读器
RSS 阅读器是一种用于阅读 RSS 订阅源的工具,它可以将 RSS 订阅源中的内容聚合在一起,方便用户阅读。
在移动设备、PC 端都有许多优秀的 RSS 阅读器。当然也有一些在线网站提供 RSS 阅读器服务,通过使用它们可以随时随地阅读,并可以很好的解决多设备阅读信息无法不同步的问题,只是当前国内基本没有好用的在线平台了,曾经热门的 RSS 在线网站基本都已关闭。如果有条件可以基于 FreshRSS
等这样的开源工具搭建自己的 RSS 聚合阅读服务。
本人当前在手机(iOS)上使用 NetNewsWire 阅读器,在 PC 上则主要使用基于 NAS 搭建的 FreshRSS。
下面是 FreshRSS
推荐的流行 RSS 阅读器工具参考:
- https://github.com/FreshRSS/FreshRSS#apis–native-apps
APIs & native apps
FreshRSS supports access from mobile / native apps for Linux, Android, iOS, Windows and macOS, via two distinct APIs:
Google Reader API (best), and Fever API (limited features, less efficient, less safe).
App | Platform | Free Software | Maintained & Developed | API | Works offline | Fast sync | Fetch more in individual views | Fetch read articles | Favourites | Labels | Podcasts | Manage feeds |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Readrops | Android | ✔️ | ✔️✔️ | GReader | ✔️ | ⭐⭐⭐ | ➖ | ✔️ | ✔️ | ➖ | ➖ | ✔️ |
Capy Reader | Android | ✔️ | ✔️✔️ | GReader | ✔️ | ⭐⭐ | ➖ | ➖ | ✔️ | ➖ | ➖ | ✔️ |
FeedMe | Android | ➖ | ✔️✔️ | GReader | ✔️ | ⭐⭐ | ➖ | ➖ | ✔️ | ✓ | ✔️ | ✔️ |
FocusReader | Android | ➖ | ✔️✔️ | GReader | ✔️ | ⭐⭐ | ➖ | ➖ | ✔️ | ✓ | ✓ | ✔️ |
Fluent Reader Lite | Android, iOS | ✔️ | ✔️ | GReader | ✔️ | ⭐⭐ | ➖ | ➖ | ✓ | ➖ | ➖ | ➖ |
Read You | Android | ✔️ | Work in progress | GReader | ➖ | ⭐ | ➖ | ✔️ | ✔️ | ➖ | ➖ | ✔️ |
App | Platform | Free Software | Maintained & Developed | API | Works offline | Fast sync | Fetch more in individual views | Fetch read articles | Favourites | Labels | Podcasts | Manage feeds |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Fluent Reader | Windows, Linux, macOS | ✔️ | ✔️✔️ | GReader | ✔️ | ⭐ | ➖ | ✔️ | ✓ | ➖ | ➖ | ➖ |
RSS Guard | Windows, GNU/Linux, macOS, OS/2 | ✔️ | ✔️✔️ | GReader | ✔️ | ⭐⭐ | ➖ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
NewsFlash | GNU/Linux | ✔️ | ✔️✔️ | GReader | ➖ | ⭐⭐ | ➖ | ✔️ | ✔️ | ✔️ | ➖ | ➖ |
Newsboat | GNU/Linux, macOS, FreeBSD | ✔️ | ✔️✔️ | GReader | ➖ | ⭐ | ➖ | ✔️ | ✔️ | ➖ | ✔️ | ➖ |
App | Platform | Free Software | Maintained & Developed | API | Works offline | Fast sync | Fetch more in individual views | Fetch read articles | Favourites | Labels | Podcasts | Manage feeds |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Vienna RSS | macOS | ✔️ | ✔️✔️ | GReader | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ |
Readkit | iOS, macOS | ➖ | ✔️✔️ | GReader | ✔️ | ⭐⭐⭐ | ➖ | ✔️ | ✔️ | ➖ | ✓ | 💲 |
Reeder Classic | iOS, macOS | ➖ | ✔️✔️ | GReader | ✔️ | ⭐⭐⭐ | ➖ | ✔️ | ✔️ | ➖ | ➖ | ✔️ |
lire | iOS, macOS | ➖ | ✔️✔️ | GReader | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ |
Unread | iOS | ➖ | ✔️✔️ | Fever | ✔️ | ❔ | ❔ | ❔ | ✔️ | ➖ | ➖ | ➖ |
Fiery Feeds | iOS | ➖ | ✔️✔️ | Fever | ❔ | ❔ | ❔ | ❔ | ❔ | ➖ | ➖ | ➖ |
Netnewswire | iOS, macOS | ✔️ | Work in progress | GReader | ✔️ | ❔ | ❔ | ❔ | ✔️ | ➖ | ❔ | ✔️ |
3. RSS 订阅源
RSS 订阅源是指网站提供的用于订阅网站更新的内容链接。RSS 订阅源格式一般为:https://example.com/rss.xml
。许多博客和媒体都支持这种订阅方式,用户可以通过 RSS 阅读器订阅这些订阅源,从而获取最新的内容更新。
以流行的 WordPress 类博客为例,其 RSS 订阅源格式为:https://example.com/feed/
。以本人博客为例,RSS 订阅地址为:https://lzw.me/feed/
,也支持按分类订阅,例如:https://lzw.me/cate/cs/feed/
。在互联网遇到自己喜欢的博客,可以用这种方式测试其是否支持 RSS 订阅。
也有许多网站都不支持 RSS 订阅,例如微信公众号平台、微博等,我们可以借助一些工具将希望订阅的这类网站内容转换为 RSS 订阅源。例如:
- RSSHub 是一个开源的 RSS 生成器,可以将各种网站的内容转换为 RSS 订阅源,它通过规则库实现对第三方网站进行 RSS 转化并提供订阅源地址,官方已经实现支持了对微博、知乎、豆瓣、bilibili、Youtube 等主流网站进行 RSS 转化。你可以在 RSSHub 的文档中找到已支持的网站列表,并按照说明添加你需要的网站。也可以基于其源码自行搭建 RSSHub 服务,使用其提供的 RSS 工具实现自定义的 RSS 订阅源转换规格。
- wewe-rss 是一个开源的微信公众号 RSS 订阅源转换工具,可以将微信公众号文章转换为 RSS 订阅源。需使用服务器自行搭建服务。
- FreshRSS 是一个自托管的 RSS 和 Atom 聚合器。它可以用作为基于 Web 的 RSS 阅读器工具,并且支持基于 xpath 方式抓取网页内容,从而将不支持 RSS 订阅的网站内容转换为 RSS 订阅源。
下面分别介绍这几个 RSS 工具服务的使用及部署参考。
3.1 自建 wewe-rss 服务实现 RSS 订阅微信公众号文章的方法
自建 wewe-rss 服务,可以实现微信公众号文章的 RSS 订阅源转换。
基于 docker-compose
部署 wewe-rss 版本服务参考:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | version: '3.9' services: app: image: cooderl/wewe-rss-sqlite : latest container_name: wewe-rss ports: - 4000 : 4000 restart: unless-stopped environment: - DATABASE_TYPE=sqlite - AUTH_CODE=12345678 # 修改为你的授权码,用于登录管理配置 - FEED_MODE=fulltext - CRON_EXPRESSION=35 8 , 17 * * * - TZ= 'Asia/Shanghai' volumes: - ./data : /app/data |
添加订阅公众号的方法:
- 打开浏览器输入网址:
http://localhost:4000
- 点击页面中的
WeWe-RSS
- 输入
AUTH_CODE
授权码登入 - 选择上方的「帐号管理」,用微信扫描二维码登录微信读书(调用微信读书 API 以订阅公众号)
- 在微信希望订阅的公众号任意文章页,点击右上角的「三个点」,选择
复制链接
- 回到 WeWe-RSS 选择上方的
公众号源
,在对话框中粘贴链接,即可抓取该公众号内容
接着可以使用 RSS 阅读器配置订阅源就可以了。全部内容订阅的格式为: http://localhost:4000/feeds/all.atom
,单个公众号的订阅可点击页面中的 RSS
元素查看。
你可以使用内网穿透工具将本地服务暴露到公网,从而实现公网访问。
需要注意的是,wewe-rss 获取公众号文章列表是基于微信读书 API,有抓取频率限制,高频刷新会被封禁,一般封禁后 24 小时左右会自动解禁。
基于此种方式,也可以实现对微信公众号文章的自动抓取。
3.2 自建 RSS 托管服务 FreshRSS 的方法
FreshRSS 是一个自托管的 RSS 和 Atom 聚合器。
3.2.1 FreshRSS 服务部署参考
自建 FreshRSS 服务可以实现如下两个目的:
- 实现基于
xpath
方式抓取网页内容,从而将不支持 RSS 订阅的网站内容转换为 RSS 订阅源。 - 私有化个人阅读数据并统一管理,实现多设备 RSS 订阅内容同步:
- 使用 Web 形式直接阅读(适用于 PC 端)
- 基于 API 配置到第三方软件阅读:FreshRSS 支持兼容 Google Reader API 和 Rever API 的 API 形式配置到第三方应用当中使用。
使用 docker-compose
部署 FreshRSS 参考:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | volumes: data: extensions: services: freshrss: image: freshrss/freshrss : latest container_name: freshrss hostname: freshrss restart: unless-stopped logging: options: max-size: 10m volumes: - data : /var/www/FreshRSS/data - extensions : /var/www/FreshRSS/extensions ports: - 8010 : 80 environment: TZ=Asia/Shanghai CRON_MIN: '3,33' TRUSTED_PROXY: 172.16.0.1/12 192.168.0.1/16 |
部署成功后访问 http://localhost:8010
即可使用。可配置内网穿透以便在互联网可访问。
3.2.2 FreshRSS 启用 API 订阅并配置第三方 App 接入
启用 API:
- 登录 FreshRSS 的网页端。
- 在右上角点一下齿轮图标,进入管理菜单。
- 找到“认证”选项,勾选“允许 API 访问”。
- 左边菜单里找到“账户”并点击。
- 在下方的“API 管理”中,设置一个专用的 API 密码(这个密码和登录密码是分开的)。
- 提交后,你会看到一个 API 地址(比如
https://freshrss.example.net/api/greader.php
或https://freshrss.example.net/api/fever.php
)。
客户端配置:
以免费的 iOS RSS 阅读器 Netnewswire 为例:
- 打开 Netnewswire,找到设置中的
Add Account
。 - 选择服务类型为
FreshRSS
。(某些阅读器中可能是 Google Reader 或 Fever)。 - 根据提示,填入你的 API 地址,如
https://freshrss.example.net/api/greader.php
。 - 输入你的 FreshRSS 用户名和刚刚设置的 API 密码。(此处是 API 密码,而不是 FreshRSS 中的用户登录密码)
- 保存后同步订阅内容。
如此配置之后的好处是,你可以在 Netnewswire 中阅读 FreshRSS
中订阅的内容,并可对订阅源进行编辑调整,这些操作都会同步到 FreshRSS
中,从而实现多端同步的效果。
相关参考:
- 迄今感觉最好用的 RSS 阅读器——FreshRSS 安装使用教程+RSS 订阅源
- 🦛 FreshRSS:一款跑在 NAS 上的新鲜 RSS 服务器,搭配 APP 使用体验更佳!
- 配置完 FreshRSS 后,第三方手机和桌面客户端如何接入?
3.3 使用 RSSHub 发现并订阅第三方网站
RSSHub 是一个轻量、易于扩展的 RSS 生成器服务,可以给任何不支持 RSS 的网站生成 RSS 订阅源。其官方已支持六千多个网站订阅规则,基本覆盖当前主流流行新闻媒体网站。可以查阅其官方文档https://docs.rsshub.app/ 寻找你需要的网站并根据文档说明予以订阅。
以下是使用 RSSHub 订阅的示例:
- 知乎热榜:https://rsshub.app/zhihu/hotlist
- 微博热搜榜:https://rsshub.app/weibo/search/hot
- 微博个人主页:https://rsshub.app/weibo/user/[userid]
- B 站直播:https://rsshub.app/bilibili/live/area/:areaID/:order
- 36Kr 热榜:https://rsshub.app/36kr/hot-list
其中的 https://rsshub.app
是官方提供的在线 RSSHub 服务,国内已无法访问。如有条件可搭建自己的 RSSHub 服务,也可使用第三方部署的 RSSHub 服务实例,替换 rsshub.app
为自行搭建或第三方提供的 RSSHub 服务实例即可。当前国内可访问的一些第三方实例:
HK
https://rsshub.email-once.comHK
https://rsshub.umzzz.comHK
https://rsshub.thzu.xyzAE
https://rsshub.rssforever.comUS
https://hub.slarker.meUS
https://rsshub.rss.tipsUS
https://rsshub.ktachibana.partyDE
https://rss.owo.nzDE
https://rsshub.woodland.cafe
使用 docker-compose
自行部署 RSSHub 参考:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | services: rsshub: # two ways to enable puppeteer: # * comment out marked lines, then use this image instead: diygod/rsshub:chromium-bundled # * (consumes more disk space and memory) leave everything unchanged image: diygod/rsshub restart: always ports: - '1200:1200' environment: NODE_ENV: production CACHE_TYPE: redis REDIS_URL: 'redis://redis:6379/' PUPPETEER_WS_ENDPOINT: 'ws://browserless:3000' # marked healthcheck: interval: 30s timeout: 10s retries: 3 depends_on: - redis - browserless # marked browserless: # marked image: browserless/chrome # marked restart: always # marked ulimits: # marked core: # marked hard: 0 # marked soft: 0 # marked healthcheck: interval: 30s timeout: 10s retries: 3 redis: image: redis : alpine restart: always volumes: - redis-data : /data healthcheck: test: [ 'CMD' , 'redis-cli' , 'ping' ] interval: 30s timeout: 10s retries: 5 start_period: 5s volumes: redis-data: |
使用 RSSHub Radar 插件:
另外,在 PC 电脑上推荐在安装浏览器插件 RSSHub Radar。RSSHub Radar 是一个浏览器扩展,用于在访问 RSSHub 支持的网站时,自动检测并显示支持的 RSS 订阅源信息。安装并启用后,在访问 RSSHub 支持的网站时,会自动检测并显示支持的 RSS 订阅源信息,以便可快速获取可使用的 RSS 订阅源,并且可以配置并开启 FreshRSS 选项以一键订阅至自建的 FreshRSS 服务中。
相关参考:
- RSSHub 使用指南
- RSSHub 公共实例
- https://github.com/DIYgod/RSSHub-Radar
4 扩展参考
- https://github.com/RSS-Bridge/rss-bridge
- ALL-about-RSS A list of RSS related stuff: tools, services, communities and tutorials, etc.
- 分享一下自己的 RSS 使用思路