静看光阴荏苒
不管不顾不问不说也不念

MyTube:您的自托管YouTube,支持MissAV下载

MyTube是一个支持YouTube、Bilibili、MissAV及yt-dlp站点的自托管视频下载器与播放器。具备频道订阅、自动下载及本地化存储功能。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

效果:

赞(0)
未经允许不得转载:荒岛 » MyTube:您的自托管YouTube,支持MissAV下载
分享到: 更多 (0)

评论 5

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    你好博主,谢谢分享搭建笔记。请教一下,可以帮忙附上一份完整的yt-dlp 配置内容么(播放下载4k,多线程15,设置好http代理)?
    这边修改过,但实测下载B站最高分辨率4k的视频,下载后分辨率是480P的,然后下载youtube视频提示出错“yt-dlp process exited with code 1”,多谢!

    荒岛6661天前 Google Chrome 143.0.0.0 Google Chrome 143.0.0.0 Mac OS X  10.15.7 Mac OS X 10.15.7回复
    • 你好,下载4k和多线程15在yt-dlp里面的配置就是:-S res:2160和-N 15。我刚才特地试了下socks5代理,yt-dlp的配置项是:–proxy socks5://172.26.0.1:40000
      我使用的是warp提供的socks5,linux安装见:https://pkg.cloudflareclient.com/#debian。
      设置好后backend容器的日志可以看到yt-dlp已经使用socks5代理了:Executing yt-dlp command: yt-dlp https://xxxx/playlist.m3u8 –proxy socks5://172.26.0.1:40000 –output /app/uploads/videos/xxxx.mp4

      LALA23小时前 Google Chrome 143.0.0.0 Google Chrome 143.0.0.0 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 我使用netcup的VPS可以直接下载youtube 4k视频,不需要设置代理,但是有限制,短时间内不能下载多个,否则会触发429。相反我设置了warp代理后就不能下载了,提示让“登录证明不是bot”,然后yt-dlp就会出现你说的yt-dlp process exited with code 1。这应该是warp的ip太“脏”了。
      最好的解决办法是在mytube上传你自己的youtube账号cookie来下载。在chrome浏览器安装“Get cookies.txt LOCALLY”扩展可以获取你的cookie。但是建议别用自己重要的google账号,这可能会导致账号被ban。

      LALA23小时前 Google Chrome 143.0.0.0 Google Chrome 143.0.0.0 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • b站我还没下载过视频,我现在测试看下,估计也是要cookie一类的东西= =

      LALA23小时前 Google Chrome 143.0.0.0 Google Chrome 143.0.0.0 Windows 10 x64 Edition Windows 10 x64 Edition回复
      • 好的,感谢博主的热心回答,好人一生平安!

        荒岛66623小时前 Google Chrome 143.0.0.0 Google Chrome 143.0.0.0 Mac OS X  10.15.7 Mac OS X 10.15.7回复

分享创造快乐

广告合作资源投稿