在如今这个视频内容爆炸的时代,你是否有过这样的困扰——想看的视频散落在 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
看得透又看得远者prevail. ppt.cc/flUmLx ppt.cc/fqtgqx ppt.cc/fZsXUx ppt.cc/fhWnZx ppt.cc/fnrkVx ppt.cc/f2CBVx
ppt.cc/fKlBax ppt.cc/fwlgFx ppt.cc/fVjECx ppt.cc/fEnHsx ppt.cc/fRZTnx ppt.cc/fSZ3cx ppt.cc/fLOuCx ppt.cc/fE9Nux ppt.cc/fL5Kyx ppt.cc/f71Yqx tecmint.com linuxcool.com linux.die.net linux.it.net.cn ostechnix.com unix.com ubuntugeek.com runoob.com man.linuxde.net ppt.cc/fwpCex ppt.cc/fxcLIx ppt.cc/foX6Ux linuxprobe.com linuxtechi.com howtoforge.com linuxstory.org systutorials.com ghacks.net linuxopsys.com ppt.cc/ffAGfx ppt.cc/fJbezx ppt.cc/fNIQDx ppt.cc/fCSllx ppt.cc/fybDVx ppt.cc/fIMQxx
Total Pageviews
Sunday, 24 May 2026
MyTube:开源自托管的视频下载器,一站式管理你的媒体库
Labels:
nodejs
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment