开箱即用的rsshub搭建指南

无需公网 IP, 无需手动管理证书更新
本文采用的服务器为 debian12

注册 cloudflare 账号
控制面板添加你的域名 add site

开心的选择 0 元白嫖😎 cloudflare 大气

更改域名 NS 到 cloudflare
按照教程来，这里简略...

安装 cloudflare zero trust tunnel
https://one.dash.cloudflare.com/

依次选择 Access->Tunnels
按照文档进行安装

安装完成后选择 Public Hostname-> 添加你自己的域名
这里举个例子，添加自己的子域名

Http Header 带上完整子域名

安装 docker
Using apt (debian based)

Copy
# Add Docker's official GPG key:

apt-get update
apt-get install ca-certificates curl gnupg -y
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null

apt-get update

apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

其它平台请参考
https://www.docker.com/products/docker-desktop/

编写 docker-compose 文件
新建一个 rsshub 文件夹，打开，新建 docker-compose.yml
更改 ACCESS_KEY

Copy
services:
rsshub:
image: diygod/rsshub
container_name: "rsshub"
restart: always
ports:
- '1200:1200'
environment:
NODE_ENV: production
CACHE_TYPE: redis
REDIS_URL: 'redis://redis:6379/'
PUPPETEER_WS_ENDPOINT: 'ws://browserless:3000'
DEBUG_INFO: false
ALLOW_LOCALHOST: false
ACCESS_KEY: your_pass_key_here
depends_on:
- redis
- browserless
browserless:
image: browserless/chrome
container_name: "browserless"
restart: always
ulimits:
core:
hard: 0
soft: 0
redis:
image: redis:alpine
container_name: "redis"
restart: always
volumes:
- redis-data:/data
volumes:
redis-data:

保存，然后 docker compose up -d
服务启动了，打开你的域名，应该会显示 rsshub 默认页面

部署完成，后续使用自己的订阅源时使用 https://${你的域名}/${订阅路径}?key = 你的 ACCESS_KEY

进阶玩法:

使用雷池增加一层本机 waf

卸载本机的 nginx/apache/caddy 相关，释放 80 443 端口占用

安装雷池

Copy
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"

雷池管理页
https://localhost:9443/
ssh 映射服务器 9443 到本机就可以正常打开

雷池里添加 80 端口域名，回源

修改 Tunnels 里的端口到 80

雷池添加证书

雷池通用配置 -> 证书管理

雷池里添加 443 端口
使用证书
修改 Tunnels 里的端口到 443

到这里就可以使用 https 打开 rsshub 页面了，而经过你服务器的流量都是清洗后的流量，更安全

确认 https 没问题后打开 http2, 强制 https

记得设置雷池源 IP 获取方式，从 HttpHeader 中获取，填写 X-Forwarded-For

tunnel 设置启用 http2

到这里就设置 ok 了，由于雷池自带统计和防护，你可以对站点运行状态以及有没有被滥用有更多的了解