一切始于一封来自 PolitePaul 的邮件。Intro邮件宣布,自 2026 年 8 月 29 日起,免费账户最多支持 3 个活跃 feed,免费 feed 的更新间隔调整为 1.5 小时。超出的 feed 不会被删除,但会被冻结,只有在释放其他名额或升级套餐后才能继续更新。“Free accounts will support up to 3 active feeds.对于 PolitePaul 这类服务适用于没有原生 RSS、RSSHub 没有路由或现有路由失效的网页,这类网页其实不会太多,但三个 feeds 的限制也确实导致可用性很低。账户中当时已经有 13 个订阅,其中不少网页很久才更新一次。一个每天更新的网页占用一个名额,一个数周甚至数月才更新的网页同样占用一个名额,订阅名额并不会根据实际更新次数分配。当时的月付方案中,20 个 feed 为每月 5.54 美元,50 个 feed 为每月 11.77 美元。20 个名额对于长期积累的订阅仍然有限,而 50 个名额又意味着更高的固定支出。PolitePaul 需要承担网页抓取、存储和维护成本,调整免费额度可以理解,但但这对于我的需求来说成本过高了。随后对其余类似的服务进行了调研,但几乎都需要支付不低的价格;同时也没有找到可用的开源替代。于是在想,为什么不自己做一个呢?GPT-6 astra 刚发布,Codex 将编码变得非常简单,而服务器、域名等都是现成的。需求首先是明确需求。网页转 RSS 的基本流程并不复杂:加载网页,找到文章列表,提取标题和链接,定时刷新,再输出标准 RSS。现有服务器和域名已经具备,开发工具也足以完成这类应用,因此项目被命名为 FeedLantern(订阅灯)。FeedLantern 面向个人自托管使用,重点不是对外提供服务,不提供收费计划,也不要求接入外部 AI 服务。使用量增大或者频率较高的话,IP 也许会被风控,因此还是推荐根据自己的需求部署。Codex 和 GPT-6 astra 参与开发与测试,日常网页抓取使用本地规则和浏览器服务完成。自动识别与 Cookie 支持这方面,FeedLantern 相比 PolitePaul 甚至更进一步。一个默认流程是:创建订阅时,后台 Chromium 会加载实际网页,等待动态内容出现,再从渲染后的 DOM 中寻找重复的文章或卡片结构,此时,系统会尝试匹配标题、链接、图片、摘要和日期,并给出样例和可信度。当存在多个合理列表时,系统展示候选供选择;结果不准确时,也可以回退到可视化编辑器重新点选字段或修改规则。这在大量网页需要添加的时候,无需一个个点击网页元素,几乎是一键完成。一些网页需要登录才能正确显示内容,因此也提供了自定义 Cookie 的选项。服务支持 Cookie 字符串和 OpenCookie JSON,凭据加密保存在本机,不会写入日志或普通查询响应。自动识别不依赖外部模型,浏览器抓取和规则提取可以在服务器上持续运行。从可用到可维护除了最初的网页识别,长期使用还需要订阅管理能力。FeedLantern 提供列表和卡片两种视图,支持批量添加网址、批量复制 RSS 地址、暂停、恢复、刷新和删除,也支持加密备份、配置导入以及跨服务器恢复。订阅列表名称和 RSS 频道名称保持一致,修改名称不会改变订阅地址、密钥、历史记录或刷新调度。服务采用单管理员登录,不开放公开注册,也不建立多用户和收费体系。简易部署流程Docker Compose 只监听服务器本地的 4321 端口,公网访问交给 Nginx。新建目录后下载两个文件即可启动:Shell复制mkdir feedlantern cd feedlantern curl -fLO https://raw.githubusercontent.com/Jaaayden/feedlantern/v0.2.2/docker-compose.yml curl -fLO https://raw.githubusercontent.com/Jaaayden/feedlantern/v0.2.2/seccomp_profile.json docker compose up -d docker compose logs --tail=50 feedlantern 随后访问 http://127.0.0.1:4321 完成首次管理员初始化。使用域名时,将仓库中的 Nginx 配置模板放入站点配置,替换域名和已有证书路径,并把请求转发到 http://127.0.0.1:4321。详细配置、备份和故障排查放在仓库的 doc 目录。Tail这是一次完全面向个人需求的尝试,但如果你是 RSS 重度用户的话,这对你应该很有帮助,毕竟这似乎是一众付费服务当中的唯一开源替代。FeedLantern 目前已发布 v0.2.2,并以 MIT 许可证开源,项目代码和部署文件位于 GitHub 仓库,希望对你有帮助。
一切始于一封来自 PolitePaul 的邮件。
Intro
邮件宣布,自 2026 年 8 月 29 日起,免费账户最多支持 3 个活跃 feed,免费 feed 的更新间隔调整为 1.5 小时。超出的 feed 不会被删除,但会被冻结,只有在释放其他名额或升级套餐后才能继续更新。
对于 PolitePaul 这类服务适用于没有原生 RSS、RSSHub 没有路由或现有路由失效的网页,这类网页其实不会太多,但三个 feeds 的限制也确实导致可用性很低。账户中当时已经有 13 个订阅,其中不少网页很久才更新一次。一个每天更新的网页占用一个名额,一个数周甚至数月才更新的网页同样占用一个名额,订阅名额并不会根据实际更新次数分配。
当时的月付方案中,20 个 feed 为每月 5.54 美元,50 个 feed 为每月 11.77 美元。20 个名额对于长期积累的订阅仍然有限,而 50 个名额又意味着更高的固定支出。PolitePaul 需要承担网页抓取、存储和维护成本,调整免费额度可以理解,但但这对于我的需求来说成本过高了。
随后对其余类似的服务进行了调研,但几乎都需要支付不低的价格;同时也没有找到可用的开源替代。
于是在想,为什么不自己做一个呢?GPT-6 astra 刚发布,Codex 将编码变得非常简单,而服务器、域名等都是现成的。
需求
首先是明确需求。
网页转 RSS 的基本流程并不复杂:加载网页,找到文章列表,提取标题和链接,定时刷新,再输出标准 RSS。现有服务器和域名已经具备,开发工具也足以完成这类应用,因此项目被命名为 FeedLantern(订阅灯)。
FeedLantern 面向个人自托管使用,重点不是对外提供服务,不提供收费计划,也不要求接入外部 AI 服务。使用量增大或者频率较高的话,IP 也许会被风控,因此还是推荐根据自己的需求部署。
Codex 和 GPT-6 astra 参与开发与测试,日常网页抓取使用本地规则和浏览器服务完成。
自动识别与 Cookie 支持
这方面,FeedLantern 相比 PolitePaul 甚至更进一步。
一个默认流程是:创建订阅时,后台 Chromium 会加载实际网页,等待动态内容出现,再从渲染后的 DOM 中寻找重复的文章或卡片结构,此时,系统会尝试匹配标题、链接、图片、摘要和日期,并给出样例和可信度。
当存在多个合理列表时,系统展示候选供选择;结果不准确时,也可以回退到可视化编辑器重新点选字段或修改规则。
这在大量网页需要添加的时候,无需一个个点击网页元素,几乎是一键完成。
一些网页需要登录才能正确显示内容,因此也提供了自定义 Cookie 的选项。服务支持 Cookie 字符串和 OpenCookie JSON,凭据加密保存在本机,不会写入日志或普通查询响应。自动识别不依赖外部模型,浏览器抓取和规则提取可以在服务器上持续运行。
从可用到可维护
除了最初的网页识别,长期使用还需要订阅管理能力。FeedLantern 提供列表和卡片两种视图,支持批量添加网址、批量复制 RSS 地址、暂停、恢复、刷新和删除,也支持加密备份、配置导入以及跨服务器恢复。
订阅列表名称和 RSS 频道名称保持一致,修改名称不会改变订阅地址、密钥、历史记录或刷新调度。服务采用单管理员登录,不开放公开注册,也不建立多用户和收费体系。
简易部署流程
Docker Compose 只监听服务器本地的 4321 端口,公网访问交给 Nginx。新建目录后下载两个文件即可启动:
随后访问 http://127.0.0.1:4321 完成首次管理员初始化。使用域名时,将仓库中的 Nginx 配置模板放入站点配置,替换域名和已有证书路径,并把请求转发到 http://127.0.0.1:4321。详细配置、备份和故障排查放在仓库的 doc 目录。
Tail
这是一次完全面向个人需求的尝试,但如果你是 RSS 重度用户的话,这对你应该很有帮助,毕竟这似乎是一众付费服务当中的唯一开源替代。
FeedLantern 目前已发布 v0.2.2,并以 MIT 许可证开源,项目代码和部署文件位于 GitHub 仓库,希望对你有帮助。