1 RSS
RSS 的全称是 Really Simple Syndication(简易信息聚合),它是一种消息来源的格式规范,网站可以按照这种格式规范提供文章的标题、摘要、全文等信息给订阅用户,用户可以通过订阅不同网站 RSS 链接的方式将不同的信息源进行聚合,在一个工具里阅读这些内容。从而实现"一个站点,包罗万象"。
2 搭建RSSHub服务器
RSSHub 是一个开源、简单易用、易于扩展的 RSS 生成器,可以给任何奇奇怪怪的内容生成 RSS 订阅源。
想必命令行配置的教程大家已经看多了,而且看得非常头大,要配置的东西很多。推荐用云服务器建站的同学使用宝塔面板比较容易上手,然后在软件商店安装PM2管理器,这样只需要几个命令就可以了。
2.1 PM2方式
2.1.1 克隆项目源码
git clone https://github.com/DIYgod/RSSHub.git
2.1.2 启动RSSHub
cd RSSHub
pm2 start lib/index.js --name rsshub
根目录就是你的源码的位置,启动文件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
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
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']"/>
有其它需要的话自己去看文档。
38 comments
厉害
2.1和2.2合并到了一个步骤
服务器目录 /www/wwwroot/rsshub/ 可以读写 容器目录 /usr/src/app/;
这句话,下载下来的代码里面 没有这些/usr/src/app/目录
这个是系统根目录映射
可你是把步骤写在docker部署的方法下面的。按你这个来操作就会多放一份没用的镜像在服务器内。
可能没注释用意,觉得多此一举吧
不是,这个可以不下载,下载目的是备用,以后直接改文件就行了,而不用去docker容器改
我有点搞不懂,你既然都使用了docker将rsshub镜像拉取下来了为啥还要在网站目录中下载rsshub?
doker是后面加的,一开始用的pm2占内存还不稳定,但是上手快,不需要配置,都是图形化界面
大佬,全部流程进行完之后,打开提示:Missing required request header. Must specify one of: origin,x-requested-with,那个cors-anywhere没法用。
然后我去掉proxy的,handsome加载失败!尝试重新加载,我直接访问那个rss地址,比如微博的,能看到有内容,但是第一行提示This XML file does not appear to have any style information associated with it. The document tree is shown below
能不能帮忙看下该怎么解决
1.请求头的问题解决方法是重新配置proxy
2.xml错误可能是rss源有问题
1、是需要改动配置么
2、我就是启动进程,反代ssl,然后域名后面直接加了/weibo/user/${uid},随便找了个用户的uid测试的,这个怎么解决。。
不需要改,只要proxy的端口运行正常就行
博客那个,比如说你用的林允儿的,https://rss.lvsongfeng.com/weibo/user/5748179271,handsome后台,RSS动态内容配置添加了,{"id":"weibo","name":"微博","url":"https://rss.lvsongfeng.com/weibo/user/5748179271"},还是不能正常展示
这就是要用proxy代理啊。要用git clone https://github.com/Rob--W/cors-anywhere.git这个仓库的来配pm2管理器,最后应该是https://proxy(随意).domain.com/https://rss(随意).domain.com/rss资源位置这个形式的地址
proxy的,直接git项目,然后启动,反代ssl ,https://proxy(随意).domain.com。。。
(发现问题了,直接浏览器访问“https://proxy(随意).domain.com/https://rss(随意).domain.com/rss资源位置”是不行的,这样调用是必须在后台用
多谢解答,我开始以为直接浏览器访问就是可以验证的,实际上只能后台直接使用
对,只要rsshub那个有开始界面就说明配置成功了,rss源的地址是要加代理的
大佬,再问下,配置单个rss订阅没问题了,多个是怎么分割,直接回车不行。
英文逗号
rss视频源有http,谷歌那个小锁报不安全...我看你的都正常,就用的林允儿测试的,现在套的是CF的cdn,证书是cf的
https://www.anleenoxu.top/archives/217.html,看这个
不知道为什么,我这么加了也没有其效果。。求指导。
写代码不是复制粘贴就完事了,要看上下文的
我文章里面说了,替换的前提是这个资源有https的链接,要看网站的,有的网站没有https
大佬您好,全部流程进行完之后,打开提示:Missing required request header. Must specify one of: origin,x-requested-with,怎么解决呢,大佬
你换个邮箱吧,这个邮箱发不过去,你收不到回复
推荐使用docker方式部署
应该是跨域问题,可以参考这篇文章https://www.anleenoxu.top/archives/211.html,如果你配置了跨域,检查一下这个rss项目是否处于运行中,端口号是否正常,一般如果你的rss域名可以访问就没什么大问题了
就使用的是宝塔面板的docker,但是刚才检查PM2日志,发现报错了,麻烦大佬帮我看一下
https://s3.ax1x.com/2020/11/26/DwqAaD.png
https://s3.ax1x.com/2020/11/26/Dwq8Ig.png
用了docker就不需要pm2了,不稳,你看那个进程都被杀了,我已经卸载了pm2
问下,表情不显示的问题怎么解决啊?
可能是数据库编码问题,typecho的数据库不支持,你可以把评论和文章的对应字段改为utf8mb4_general_ci,然后在网站根目录配置文件config.ini.php把数据库的charset改为utf8mb4
主题的bug,最新版主题作者已经修复这个问题。
我的没更新也显示了
我跟你用的也是Handsome模板的,他的Rss显示方式只能文章摘要或者仅标题,摘要+标题是暂不支持的(使用文档上写的),大佬是怎么改的
在cross.php文件里面把type!==""的else语句(默认不设置为空)里面替换为itemContent = '
标题:'+item.title+'
'+item.description;就行了感谢大佬
博客改得挺漂亮的啊。