每天我们都需要在各个App之间流转去收集我们需要的信息,bilibili、微博、知乎、微信公众号、抖音都是我最经常使用的信息获取平台,但是每天都在这些平台中打开关闭打开关闭,实在是太累了。虽然RSS在国内支持非常不友好,但是如果你搭建的比较好的话,依然也是可用的状态。

看B站UP更新不用再翻充满广告抽奖的B站,看公众号更新也不必去翻充斥着大量视频号直播和广告的地址。只需要一个RSS地址,一切都完成了。

什么是RSS

你可以理解为RSS就是一个网页,里面用特定格式给你展示文章信息。真实原理可以自行搜索。

搭建基本要求

一个支持Docker的设备(服务器/Nas/N1/软路由/奇奇怪怪的盒子)并安装Docker。

安装Docker

宝塔面板下可以安装Docker。

安装docker

也可以在软件商店通过插件安装

安装docker

搭建RssHub

绝大多数情况下我们都可以使用公开的源,但是有些定制化的信息就需要自己来搞了,毕竟没有人分享,再加上国内软件商也不提供,就没有RSS源。所以就需要自己搭建一个能够爬取最新内容的爬虫。

使用docker部署

首先进入设备的ssh,拉取镜像

1
$ docker pull diygod/rsshub

然后创建容器

1
$ docker run -d --name rsshub -p 1200:1200 diygod/rsshub

本地设备在浏览器中打开 设备ip地址:1200

云服务器,输入对应的IP地址就可以服务器公网ip地址:1200

如果使用云服务器无法访问端口,需要考虑是否被nginx给禁了或者被云服务器防火墙给禁用了。

搭建FreshRSS

现在我们已经有了RSS爬虫,但是我们还需要一个能够存储RSS内容的服务。FreshRSS是NetNewsWire唯一支持的自搭建RSS服务,所以我们来搭建FreshRSS。

创建容器

首先进入设备的ssh,拉取镜像

1
$ docker network create freshrss-network

创建文件夹映射

1
2
$ docker volume create freshrss-data
$ docker volume create freshrss-extensions

创建容器

1
2
3
4
5
6
7
8
9
10
11
12
$ docker run -d --restart unless-stopped --log-opt max-size=10m \
-v freshrss-data:/var/www/FreshRSS/data \
-v freshrss-extensions:/var/www/FreshRSS/extensions \
-e 'CRON_MIN=4,34' \
-e TZ=Asia/Shanghai \
-p 8080:80 \
--net freshrss-network \
--label traefik.port=80 \
--label traefik.frontend.rule='Host:freshrss.example.net' \
--label traefik.frontend.headers.forceSTSHeader=true \
--label traefik.frontend.headers.STSSeconds=31536000 \
--name freshrss freshrss/freshrss

正式使用

FreshRSS 安装完成后我们可以通过浏览器访问8080端口来进行访问 http://ip:8080/,然后根据界面一步步安装即可。

安装完成主界面。

主界面

我们需要打开api访问,所以先进入认证。

认证

勾选这两个

允许手机访问

然后我们需要设置api密码

设置api密码

我们就完成了基本设置了。

添加RSS订阅源

我们点击添加订阅的加号

添加订阅

我们可以添加RSSHub的地址。例如你的服务器IP地址为999.999.999.999,那么我们可以看RSSHub的文档,例如

文档

我们的订阅地址为http://999.999.999.999:8080/bilibili/user/video/2267573

添加订阅

订阅管理页面

订阅管理

安装FreshRSS扩展

如果有Portainer的小伙伴可以看到用刚才的方法制作的Docker容器有磁盘映射,其中这个路径就是插件的路径了。

插件路径

/www/server/docker/volumes/freshrss-extensions/_data

我们点击齿轮图标,选择扩展

扩展入口

然后我们就可以看到大量的扩展,具体作用可以自行研究。以Readable为例,点击名称进入GitHub页面。

扩展页面

点击Code选择Download Zip

下载压缩文件

我们解压最后变成一个文件夹。

通过宝塔面板进入之前映射的主机文件夹。

上传文件

将整个解压的文件夹拖拽进去,上传到这个文件夹。

刷新FreshRSS后就可以在扩展页面中看到刚才安装的扩展了。

使用NetNewsWire

添加账户

NetNewsWire是一个免费的、超好用的RSS阅读器,界面精美,但不支持中文。

我们将我们搭建的FressRSS连接到我们的阅读器上来。

我们先进入偏好设置

偏好设置入口

选择Accounts,然后点击加号

添加账户

选择FreshRSS

添加账号

填写FreshRSS的用户名、API密码、API地址,API地址范例http://你的服务器ip地址:8080/api/greader.php

添加账户

善用阅读器

部分rss只能获取标题,或者摘要,并不能获取全文。NetNewsWire提供了阅读器功能,可以让我们直接获取网页中的正文。

点击阅读器按钮即可。

添加阅读器

如果觉得正常运行的话,可以将这个源永久自动启用阅读器。这样就不用每篇文章手动点一下阅读按钮了。

启动自动阅读器