
#rsshub #youtube 
## 实战笔记：本地部署 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 控制台操作时，如果有哪个菜单找不到，随时告诉我。