一.RSSHub简介

RSSHub 是个很赞的项目,它聚集了众多 RSS 爱好者来为现代的网站构建 RSS 订阅源。众所周知,网站提供 RSS 并不能为他的站点带来更高的收入,反而会减少主站的访客数因此可以借助 RSSHub 可以方便地通过 RSS 订阅知乎、豆瓣、Facebook 等现代媒体社交平台。

二.本地部署RSSHub的优势

  1. RSSHub 使用非常简单,但随着使用者增多,微博、知乎加大了反爬限制。
  2. RSSHub 的免费官方实例用户较多,许多路由因遭到了目标站点反爬虫措施的反制而无法使用。
  3. 目前RSSHub已经被墙,如果没有梯子在墙内是无法访问的。
  4. 目前大量第三方源都无法直接使用,只能自建 RSSHub 来解决稳定性。
  5. 需要自己对一些特殊的网址进行自定义的规则。
    本文主要讲解的是内网部署服务,如果要部署到外网,请准备好域名和服务器。

三.手动部署RSSHub服务

部署前置环境::

  • git
  • nodejs
  • npm

1.安装RSSHub服务

部署 RSSHub 最直接的方式就是手动部署,可以按照以下步骤将 RSSHub 部署在您的电脑、服务器或者其他任何地方。
首先是下载 RSSHub 的源码:

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

下载完成后,需要安装依赖(开发不用加 --production 参数)。
使用 npm:

$ npm ci --production

或 yarn:

$ yarn install --production

由于众所周知的原因,在国内使用 npm 下载依赖十分缓慢,建议挂一个代理或者考虑使用 NPM 镜像。

2.启动RSSHub服务

然后在 RSSHub 文件夹中运行下面的命令就可以启动:

$ npm start

$ yarn start

在浏览器中打开 http://127.0.0.1:1200/。

详细使用说明参照 指南 (opens new window),替换所有路由例子中的 https://rsshub.app/ 为 http://localhost:1200 即可正常使用。

3.修改配置RSSHub服务

可以通过设置环境变量来配置 RSSHub:
在项目根目录新建一个 .env 文件,每行以 NAME=VALUE 格式添加环境变量,例如:

CACHE_TYPE=redis
CACHE_EXPIRE=600

注意它不会覆盖已有的环境变量,更多配置项请看 配置

手动部署方式不包括 puppeteer 和 redis 依赖,如有需要请改用 Docker Compose 部署方式或自行部署外部依赖。

4.更新RSSHub服务版本

在 RSSHub 文件夹中运行下面的命令就从 github 仓库拉取最新版本即可:

$ git pull

四.Docker部署RSSHub服务

部署前置环境:

  • docker环境

1.安装RSSHub服务

默认推荐使用diygod/rsshub即diygod/rsshub:latest最新版镜像以获取最新路由。 当diygod/rsshub:latest存在问题时,可以使用以日期为标签的近期镜像临时使用,例如:

$ docker pull diygod/rsshub:2021-06-18/diygod/rsshub:latest

待最新镜像更新后在切换回diygod/rsshub:latest最新版镜像。
运行下面的命令下载 RSSHub 镜像:

$ docker pull diygod/rsshub

然后运行 RSSHub 容器即可:

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

在浏览器中打开 http://127.0.0.1:1200/。

2.更新RSSHub服务版本

docker删除旧容器,然后拉取新镜像再生成容器:

$ docker stop rsshub
$ docker rm rsshub

或者进入容器对RSSHub版本进行升级。

3.更新RSSHub服务配置

配置运行在 docker 中的 RSSHub,最便利的方法是使用 docker 环境变量。
以设置缓存时间为 1 小时举例,只需要在运行时增加参数:-e CACHE_EXPIRE=3600:

$ docker run -d --name rsshub -p 1200:1200 -e CACHE_EXPIRE=3600 -e GITHUB_ACCESS_TOKEN=example diygod/rsshub

该部署方式不包括 puppeteer 和 redis 依赖,如有需要请改用 Docker Compose 部署方式或自行部署外部依赖。

五.Docker Compose 部署(推荐)

部署前置环境:

  • docker环境
  • Docker-Compose环境

1.创建安装目录

赋予 Docker Compose 目录相应权限,在特定目录新建 Docker Compose 配置文件,并编辑。

sudo chmod +x /usr/local/bin/docker-compose

2.创建RSSHub实例

创建docker-compose文件:

touch docker-compose.yml

编辑docker-compose配置文件:

version: '3'services:rsshub:image: diygod/rsshubrestart: unless-stoppedports:- '1200:1200'environment:NODE_ENV: productionCACHE_TYPE: redisREDIS_URL: 'redis://redis:6379/'PUPPETEER_WS_ENDPOINT: 'ws://browserless:3000'depends_on:- redis- browserlessbrowserless:image: browserless/chrome:1.43-chrome-stablerestart: unless-stoppedredis:image: redis:alpinerestart: unless-stoppedvolumes:- redis-data:/datavolumes:redis-data:

保存退出后,可先前台执行观察输出,若确认无误后便可置于后台持续运行。

先前台执行观察输出:

docker-compose up

确认无误后后台持续运行:

docker-compose up -d

3.RSSHub版本更新

删除旧容器:

$ docker-compose down

如果之前已经下载 / 使用过镜像,下方命令可以帮助你获取最新版本:这可能可以解决一些问题。

$ docker pull diygod/rsshub

然后重复安装步骤。

4.更新RSSHub加配置

修改 docker-compose.yml (opens new window)中的 environment 进行配置。

六.使用RSSHub自建服务

通过上面三种部署,我们就已经安装好了服务使用方式如下:

  1. 打开 RSSHub 接口指南,搜索需要订阅的网站。RSSHub 支持国内大部分的主流网站。
  2. 将生成源 https://rsshub.app/xxx/xxx 其中域名 https://rsshub.app 替换为你自部署的域名,如http://192.168.52.131:1200/xxx/xxx 。

在上文中我们通过三种不同的方式部署了RssHub服务,这里有个前提,就是自建 RSS 阅读器与自建 RSSHub 需要在同一内网内,这样才可以本地调用。如果要再外网使用需要将服务部署到云端并配置好域名。

七.懒人必备

如果不想去费时间搭建RSSHub,那么可以直接使用别人搭建好的。

https://rss.shab.fun/
https://rss.injahow.cn/
http://i.scnu.edu.cn/sub
http://rsshub.sksren.com/
https://rsshub-7x3pyolbs.vercel.app/

如果侵权请联系笔者删除。

参考资料:
私有化部署 RSSHub 服务

自建RssHub本地服务相关推荐

  1. Service(服务)之 Local Service(本地服务)

    一.Service简介 Android中服务是运行在后台的东西,级别与activity相同(同属四大组件).既然说service是运行在后台的服务,那么它就是不可见的,没有界面的东西.你可以启动一个服 ...

  2. 工作流编程循序渐进(9:使用本地服务在宿主和工作流之间通信)

    工作流编程循序渐进(9:使用本地服务在宿主和工作流之间通信) 作者  朱先忠 [摘要]       在本篇中,首先详细分析本地服务有关概念,探讨本地服务在工作流运行时.工作流实例及工作流宿主间的地位及 ...

  3. centos7 搭建本地git_本地服务调用K8S环境中的SpringCloud微服务实战

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:原创文章分类汇总及配套源码,涉及Java.Docker.K8S.Devops等 下图是典型的微 ...

  4. windows的服务中的登录身份本地系统账户、本地服务账户和网络服务账户修改

    以一个redis服务为例: 一个redis注册服务后一般是网络服务账户,但是当系统不存在网络服务账户时,就会导致redis服务无法正常启动.接下来修改redis服务的登录身份. cmd下输入如下命令: ...

  5. Android Service学习之本地服务

    Service是在一段不定的时间运行在后台,不和用户交互应用组件.每个Service必须在manifest中 通过<service>来声明.可以通过contect.startservice ...

  6. 增加 oracle服务名,oracle本地服务名配置说明

    本地oracle客户端连接远程oracle数据库服务器配置说明如下: 1.找到本地oracle客户端安装目录,如:%path%\Oracle 2.再找配置文件tnsnames.ora,其目录为 %pa ...

  7. WF(9):本地服务之事件处理

    一:先来介绍两个活动 EventDrivenActivity和 ListenActivity. EventDrivenActivity是一个等侍事件触发的容器,EventDrivenActivity第 ...

  8. 如何给Android应用创建本地服务

    Android系统给应用提供了两种类型的服务:启动型本地服务和绑定型本地服务,这两种服务的详细信息请参考"Android Service开发指南" Android Service开 ...

  9. mac如何将本地服务暴露到外网?

    在做微信公众号开发时,需要将本地服务暴露到外网,除了ngrok外,还有什么方法呢? 假设本地有个test文件夹,那么如何才能使别人通过浏览器访问到你的文件夹?接下来介绍另一个方法:localtunne ...

  10. Android——本地服务基础(一)

    本地服务用于应用程序内部,可以实现应用程序自己的一些耗时任务,比如查询升级信息,网络传输,或者在一些场合需要在后台执行,比如播放音乐,并不占用应用程序比如activity所属的线程,而是单开线程后台执 ...

最新文章

  1. prometheus之docker监控与告警系列(二)
  2. 55 安装Celery
  3. 八篇 NeurIPS 2019 最新图神经网络相关论文
  4. TiDB适用和不适用场景
  5. 转:HTTP协议简介与在python中的使用详解
  6. 软件配置管理(六)常用配置软件配置工具指令
  7. python发展路线_Python进阶路径-从学徒到大师
  8. 你知道荷兰旗问题吗?
  9. oracle11g设置开机自启动,oracle11g在linux系统下开机自启动设置
  10. 各类型土地利用图例_给排水系统各部件及图纸你还有多少不了解?
  11. vSAN架构解析与6.7功能介绍
  12. 在线商城之购物车实现——(附完整代码)
  13. NLP - 结巴分词 词云
  14. TLSR8232-Telink蓝牙SoC之03程序下载和运行调试
  15. 实战小例子 | Python实现用手势控制电脑音量
  16. 7.19作业 防火墙知识,调研总结,包括但不限于与原理,设备使用,厂商介绍,形成报告
  17. 各大网站和app是如何实现黑白页面效果?
  18. Excel插件快捷键弹窗事件(VSTO+键盘钩子实现)
  19. 播放器无法挂载.VTT文件字幕(Coursera)
  20. 实验三 交互式绘制多边形

热门文章

  1. hdu1166敌兵布(线段树模板题)
  2. oracle里每年第一天,SQL和Oracle获取每周、每月、每年第一天和最后一天
  3. myd加入mysql数据库_数据库是.frm,.myd,myi备份如何导入mysql (转)
  4. java 填数独_java – 数独求解方法
  5. 线段树的简单实现(引入lazy_tag)
  6. WPS 文件忘记保存退出找回
  7. 【JAVA高级技术】Java 处理结构化数据多种解决方案
  8. 电商api全境,Python网络爬虫与数据采集
  9. win10电脑进入睡眠时间过快,电源选项的设置无效
  10. 热血传奇服务端源代码分析笔记