从零开始打造沉浸式RSS阅读体验(服务器版本)

发布于 2022-01-24  225 次阅读


1.具体实现形式

  • (不能生成RSS订阅源的)RSShub+RSS阅读软件(freshrss)
  • (可以生成订阅源的)直接添加源进入RSS阅读器阅读即可

2.安装RSShub

2.1Rsshub介绍

口号:万物皆可RSS!

RSSHub 是一个开源、简单易用、易于扩展的 RSS 生成器,可以给任何奇奇怪怪的内容生成 RSS 订阅源。RSSHub 借助于开源社区的力量快速发展中,目前已适配数百家网站的上千项内容(包括长毛象哦!) ------引用自RSShub官网

项目地址https://github.com/DIYgod/RSSHub

2.2部署RSShub

安装RSShub有很多种:直接部署安装,docker啥的。下面为了方便我是用docker来部署它(我才不是懒

2.2.1安装docker和docker-compose

curl -fsSL https://get.docker.com | bash #安装docker
curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose  #安装docker-compose
chmod +x /usr/local/bin/docker-compose  #赋予docker-compose可执行权限
docker -v
docker-compose -v

有如下回显即为安装成功

屏幕截图 2022-01-24 205455.png

如果机器提示没有curl命令请执行

apt isntall curl#ubuntu,debian
yum install curl#centos,redhat....

2.2.2docker安装rsshub

docker pull diygod/rsshub#拉取镜像
docker run -d --name rsshub -p 1200:1200 diygod/rsshub#启动容器
docker ps#会看到rsshub的镜像

Tips:1200:1200可以自行替换为没有占用的端口!!

屏幕截图 2022-01-24 210630.png

访问ip:1200即可看到这样的画面

屏幕截图 2022-01-24 210935.png

恭喜!这样就装好啦!

如何更新?

docker stop rsshub
docker rm rsshub

完成后重复上述安装步骤即可!

2.2.3配置nginx反代(可选)

Tips:虽然可以直接ip:1200这样使用,但是我强烈建议使用niginx反代到443端口,并且配置cloudflareCDN保护源站ip!

反代文件示例

server {
    listen      80; 
    listen [::]:80;
    server_name rsshub.examle.com;    
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name rsshub.examle.com;
    ssl_certificate  /ssl/1.pem;
    ssl_certificate_key /ssl/1.key;
    location / { 
        proxy_pass http://127.0.0.1:1200;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }   
}

Tips:lnmp的nginx路径在/usr/local/nginx/conf/vhost 里修改你的域名配置就OK

2.4 配置RSShub

配置RSShub详见https://docs.rsshub.app/usage.html

配置完成之后就可以加入到RSS订阅器里去啦!

3.RSS阅读器(freshrss)

freshrss是使用PHP开发的一款web阅读器,安装简单快捷,界面清爽很适合我们使用

官网 https://freshrss.org/

3.1安装lnmp

wget http://soft.vpser.net/lnmp/lnmp1.8.tar.gz -cO lnmp1.8.tar.gz && tar zxf lnmp1.8.tar.gz && cd lnmp1.8 && ./install.sh lnmp

Tips:php建议选择7.4,数据库mysql5.6即可,稍等约40分钟(按VPS性能)就可以将环境配置完成

shell中输入lnmp,看到如下回显即为安装成功

屏幕截图 2022-01-24 214322.png

访问ip看到下面回显即为成功

屏幕截图 2022-01-24 214544.png

3.2安装freshrss

3.2.1启动网站,数据库

lnmp vhsot add

之后根据提示操作即可创建数据库一个,网站一枚

TIPS:注意保存数据库名,密码

3.2.2安装freshrss

cd /home/wwwroot/rss.example.com
git clone https://github.com/FreshRSS/FreshRSS.git#没有就apt install git/yum install git
mv FreshRSS/* .

访问rss.example.com即可按向导完成安装

注意给予网站目录777权限

安装时使用MYSQL数据库指北

主机  127.0.0.1
数据库名 你创建的
用户 你创建的
密码 你创建的
表名 随意指定

3.3添加订阅源

屏幕截图 2022-01-24 221724.png

TIPS:个人博客的RSS地址一般为 域名/feed格式

3.4移动端使用

移动端使用建议使用“feedme”阅读器,play下载即可(支持freshrss一键登录)

对于不支持的移动端,freshrss还支持将所有的源导出为rss订阅源再导入手机端RSS阅读器

4.小结

虽然现在rss已经没有当年的辉煌,但是作为一个提醒订阅的工具还是不错的。由于rsshub这个项目的出现,各种不支持订阅的平台都可以被转化为订阅源,而且不仅仅于此通过rsshub还可以设置爬虫通过rss爬取内容的源,确实还有好多功能值得我们发现和思考呢!

下面一篇文章打算讲讲serverless部署一套RSS阅读器(由于RSShub可以使用heroku部署,而且有基于workers的阅读器,serverless部署起来也超级简单)马上就要过年了,大家新年快乐呀!我就先咕咕咕了