前置知识:信息技术/互联网基础,docker 基础,自建站能力
整合思路:
- 基于 RSShub 自建订阅源,同时搜索第三方源
- 使用 RSS_GPT 进行 RSS 源转发增强,AI 总结
- 借助 WeWe RSS 对微信公众号文章进行 RSS 订阅
- 搭建 FreshRSS 对以上 RSS 源信息整合和再分发
- 选择合适的第三方 RSS 阅读器,并与 FreshRSS 打通
1 方案细节
注意:确保服务器有完整的 docker 环境
1.1 安装 RSShub
RSShub 项目能通过爬取网页内容的方式生成 RSS 信息流,极大增强了 RSS 的来源
本人考虑使用 RSShub 的 docker-compose 方式部署:
wget https://raw.githubusercontent.com/DIYgod/RSSHub/master/docker-compose.yml
vi docker-compose.yml # 检查有无需要修改的配置
docker-compose up -d # 启动,默认端口是 1200
安全配置:设置环境变量 ACCESS_KEY
来限制访问权限
自部署 RSShub 支持 AI 总结功能,具体可参阅官方文档
1.2 安装 FrenshRSS
FrenshRSS 是一个自托管 RSS 聚合服务
FrenshRSS 提供 RSS 的基本阅读,并方便多平台的 RSS 阅读同步
- 先使用 docker 方式安装
docker run -d --restart unless-stopped --log-opt max-size=10m \
-p 8081:80 \
-e TZ=Asia/Shanghai \
-e 'CRON_MIN=1,31' \
-v freshrss_data:/var/www/FreshRSS/data \
-v freshrss_extensions:/var/www/FreshRSS/extensions \
--name freshrss \
freshrss/freshrss
- 通过
ip:port
打开页面进行初始化配置
配置项包括:语言选择、检查、数据库选择(SQLite)、创建用户
- 设置 API ,方便不同设备间的阅读进度同步
先进入"认证"开启"允许 API 访问",再进入账号界面配置"API 密码"
可以使用以下链接进行 API 的检测:
http://ip:port/api
目前 FrenshRSS API 主要支持
Google Reader
和Fever
两种格式
- 在账号管理中配置"认证口令(token)",控制聚合 RSS 的输出权限
可以使用以下链接进行 RSS 输出的检测:
http://ip:port/i/?a=rss&user=xxxxx&token=xxxxxxxxx&hours=168
1.3 部署 RSS_GPT(可选)
RSS_GPT 可以定时转发第三方 RSS 源并添加 AI 总结
目前的 RSS_GPT 问题:
- 不支持权限控制,不支持 opml 格式的 RSS 源
- 对第三方类 openai 接口支持不够,需要修改源码
该项目逻辑较为简单,有能力者可考虑自行 DIY
主要改动点:
- 对超长文本进行截断,限制最大字符数为 10000
- 环境变量
OPENAI_BASE_URL
未生效,临时修改其默认值 - 将备选 LLMs 从
gpt4
修改为gpt-3.5-turbo-16k
(省钱)
后续改善:结合向量知识库,可实现多 RSS 源文章的去重与检索
1.4 安装 RSS 阅读器
只要是支持 Google Reader API 或 Fever API 的阅读器都行
- Fever API 示例:
http://ip:port/api/fever.php
- Google Reader API 示例:
http://ip:port/api/greader.php
如果不需要使用 FreshRSS 进行统一管理,则任意 RSS 阅读器都行
推荐阅读器 1:Fluent Reader
- 开源、免费和跨平台;但个人感觉阅读体验一般
- 点击"设置"中的"服务",选择 Google Reader API
- 填入之前在 FrenshRSS 中设置的 API 和 API 密码
Fluent Reader 对新增的 RSS 源无法自动分类,但支持一键同步分组信息
具体同步方式:需要手动点击"设置-分组与排序-导入分组"
推荐阅读器 2:FeedMe
- Android 独占,免费,无功能限制;阅读体验不错
- 支持备份;支持对单个订阅源配置 保留 或 过滤 规则
至此 RSS 源订阅及其阅读进度实现了多端多设备的无缝衔接!
1.5 微信公众号 RSS 订阅
方案 1:今天看啥
- 付费微信公众号 RSS 订阅,按照公众号的订阅数收费
- 正常更新推迟时间在 5min~1day,支持急速订阅(小时级)
方案 2:wechat2rss
- 支持私有化部署,订阅制付费,10元/月,100元/月
- 开放了大量免费的公众号 RSS 订阅接口
- 平均6小时,低时延订阅更新,本地实现/保护隐私
方案 3:WeWe RSS
- 基于微信读书接口,免费实现公众号文章的 RSS 订阅
- 更新频率较低(一天 2 次),可能存在账号风控的情况
- 风险警告:内置接口转发,存在隐私泄露风险
本人目前主要采用方案 3,考虑到隐私风险因此使用了微信小号
后续测试中,发现方案 3 分享的 RSS 无法被 FrenshRSS 解析,后来发现是 nginx 的转发问题;考虑到安全性,干脆直接使用 docker 容器内部 ip 进行服务间的访问
步骤概述:单独构建 network,并分别关联到以上几个 RSS 相关服务
docker network create --subnet=172.21.0.0/16 --gateway=172.21.0.1 rss_network
docker network connect rss_network wewe-rss
docker network connect rss_network freshrss
docker network connect rss_network rsshub
2 RSS 进阶
RSS 相关优质工具分享:
- RSSHub-Radar:RSShub 项目衍生的浏览器插件,可用于搜索网站的 RSS 源
- GPT_API_free :OpenAI 官方 API 接口的国内平替,收费低,适合国内访问
- RSS-Translator:开源、简洁、可自部署的 RSS 翻译器(支持 AI 总结)
- Tiny Tiny RSS:自建 RSS 阅读器开源软件,类似于 FreshRSS
第三方 RSS 源检索技巧
- RSSAnything:根据录入的网站 url 尝试搜索/生成 RSS 源
- Feedsearch:RSS 源搜索服务,可发现网站隐藏的 RSS 源
- MoreRSS:提供优质的中/英 RSS 源(显示订阅量),支持翻译
- 中文优质rss源:记录 webfollow 中订阅人数最多的 RSS 源
- 免费微信公众号源: https://wechat2rss.xlab.app/list/all.html
- 常用 RSS 源列表: https://plink.anyfeeder.com/
常见 RSS 阅读器:
- Inoreader:跨平台,功能丰富;免费版支持 100 个 RSS 源
- Feedly:跨平台,免费版支持 200 个 RSS 源(3 个文件夹),付费版支持 AI
- Reeder:苹果生态系统中推荐的 RSS 阅读器
- 更多 RSS 阅读器推荐
更多 RSS 工具合集: MoreRSS 推荐的优秀 RSS 工具
ALL-about-RSS:RSS 相关内容的工具,服务,社区和教程等
第三方 RSSHub 镜像源:
- https://rsshub.rssforever.com (推荐)
- https://rss.injahow.cn
- https://rss.shab.fun
- https://rsshub.anyant.xyz