2.7 KiB
2.7 KiB
#rsshub #youtube #http-proxy #https-proxy
实战笔记:本地部署 RSSHub 并获取 YouTube 订阅
一、 核心架构
- 宿主机:Ubuntu Server (
192.168.3.45)。 - 部署工具:Docker Compose。
- 关键组件:需要配置
YOUTUBE_KEY避开网页爬虫限制,并通过PROXY_URL实现容器内科学上网。
二、 核心步骤:申请 YouTube Data API Key
这是解决 YouTube 订阅最稳定的方案,每月有足够的免费额度供个人使用。
- 创建项目:
- 访问 Google Cloud Console。
- 点击顶部项目选择框,选择 "新建项目" (New Project),命名为
My-RSSHub。
- 启用 API:
- 在左侧导航栏选择 "API 和服务" > "库" (Library)。
- 搜索
YouTube Data API v3,点击进入并点击 "启用" (Enable)。
- 生成凭据 (Key):
- 回到 "API 和服务" > "凭据" (Credentials) 页面。
- 点击 "+ 创建凭据" > "API 密钥" (API Key)。
- 系统会弹出一个字符串(如
AIzaSy...),这就是你的YOUTUBE_KEY,请立即复制保存。
- (可选)设置限制:
- 为了安全,建议点击该 Key 进行编辑,在 "API 限制" 中选择 "限制密钥",并勾选
YouTube Data API v3。这样即使 Key 泄露,也只能用于 YouTube 抓取。
- 为了安全,建议点击该 Key 进行编辑,在 "API 限制" 中选择 "限制密钥",并勾选
三、 部署与配置
1. 编辑 docker-compose.yml
在你的 Ubuntu 宿主机上,确保环境变量包含以下内容: YAML
services:
rsshub:
image: diygod/rsshub
network_mode: host
environment:
- YOUTUBE_KEY=AIzaSyDWi_y8m2zJI8G-cOl4A8TWPBb9o2m_geU
- PORT=1200
- HTTP_PROXY=http://127.0.0.1:10808
- HTTPS_PROXY=http://127.0.0.1:10808
- NO_PROXY=localhost,127.0.0.1
volumes:
- /etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt:ro
restart: unless-stopped
2. 解决防火墙问题
如果局域网仍无法访问 192.168.3.45:1200,请在 Ubuntu 上运行:
sudo ufw allow 1200/tcp
四、 订阅转化与自动化思路
- URL 转换格式:
- 频道:
http://192.168.3.45:1200/youtube/channel/频道ID - 用户:
http://192.168.3.45:1200/youtube/user/用户名
- 频道:
五、 验证测试
配置完成后,重启容器:docker-compose up -d。
访问:http://192.168.3.45:1200/youtube/channel/UC4JX40jDee_tINbkjycV4Sg。
如果页面能正常显示 XML 列表且没有 fetch failed 错误,说明配置成功。
这个 API 申请流程通常几分钟就能搞定。你在 Google Cloud 控制台操作时,如果有哪个菜单找不到,随时告诉我。