4

仅在 localhost 中部署并使用 RSSHub

 2 years ago
source link: https://blog.ichr.me/post/localhost-docker-rsshub/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

「便签格」是一个重新开始打理的主题,内容整体类似于少数派的「一日一技」,名字受便利贴使用哲学的启发。这里专注于分享特定技巧、发掘细节功能,篇幅往往不长。「便签格」既不像「技术向」那般关注原理、也不像「笔记本」那般详细记录,「便签格」只聚焦一个动作。

由于部分网站严格的反爬机制、再加上大量使用带来的计算压力,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: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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK