具备频道订阅、自动下载及本地化存储功能。UI 设计精美,支持收藏集分类管理。内置Cloudflare Tunnel支持,无需端口映射即可实现安全远程访问。支持Docker一键部署。
MyTube的功能特点(摘自项目文档)
视频下载:通过简单的 URL 输入下载 YouTube、Bilibili 和 MissAV 视频。
视频上传:直接上传本地视频文件到您的库,并自动生成缩略图。
Bilibili 支持:支持下载单个视频、多 P 视频以及整个合集/系列。
并行下载:支持队列下载,可同时追踪多个下载任务的进度。
批量下载:一次性添加多个视频链接到下载队列。
并发下载限制:设置同时下载的数量限制以管理带宽。
本地库:自动保存视频缩略图和元数据,提供丰富的浏览体验。
视频播放器:自定义播放器,支持播放/暂停、循环、快进/快退、全屏和调光控制。
字幕:自动下载 YouTube / Bilibili 默认语言字幕。
搜索功能:支持在本地库中搜索视频,或在线搜索 YouTube 视频。
收藏夹:创建自定义收藏夹以整理您的视频。
订阅功能:订阅您喜爱的频道,并在新视频发布时自动下载。
登录保护:通过密码登录页面保护您的应用。
分页功能:支持分页浏览,高效管理大量视频。
视频评分:使用 5 星评级系统为您的视频评分。
移动端优化:移动端友好的标签菜单和针对小屏幕优化的布局。
临时文件清理:直接从设置中清理临时下载文件以管理存储空间。
视图模式:在主页上切换收藏夹视图和视频视图。
Cookie 管理:支持上传 cookies.txt 以启用年龄限制或会员内容的下载。
yt-dlp 配置: 通过用户界面自定义全局 yt-dlp 参数、网络代理及其他高级设置。
访客模式:启用只读模式,允许查看视频但无法进行修改。非常适合与他人分享您的视频库。
云存储集成:下载后自动将视频和缩略图上传到云存储(OpenList/Alist)。
Cloudflare Tunnel 集成: 内置 Cloudflare Tunnel 支持,无需端口转发即可轻松将本地 MyTube 实例暴露到互联网。
安装Docker:
apt -y update
apt -y install curl
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
创建目录新建compose文件:
mkdir /opt/mytube && cd /opt/mytube && nano docker-compose.yml
写入如下内容:
services:
backend:
image: franklioxygen/mytube:backend-latest
container_name: mytube-backend
pull_policy: always
restart: unless-stopped
environment:
- PORT=5551
- MAX_FILE_SIZE=5000000000
volumes:
- ./uploads:/app/uploads
- ./data:/app/data
frontend:
image: franklioxygen/mytube:frontend-latest
container_name: mytube-frontend
pull_policy: always
restart: unless-stopped
ports:
- "5556:5556"
depends_on:
- backend
environment:
# 在大多数设置中,这些默认值都可以正常工作,不需要修改。
- VITE_API_URL=/api
- VITE_BACKEND_URL=
启动:
docker compose up -d
配置Ferron反向代理:
nano /etc/ferron.kdl
写入如下内容:
mytube.example.com {
proxy "http://127.0.0.1:5556/"
proxy_request_header_replace "Host" "{header:Host}"
}
管理员的默认密码是123,登录进去后请立即修改密码,并且关闭“允许重置密码”的功能,如果可以建议使用passkey登录.

如果遇到下载的视频分辨率太低,可以在后台自定义修改yt-dlp的配置:
-S res:2160
如果遇到下载速度慢,可以适当增加线程:
-N 15
project url: https://github.com/franklioxygen/MyTube
No comments:
Post a Comment