Files
nexus/raw/Home Office/实战笔记:本地部署 RSSHub 并获取 YouTube 订阅.md

76 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#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 订阅最稳定的方案,每月有足够的免费额度供个人使用。
1. **创建项目**
- 访问 [Google Cloud Console](https://console.cloud.google.com/)。
- 点击顶部项目选择框,选择 **"新建项目" (New Project)**,命名为 `My-RSSHub`
2. **启用 API**
- 在左侧导航栏选择 **"API 和服务" > "库" (Library)**。
- 搜索 `YouTube Data API v3`,点击进入并点击 **"启用" (Enable)**。
3. **生成凭据 (Key)**
- 回到 **"API 和服务" > "凭据" (Credentials)** 页面。
- 点击 **"+ 创建凭据" > "API 密钥" (API Key)**。
- 系统会弹出一个字符串(如 `AIzaSy...`),这就是你的 `YOUTUBE_KEY`,请立即复制保存。
4. **(可选)设置限制**
- 为了安全,建议点击该 Key 进行编辑,在 "API 限制" 中选择 "限制密钥",并勾选 `YouTube Data API v3`。这样即使 Key 泄露,也只能用于 YouTube 抓取。
---
### 三、 部署与配置
#### 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 控制台操作时,如果有哪个菜单找不到,随时告诉我。