仅在 localhost 中部署并使用 RSSHub
「便签格」是一个重新开始打理的主题,内容整体类似于少数派的「一日一技」,名字受便利贴使用哲学的启发。这里专注于分享特定技巧、发掘细节功能,篇幅往往不长。「便签格」既不像「技术向」那般关注原理、也不像「笔记本」那般详细记录,「便签格」只聚焦一个动作。
由于部分网站严格的反爬机制、再加上大量使用带来的计算压力,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