仅在 localhost 中部署并使用 RSSHub

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 由于部分网站严格的反爬机制、再加上大量使用带来的计算压力,RSSHub 鼓励用户自建使用。但如果你也有自建 RSS 阅读器习惯、且部署 RSSHub 也只是为了自用而不打算与他人共享,完全可以本地部署 RSSHub 后不将其暴露至公网、直接在自建 RSS 阅读器上通过特殊字段访问到本地的 RSSHub。

f43013ebd22c6657dbfff084ee27ff7c_5d8acb795d819ab6653ebbd0a5056ca3.png

由于部分网站严格的反爬机制、再加上大量使用带来的计算压力,RSSHub 鼓励用户自建使用。但如果你也有自建 RSS 阅读器习惯、且部署 RSSHub 也只是为了自用而不打算与他人共享,完全可以本地部署 RSSHub 后不将其暴露至公网、直接在自建 RSS 阅读器上通过特殊字段访问到本地的 RSSHub。


Docker 部署 RSSHub


RSSHub 官方文档已有多种手段详细的 部署教程,本文只介绍流程较为简单的 Docker 部署方式。


安装 Docker 与 Docker Compose

参考 官方文档 安装 Docker:

# 使用官方一键安装脚本
sudo curl -fsSL https://get.docker.com | sh
# 如果是非 Root 账户,将当前账户添加到 "docker" 组
sudo usermod -aG docker <your-user>

随后安装 Docker 三剑客之一——Docker Compose,有它可以方便处理存在依赖关系的服务。即便没有依赖,将长长的 bash 命令换成 yaml 文件的格式传入也舒服多了,不是吗?

# 从 GitHub 下载到本地相应目录
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 赋予 Docker Compose 目录相应权限
sudo chmod +x /usr/local/bin/docker-compose

第一条代码中的 1.28.2 可以更换为任何你希望获取的 版本。


使用 Docker Compose 安装 RSSHub


在特定目录新建 Docker Compose 配置文件,并编辑。

# 新建 Docker Compose 配置文件
touch docker-compose.yml
# 编辑配置文件,反正我习惯用 Vim
vim docker-compose.yml
version: '3'
services:
    rsshub:
        image: diygod/rsshub
        restart: unless-stopped
        ports:
            - '1200:1200'
        environment:
            NODE_ENV: production
            CACHE_TYPE: redis
            REDIS_URL: 'redis://redis:6379/'
            PUPPETEER_WS_ENDPOINT: 'ws://browserless:3000'
        depends_on:
            - redis
            - browserless
    browserless:
        image: browserless/chrome:1.43-chrome-stable
        restart: unless-stopped
    redis:
        image: redis:alpine
        restart: unless-stopped
        volumes:
            - redis-data:/data
volumes:
    redis-data:

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


# 先前台执行观察输出
docker-compose up
# 确认无误后后台持续运行
docker-compose up -d

自建 RSS 阅读器中使用自建 RSSHub


这里有个前提,就是自建 RSS 阅读器与自建 RSSHub 需要在同一内网内,这样才可以方便地本地调用。若非服务器性能实在捉急,否则建议部署在同一服务器内。


不卖关子,一句话概括就是将 RSS 链接中的 rsshub.app 替换为 rsshub:1200(1200 为默认端口),后面的路由一致。若使用的是 HTTPS 请求,记得改回 HTTP 请求。


例如:


https://rsshub.app/twitter/user/iChrAlpha


就改为:


http://rsshub:1200/twitter/user/iChrAlpha


刷新源即可。


如果你从未接触过 RSSHub,可以参考 RSSHub 文档 - 开始食用 部分和路由部分。


举个例子,假如你想要订阅 ChrAlpha 的 Telegram Channel,地址为 https://t.me/s/ChrAlphaChannel,在 RSSHub 文档中找到关于 Telegram 的路由(位于「路由 => 社交媒体 => Telegram」)。

由于希望订阅的是频道,且通过 原链接 可知 :username 即为 ChrAlphaChannel。那么 RSS 订阅链接 便是 https://rsshub.app/telegram/channel/ChrAlphaChannel

如果你同样也是使用自建RSS阅读器、自建RSSHub的话,就将RSS订阅链接中的 rsshub.app替换为 rsshub:1200,最终就是 http://rsshub:1200/telegram/channel/ChrAlphaChannel

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
27天前
|
网络协议 Linux Shell
localhost 和 127.0.0.1 的区别
localhost 和 127.0.0.1 的区别
47 1
localhost 和 127.0.0.1 的区别
|
Linux 数据库
【Openstack】排错:Glance服务安装后HTTP 500解决
在搭建Openstack平台时,装完各个组件后发现了glance无法正常使用
2709 0
【Openstack】排错:Glance服务安装后HTTP 500解决
|
7月前
|
应用服务中间件 nginx
localhost和127.0.0.1的区别
【4月更文挑战第20天】
434 0
localhost和127.0.0.1的区别
|
7月前
|
安全 关系型数据库 MySQL
解决centos7.0安装mysql后出现access defind for user@'localhost'的错误
在使用yum 安装完mariadb, mariadb-server, mariadb-devel后
118 0
|
7月前
|
网络协议 安全 测试技术
localhost和127.0.0.1的区别是什么
与localhost不同的是,127.0.0.1是一个明确的IP地址,不受本地hosts文件或DNS设置的影响
368 2
|
7月前
|
安全 网络安全 数据库
localhost知识
localhost知识
577 0
|
Kubernetes Linux Docker
Kubernetes v1.22.1部署报错2: Get “http://localhost:10248/healthz“
Kubernetes v1.22.1部署报错2: Get “http://localhost:10248/healthz“
|
关系型数据库 MySQL Unix
nginx代理DB & ip限制
nginx代理DB & ip限制
300 0
|
网络协议 关系型数据库 MySQL
MySQL 8 管理端口admin_port默认是33062
admin_address: 用于指定管理员发起tcp连接的主机地址,可以是ipv4,ipv6, 或者Host name等等,但只能接受一个ip地址
364 0
|
应用服务中间件
关于 localhost 和网络的理解
关于 localhost 和网络的理解
关于 localhost 和网络的理解