1 RSS

RSS 的全称是 Really Simple Syndication(简易信息聚合),它是一种消息来源的格式规范,网站可以按照这种格式规范提供文章的标题、摘要、全文等信息给订阅用户,用户可以通过订阅不同网站 RSS 链接的方式将不同的信息源进行聚合,在一个工具里阅读这些内容。从而实现"一个站点,包罗万象"。

2 搭建RSSHub服务器


想必命令行配置的教程大家已经看多了,而且看得非常头大,要配置的东西很多。推荐用云服务器建站的同学使用宝塔面板比较容易上手,然后在软件商店安装PM2管理器,这样只需要几个命令就可以了。

2.1 PM2方式

2.1.1 克隆项目源码

git clone https://github.com/DIYgod/RSSHub.git

如果速度慢可以用其它途径下载源码后上传到根目录,命名为RSSHub。

2.1.2 启动RSSHub

cd RSSHub
pm2 start lib/index.js --name rsshub

或者命令行不熟的找到PM2管理器,然后点击设置,添加项目。

根目录就是你的源码的位置,启动文件lib/index.js,项目名称随意。添加好了以后下面会有一行项目记录,点击映射,配置域名(在域名解析里面添加一个子域名映射到主机地址就行了,记得添加ssl证书,不然域名不支持https会使浏览器加载失败)。

2.2 docker部署方式(推荐)

上面是pm2方式,这里推荐用docker方式部署。首先需要安装 Docker 管理器。打开 Docker 管理器,在「镜像管理」中获取官方库镜像diygod/rsshub。

然后,在「容器列表」创建新的 Docker 容器:

相关设置:

  • 容器端口 1200 映射到服务器端口 1200;
  • 服务器目录 /www/wwwroot/rsshub/ 可以读写 容器目录 /usr/src/app/;
  • CPU 权重改为 30。

然后,创建一个新网站,不需要创建新的数据库,PHP 设置为纯静态。然后把 RSSHub 源代码拉取到网站根目录 /www/wwwroot/rsshub/(目的是备用,以后要更改直接改文件,不需要去docker容器改)。

cd /www/wwwroot/
git clone https://github.com/diygod/rsshub.git rsshub

最后,设置反向代理,以便我们可以通过域名来访问该服务:

这样RSS服务就搭好了,可以随意拉取任何奇奇怪怪的内容。具体配置见文档:https://docs.rsshub.app/,但是这个国内访问不了,可以直接看项目里面docs目录的md文档,里面有各种内容配置的介绍。

2.3 测试是否成功

在浏览器打开你的rss服务器域名,例:https://rss.domain.com,如果看到下面的页面就说明成功了。

3 跨域服务

可以在rss源地址前面加上https://cors-anywhere.herokuapp.com,即整个地址就是https://cors-anywhere.herokuapp.com/https://rss(随意).domain.com/rss资源位置

但是,这个访问速度很慢,因此也需要自己建一个跨域服务。

3.1 下载安装proxy

git clone https://github.com/netnr/proxy.git
cd proxy
npm install

PS:这个仓库的作者把项目更新了,原有方式不行,但是这个仓库是fork的其它仓库"cors-anywhere",改一下克隆地址即可
git clone https://github.com/Rob--W/cors-anywhere.git

如果同样下载慢可以用其它工具下载好了之后上传到根目录,然后安装。

3.2 PM2管理器添加项目

根目录就是你的源码的位置,启动文件server.js,项目名称随意。添加好了以后下面会有一行项目记录,点击映射,配置域名(在域名解析里面添加一个子域名映射到主机地址就行了,记得添加ssl证书)。

再使用自己的代理:https://proxy(随意).domain.com/https://rss(随意).domain.com/rss资源位置,速度明显加快,几乎秒开。

4 开始订阅源

经过上面的配置,现在"万事俱备,只欠东风",需要开始订阅资源了。

4.1 微博

微博RSS源的地址为:https://proxy(随意).domain.com/https://rss(随意).domain.com/weibo/user/用户id

如果用户主页地址后面的是英文,那么直接ctrl+u打开源代码输入ctrl+f搜索uid字段的值就行了。

4.2 B站

番剧

<Route author="DIYgod" example="/bilibili/bangumi/media/9192" path="/bilibili/bangumi/media/:mediaid" :paramsDesc="['番剧媒体 id, 番剧主页 URL 中获取']"/>

用户追番列表

<Route author="wdssmq" example="/bilibili/user/bangumi/208259" path="/bilibili/user/bangumi/:uid/:type?" :paramsDesc="['用户 id','1为番,2为剧,留空为1']"/>

有其它需要的话自己去看文档。

5 本站最后的效果

Last modification:April 23, 2021
喜欢就加个鸡腿吧!