本文重在 【 RSSHub 】 的部署流程,RSS 的介绍和具体使用请到:RSS 入门全面指南 – 聚合信息源 – 技焉洲 (vfly2.com)
适用系统:Debian 系发行版,包括 Ubuntu 和 Armbian,其他发行版按流程稍改命令一般也可。
走通预计时间:5 分钟
官方文档非常友好,推荐阅读以了解 RSSHub 的高级用法: https://docs.rsshub.app/
应该专门设置一个二级域名给它,这样改服务器的时候,只需要改域名解析,就不需要在 RSS 阅读器中改订阅地址了
安装 RSSHub
全复制并执行,一键创建工作目录并开放端口
myserve="RSSHub"
sudo ufw allow 1200/tcp comment $myserve && sudo ufw reload
mkdir -p ~/myserve/$myserve && cd ~/myserve/$myserve
根据注释自定义(这个其实也没什么要改的),然后执行,一键创建 docker-compose.yml 文件
cat > docker-compose.yml << EOF
---
version: '3'
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'
# ACCESS_KEY: ILoveRSSHub # 添加密码
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: rsshub_redis
restart: always
volumes:
- redis-data:/data
volumes:
redis-data:
EOF
迁移的话,直接重新走一遍安装流程就行,没有数据需要复制的
拉取容器镜像
docker compose pull
启动容器(这时就可以访问网页验证是否正常运行,通过 http://ip_addr_or_domain:1200
访问)
docker compose up -d
关闭容器
docker compose down
使用 RSSHub
RSSHub 生成的订阅源网址可以分为两部分:域名 + 路由
- 域名指向服务端,比如 AhFei 自建的域名部分是 http://rsshub.ahfei.blog:1200
- 路由则是内容地址,具体需要翻寻 官方文档
推荐浏览器上安装 RSSHub Rader 插件,自动识别当前网站有无 RSS 订阅源,不必再自己配置。
比如,我要订阅
- NASA 每日天文图片,在文档中,它的路由部分为
/nasa/apod
,那么订阅地址就是 http://rsshub.ahfei.blog:1200/nasa/apod - CNU 视觉联盟,在文档中,它的路由部分为
/cnu/selected
,那么订阅地址就是 http://rsshub.ahfei.blog:1200/cnu/selected
B 站个人动态
路由为 /bilibili/followings/dynamic/:uid
,用户动态需要 b 站登录后的 Cookie 值,所以只能自建,或者找熟人部署的用
获取你的 UID。进入主页,点自己头像,在进入的网页里,右下角【个人资料】处可以看到 UID
组合之后的订阅网址为: http://rsshub.ahfei.blog:1200/bilibili/followings/dynamic/27016853
获取 B 站 cookie:
-
推荐使用 edge 或 chrome 系浏览器
-
保证已经登陆 B 站账号,然后访问 https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=0&type=8
-
在网页任意位置,鼠标右键【检查】
-
进入 Network(网络) 页面,筛选框输入 dynamic_new,然后刷新网页,找到 dynamic_new,点击浏览
-
Cookie 那一大串字符串即是,都要复制
添加环境变量,变量名是 BILIBILI_COOKIE_{uid}
,变量值就是 Cookie,然后重启 Docker 即可
vim docker-compose.yml
---
version: '3'
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'
# 这里放 cookie。我删了一部分自己的 cookie,因此比实际的短一些
BILIBILI_COOKIE_27016853: "l=v; i-wanna-go-back=-1; buvid_fp_plain=undefined; LIVE_632AC59490-022040501-7XDfT9HnZ77UZd46FxN%2Bu5VjrKS%2B9oZEQ8%3D; CURRENT_FNVAL=4048; hit-new-style-dyn=1; CUR1b941990-ce11-11ed-bea4501e; hit-dyn-v2=1; b_ut=5; nostalgia_conf=-1; DedeUserID=27016853; DedeUserID__ckMd5=345f8; _uuid=B8367528-95105-E9109-210105-DDD106BDBB47B53620infoc3=78D92363-9EE6-1964-97EF-43FFA9BEBF9753659infoc; b_nut=1693le_web_push=DISABLE; header_theme_version=CLOSE; PVID=1; rpdid=|(k)Ym~l||~u0J'u~|JYY|)kk; home_feed_column=5; browser_resolution=1912-1004; CURRENT_QUALITY=80; fingerprint=5c06db99acf1c6b885055f26; buvid_fp=5c06d6abce367b99acf1c6b885055f26; FEED_LIVE_VERSI_WATCH_LATER; bp_video_offset_270152323602; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MDk3Mjc4OTcsImlhdCI6MTcwOTQ2ODYzNywicGx0IjotMX0.8nhyOclNcTXNZphNqkwuIWL-7Z3DzLXdcLK6U3pA0DA; bijJwNlV6ZlpZNndsaWExRHVlYnQ1cUQydnBYcnBhN0ZXeNDZ1Nsa3hZcjRzWlNMMXFXamwxcnh1SHlFOUxJb2REd1BhTTFKODZfYmRBIIEC; bili_jct=149250c6bc255da4c31976; b_lsid=6947EFC2_18E08CAD132"
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: rsshub_redis
restart: always
volumes:
- redis-data:/data
volumes:
redis-data:
原文链接: https://yanh.tech/2024/02/rsshub-installation-steps/
版权声明:本博客所有文章除特別声明外,均为 AhFei 原创,采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 技焉洲 (yanh.tech) 。
保持更新 ٩(•̤̀ᵕ•̤́๑)ᵒᵏᵎᵎᵎᵎ 清晰恒益的实用技能,欢迎使用 RSS 订阅,或在支持 ActivityPub 的平台关注 @vfly2tech@yanh.tech
接收新文章的推送,如果能留言互动就更好了。
可在 Telegram 群组 https://t.me/vfly2 交流依文章步骤遇到的问题。