Total Pageviews

Sunday, 24 May 2026

MyTube:开源自托管的视频下载器,一站式管理你的媒体库



在如今这个视频内容爆炸的时代,你是否有过这样的困扰——想看的视频散落在 YouTube、B站、Twitch 各个平台,想离线保存却苦于没有好工具?想在 NAS 上搭建私有媒体库,却又被复杂的部署流程劝退?
MyTube 项目,正是为解决这些痛点而生。这是一个完全开源、自托管的视频下载与管理平台,支持国内外主流视频网站,部署简单,功能丰富,上线不到一年已在 GitHub 斩获 910+ Stars,社区活跃,值得一看。

什么是 MyTube?

MyTube 是一款基于 TypeScript + React + Node.js 构建的自托管视频下载与播放工具。通过集成强大的 yt-dlp 引擎,它能够从以下平台下载视频:

    YouTube — 全球最大视频平台
    Bilibili(哔哩哔哩) — 国内二次元与学习内容重镇
    Twitch — 游戏直播首选
    MissAV — XX内容(合规使用)
    以及任何 yt-dlp 支持的网站

项目主页提供在线演示:https://mytube-demo.vercel.app(只读权限),部署方面支持 Docker 一键启动,对 NAS 用户格外友好。
核心功能一览
📥 视频下载与管理

    支持单个 URL 下载、批量添加下载队列、并行下载控制(可限制同时下载数量)
    下载完成后自动上传到云存储(OpenList / Alist)
    自动获取 YouTube / B站字幕文件
    支持上传本地视频文件,自动生成缩略图
    TMDB 元数据自动刮削:上传本地电影/剧集后,根据文件名自动匹配 TMDB 数据库,填充标题、简介、海报、导演、年份、评分等信息

📺 频道订阅与自动下载

    订阅 YouTube、B站、Twitch 频道,自动检测新内容并下载
    相当于给自己搭建了一个私有版 YouTube Premium,没有广告,没有审核

🎨 收藏与整理

    将视频归类到不同收藏夹(Collections),打造私人媒体库
    支持创建多个收藏夹,界面采用 MUI 组件库,简洁现代

🔐 安全与多用户

    密码登录保护 + 可选 Passkey(WebAuthn)无密码认证
    提供”访客用户”角色(只读),安全分享给朋友
    内置 Cloudflare Tunnel 支持,无需公网 IP 和端口转发即可远程访问
    三层管理员信任模型(Application / Container / Host),部署灵活

🌍 国际化与移动端

    支持 10+ 种语言:英语、中文、西班牙语、法语、德语、日语、韩语、阿拉伯语、葡萄牙语、俄语
    移动端界面优化,标签菜单友好

🤖 自动化与通知

    支持 Task Hooks:在下载任务的不同阶段(开始、成功、失败、取消)执行自定义 Shell 脚本,可深度集成到你的工作流
    Telegram 机器人通知:任务完成后即时推送消息
    提供 Chrome 浏览器扩展,直接在浏览器中一键下载任意支持站点的视频

技术栈解析

MyTube 的技术选型兼顾了工程规范与开发效率,亮点颇多:
层次     技术选型
后端运行     Node.js + TypeScript
Web 框架     Express.js
数据库     SQLite + Drizzle ORM
数据库迁移     自动迁移(Drizzle Kit)
测试     Vitest
前端框架     React 19 + TypeScript
构建工具     Vite
UI 组件库     Material-UI (MUI)
状态管理     React Context API
HTTP 客户端     Axios + React Query
路由     React Router v7

架构上采用经典的分层架构(Routes → Controllers → Services → Database),模块职责清晰,代码可维护性强。下载模块还设计了抽象基类,便于扩展新的平台支持。
部署有多简单?

项目提供 Docker 一键部署,一条命令即可跑起来:

docker run -d \
  --name mytube \
  -e MYTUBE_ADMIN_TRUST_LEVEL=container \
  -p 5551:5551 \
  ghcr.io/franklioxygen/mytube:latest

也可以使用 docker-compose 编排完整服务,包含 Cloudflare Tunnel 配置、Cloudflare R2/S3 存储集成等。项目文档详细,GitHub Actions 配置了 Lighthouse 性能测试和 Codacy 代码质量检测,持续保障交付质量。
适合哪些人?

    NAS 玩家:想在群晖、威联通上搭建私人媒体库
    技术爱好者:追求数据主权,不想依赖第三方平台
    离线学习者:批量下载课程、教程类视频,构建本地知识库
    隐私敏感用户:不想让平台追踪观看记录

小结

MyTube 真正做到了”开箱即用、功能完备、部署友好“。它将 yt-dlp 的强大能力与现代化的 Web 界面结合在一起,同时提供了订阅自动下载、云存储集成、Telegram 通知等实用功能。对于希望自建媒体中心的人来说,这是一个几乎不需要妥协的选择。

项目采用 MIT 许可证,代码完全开源,文档详细,GitHub 社区活跃,是近期难得的高质量开源项目。如果你正好有这方面的需求,不妨 clone 下来试试。

项目地址:https://github.com/franklioxygen/MyTube

No comments:

Post a Comment