YT 下载中心 · 部署与交接文档

> 部署日期:2026-09-02 · 服务器:va(甲骨文 VPS,aarch64 / Ubuntu 22.04,root@va.485494.xyz:35134,私钥 C:\Users\rui\.ssh\va) > 面板地址:https://yt.va.485494.xyz · 本地源码副本:D:\tools\yt_va_sync\server\

一、功能总览

模块说明
视频任务 (video)迁移自本地 d:\dl\ytb\update\yt-rss-dl.py。RSS 驱动,YouTube 最高画质 (bestvideo+bestaudio→mp4)、全字幕转 srt,B站走直接链接模式。跳过 Shorts 与关键字命中。
音频任务 (audio)迁移自本地 d:\dl\ytb\audios\yt-rss-dl-audios.py。播客 RSS enclosure / YouTube 频道音频,ffmpeg loudnorm (-10 LUFS) 转码 MP3。xyzrank 小宇宙热榜改用纯 JSON API(无需浏览器)。
Web 面板登录鉴权(HMAC-SHA256 Cookie)、运行状态、日志查看、立即运行、Feeds 增删改(自动抓标题)、Cookies 在线更新、Bark 设置与测试、本部署文档页。
Bark 通知Cookie 失效 / 需要登录 / 分辨率低于阈值 / Feed 解析失败 / 转码失败 / 任务崩溃 → 推送 https://bark.ihust.de/ba2HG5BN5saaYq5k6xfW27(fnos 自建 bark-server)。
Windows 同步本地 D:\tools\yt_va_sync\sync_local.py 定时拉取成品到 d:\dl\ytb\update\01_auto\d:\dl\ytb\audios\01_auto\校验完整后删除 va 上的文件释放空间。

二、目录结构(va)

/opt/yt-rss-dl/
├── common.py            # 共享库:配置/日志/锁/Bark/监控/feeds 管理
├── video_worker.py      # 视频任务(yt-rss-video.timer 每30分钟)
├── audio_worker.py      # 音频任务(yt-rss-audio.timer 每30分钟)
├── panel.py             # Web 面板(yt-rss-panel.service,127.0.0.1:8210)
├── DEPLOY.md            # 本文档(面板 /docs 页读取)
├── config.json          # 全局配置(bark、质量阈值、关键字等)
├── auth.json            # 面板账号(admin,SHA256 密码,0600)
├── bin/yt-dlp           # 自更新二进制(每24h检查一次)
├── youtube_cookies.txt  # YouTube cookies(0600,面板可更新)
├── bilibili_cookies.txt # B站 cookies(可选)
├── video/
│   ├── feeds.json       # 视频订阅源(面板管理)
│   ├── downloaded.txt   # yt-dlp 下载归档去重
│   ├── tmp/             # 下载中文件
│   └── sync/            # 成品暂存区(等 Windows 拉取,拉走即删)
└── audio/
    ├── feeds.json
    ├── downloaded.txt
    ├── raw/             # 原始音频(待转码)
    ├── tmp/             # 转码中
    └── sync/            # MP3 成品暂存区

三、systemd 服务与定时器

单元说明
yt-rss-video.service/.timer视频任务,OnCalendar *-*-* *:07/2:00(每2小时的第7分和第37分 ≈ 30分钟节奏)
yt-rss-audio.service/.timer音频任务,同节奏(第17/47分,与视频错开)
yt-rss-panel.service面板,Always 重启
bash
systemctl list-timers | grep yt-rss     # 查看下次触发
systemctl start yt-rss-video            # 手动立即运行
journalctl -u yt-rss-video -n 100       # 看服务级日志
tail -f /opt/yt-rss-dl/logs/video.log   # 任务日志(轮转5MB×3)
防重入:单实例 flock(上一轮没跑完自动跳过本轮);单轮 100 分钟硬时限,到期后未处理的 feed 下轮继续 —— 保证 30 分钟定时器不会堆叠。

四、域名 / HTTPS

五、登录凭据

六、Cookie 维护

1. YouTube cookie 失效时手机会收到「⚠️ 视频任务 Cookie 异常」推送。 2. Windows 浏览器(登录 youtube.com 后)用 *Get cookies.txt LOCALLY* 扩展导出 Netscape 格式。 3. 打开面板 → Cookies → 粘贴 → 保存;或 scp 覆盖 /opt/yt-rss-dl/youtube_cookies.txt。 4. yt-dlp 每 24 小时自动 -U 自更新,是绕过 YouTube 风控的第一道防线。

七、质量保障机制

八、Windows 同步端

九、常见运维

bash

改订阅源关键字/新增 feed → 直接用面板

查 cookie 告警上下文

grep -iE 'sign in|cookies' /opt/yt-rss-dl/logs/video.log | tail

清理卡死的临时文件

ls -la /opt/yt-rss-dl/video/tmp/ /opt/yt-rss-dl/audio/{raw,tmp}/

磁盘水位

df -h / && du -sh /opt/yt-rss-dl/*/sync

十、数据流

YouTube/B站/播客 RSS ──▶ va: video_worker/audio_worker (yt-dlp + ffmpeg)
                              │  成品落 /opt/yt-rss-dl/*/sync/
                              ▼
Windows 计划任务 sync_local.py ──SFTP 拉取──▶ d:\dl\ytb\{update,audios}\01_auto\
                              │  校验大小一致
                              ▼
                       删除 va 端文件(释放空间)
告警链路:worker 日志 ──▶ RunMonitor ──▶ Bark(App)
← 返回控制台