我的RSS生活(一)

最近乱七八糟折腾了一大堆东西......忙死了忙死了忙死了!先把RSS这玩意记录一下吧。

RSS(英文全称:RDF Site Summary 或 Really Simple Syndication[2]),中文译作简易信息聚合[3],也称聚合内容[4],是一种消息来源格式规范,用以聚合多个网站更新的内容并自动通知网站订阅者。使用 RSS 后,网站订阅者便无需再手动查看网站是否有新的内容,同时 RSS 可将多个网站更新的内容进行整合,以摘要的形式呈现,有助于订阅者快速获取重要信息,并选择性地点阅查看。

--来自维基百科

说白了就是把各种乱七八糟的信息来源汇聚起来,统一过滤。对我来说最大的作用就是打破信息茧房,还不用看广告啦~

服务端选择和介绍

现在常用的RSS服务端程序大概三个,Freshrss,tiny tiny rss,Miniflux。感谢@zoomyale整理的区别

image

我自己倒也全都自己搭建试了一下,只能说Freshrss和tiny tiny rss都臃肿得有点过分了,大部分功能其实用不上,另外一些需要插件实现的功能干脆插件都失效了......

说了这么多,所以我自己最后肯定选的是Miniflux啦~

优点:超级轻量化,资源占用原少于另外那俩,界面简介,该有的功能都有(抓取全文什么的)集成API齐全,支持导入导出

缺点:不支持订阅源批量操作,想删就只能一个一个删了...默认没打开抓取全文,opml导入的订阅源全没开真是要命了....(虽然可以在客户端抓取,但是原生支持是最好的)

使用docker-compose搭建

默认已经安装好docker,没安装的先使用下面命令安装

curl -fsSL https://get.docker.com | bash -s docker

国内使用阿里源

bash <(curl -Ls https://raw.githubusercontent.com/fengyuanluo/box/main/sh%E8%84%9A%E6%9C%AC/docker.sh) -s docker --mirror Aliyun

创建一个docker-compose.yaml文件

services:
  # Miniflux 服务配置
  miniflux:
    # 使用最新版本的 Miniflux 镜像
    image: miniflux/miniflux:latest
    # 将容器的 8080 端口映射到主机的 80 端口
    ports:
      - "80:8080"
    # 确保在数据库服务健康后才启动 Miniflux
    depends_on:
      db:
        condition: service_healthy
    # 设置 Miniflux 的环境变量
    environment:
      # 数据库连接 URL
      - DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable
      # 运行数据库迁移
      - RUN_MIGRATIONS=1
      # 创建管理员账户
      - CREATE_ADMIN=1
      - ADMIN_USERNAME=admin
      - ADMIN_PASSWORD=test123

PostgreSQL 数据库服务配置

db:
# 使用 PostgreSQL 15 版本镜像
image: postgres:15
# 设置 PostgreSQL 的环境变量
environment:
- POSTGRES_USER=miniflux
- POSTGRES_PASSWORD=secret
- POSTGRES_DB=miniflux
# 将数据库数据持久化到名为 miniflux-db 的 volume
volumes:
- miniflux-db:/var/lib/postgresql/data
# 健康检查配置
healthcheck:
# 使用 pg_is折腾y 命令检查数据库是否就绪
test: ["CMD", "pg_is折腾y", "-U", "miniflux"]
# 每 10 秒检查一次
interval: 10s
# 启动后 30 秒开始进行健康检查
start_period: 30s

定义持久化存储卷

volumes:
miniflux-db:

具体数据根据注释改就好了,然后在这个目录下启动compose

docker compose up -d

然后打开IP:端口就可以进入页面啦。

image

image

image

界面贼简单明了,点击源就可以添加订阅源,支持从opml文件或者url导入订阅源。

不魔改没有灵魂!

原创的一些脚本

实际体验过程中,由于我有一大堆要导入和添加的订阅源.......所以出现了下面几个问题

1.导入的订阅源默认不会抓取全文,这意味着我导入之后还得一个一个打开-打开高级选项-勾选抓取全文-点击更新

2.压根没有批量管理订阅源这功能

3.新建订阅源也得重复一遍1中过程

总结俩字:要命!

所以为了方便起见,某完全不懂代码的小白,靠着强大的GPT-4o和Claude-3-5-sonnet,手搓了仨脚本出来......

用之前记得把脚本里的域名改成你自己的

脚本1:为每个订阅源添加勾选框,算是实现简单的批量管理功能吧

脚本2:添加订阅源时自动勾选抓取全文

脚本3:导入的那一堆没抓取全文的,打开这个脚本,然后按住Ctrl,一路点下去就会补上抓全文了

卧槽这网站没给RSS!

啊......从某种意义上来说,RSS这玩意都算是上一个甚至上上个十年的东西了,现在的网站,除了一堆个人博客,少数论坛,真没几个原生提供RSS的了,所以调用第三方RSS就变得非常重要,这里详细介绍两种,粗略介绍两种吧

RSSHUB

RSSHub是一个开源、易于使用的RSS生成器。它可以将各种网站的内容转换成RSS订阅源,让用户能够更方便地获取和聚合信息。无论是社交媒体、新闻网站,还是视频平台,RSSHub都能帮你创建定制的RSS源。它支持数百个网站,并且还在不断扩展中。使用RSSHub,你可以将散落在各处的信息集中到一个RSS阅读器中,大大提高信息获取的效率。对于喜欢自主管理信息流的朋友来说,RSSHub绝对是一个不可多得的利器。

--来自Claude

总而言之一个号称“万物皆可RSS”的神奇项目,先行谢过一群为爱发电的路由编写者们。

这里就不讲原理啥的了,直接上手!

搭建

简单起见直接docker-cil了,注意,这里推荐搭建在国外服务器上,不然你懂的,而且后续操作也需要一个公网ip。

docker run -d --name rsshub -p 1200:1200 diygod/rsshub:chromium-bundled

然后打开IP:1200看到图示界面

image

PS.一个懒得搭建的方法:直接在Google搜一下”Welcome to RSSHub“,就能搜到很多其他人搭建好的rsshub,当然可用性就得看其主人了

使用

浏览器安装拓展,点击左上角小齿轮进入设置,填写RSSHUB实例地址和Miniflux地址,为了更加方便,可以在设置快捷键处设置一个顺手的快捷键

image

PS.除了RSSHub Radar,还可以使用这些东西调用RSSHUB:Easy-To-RssRSS+

WeWeRSS

这是一个生成公众号订阅源的工具,还是一条命令启动,AUTH_CODE相当于密码,其他看着改就好。

docker run -d \
  --name wewe-rss \
  -p 4000:4000 \
  -e DATABASE_TYPE=sqlite \
  -e AUTH_CODE=123567 \
  -v $(pwd)/data:/app/data \
  cooderl/wewe-rss-sqlite:latest

使用方式官方写的就很好,这里贴一下顺便补充一下下(会在最后标注参考文献)

1.进入账号管理,点击添加账号,微信扫码登录微信读书账号。

2.进入公众号源,点击添加,通过提交微信公众号分享链接,订阅微信公众号。 (添加频率过高容易被封控,等24小时解封)

image

3.通过右上角的导出OPML/RSS就可以直接全部导入Miniflux

image

rssproxy/feedless

这俩我严重怀疑是一家的来着,都可以很简单的使用docker自部署,不过这俩官网都没墙,直接用就行了,相对来说这俩可视化的用起来还是简单很多

rssproxy:https://rssproxy.migor.org/

feedless:https://feedless.org/

Huginn

不会,下一个,谁会了可以写个傻瓜式教程教教我

把邮件转为RSS源

你真没看错,邮箱也能转成RSS源,都是通过邮件软件订阅RSS,这不就反过来了嘛,让我们高呼一声”Everything is RSSible!“

打开kill-the-newsletter,在输入框输入一个想要的标题,这玩意后续会变成订阅源的名字,然后点击Create feed,获得一个邮箱地址,把你想用来生成RSS的邮箱设置转发到这个邮箱就好。

image

结语

暂且写这么多吧(希望我没落东西),下一篇估计写一篇安卓端的RSS阅读器横评吧,毕竟一大堆APP看得眼都花了.......

参考文献

Miniflux安装:https://miniflux.app/docs/docker.html

RSSHUB安装:https://docs.rsshub.app/zh/deploy/

wewerss:https://github.com/cooderl/wewe-rss

邮件转rss:https://blog.csdn.net/2301_80693261/article/details/134068536

用Miniflux自建轻便好用的RSS服务:http://zoomyale.com/2018/miniflux_rss/

rssproxy自部署:https://github.com/damoeb/rss-proxy

kill-the-newsletter自部署:https://github.com/radically-straightforward/radically-straightforward/blob/main/guides/deployment.md

feedless自部署:https://github.com/damoeb/feedless

折腾过程中看了很多教程,在此全部致谢