仅在 localhost 中部署并使用 RSSHub

2021-09-08 11:04:48 浏览数 (1)

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

Docker 部署 RSSHub

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

安装 Docker 与 Docker Compose

参考 官方文档 安装 Docker:

代码语言:javascript复制
# 使用官方一键安装脚本
sudo curl -fsSL https://get.docker.com | sh

# 如果是非 Root 账户,将当前账户添加到 "docker" 组
sudo usermod -aG docker <your-user>

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

代码语言:javascript复制
# 从 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 配置文件,并编辑。

代码语言:javascript复制
# 新建 Docker Compose 配置文件
touch docker-compose.yml

# 编辑配置文件,反正我习惯用 Vim
vim docker-compose.yml
代码语言:javascript复制
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 保存退出后,可先前台执行观察输出,若确认无误后便可置于后台持续运行。

代码语言:javascript复制
# 先前台执行观察输出
docker-compose up

# 确认无误后后台持续运行
docker-compose up -d

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

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

不卖关子,一句话概括就是将 RSS 链接中的 rsshub.app 替换为 rsshub:12001200 为默认端口),后面的路由一致。若使用的是 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

0 人点赞