利用VPS上搭建属于自己的YouTube视频下载器

791 字
4 分钟
利用VPS上搭建属于自己的YouTube视频下载器

前言#

有时候我们想保存一些 YouTube 上的视频,可能是教程、纪录片、或者喜欢的音乐现场。用网上那些下载网站吧,广告多、限速、还担心链接过两天就失效。研究了一圈发现,最靠谱的办法还是自己搭一个。

说实话一开始挺折腾的。试了好几个方案,要么动不动就报错下载不了,要么配置太复杂搞得人头大。后来找到了 MeTube 这个工具,界面干净,操作简单,贴个链接就能下载,用起来跟那些下载网站差不多,但它跑在你自己的服务器上,没人管你限你。

这篇文章就是把我踩过的坑、走对的路整理出来。你不用懂什么编程,只要有一台 VPS,会复制粘贴命令,就能跟着搭好。我尽量把每一步都写清楚,让你少走弯路。

⚠️ 以下教程全程在 Debian 12 系统 root 下进行

⚠️ 注意:需要墙外的 VPS

如果没有钱购买 GIA CN2 这类的专线,就可以套 CDN 作为加速。


一、界面展示#


二、Cloudflare 配置#

需要一个域名,并开启 CDN 小云朵,SSL 设置灵活,而 CDN 作为加速器,我所在的位置,晚高峰平均稳定 2.3MB/S


三、部署 MeTube#

3.1 更新系统#

Terminal window
apt update && apt upgrade -y

3.2 安装必要软件#

Terminal window
apt install -y curl nginx apache2-utils
curl -fsSL https://get.docker.com | sh

3.3 部署 MeTube#

创建一个文件用来存放下载后的视频:

Terminal window
mkdir -p /opt/metube/downloads
cd /opt/metube

执行以下命令后回车:

Terminal window
cat > docker-compose.yml << 'EOF'
services:
metube:
image: ghcr.io/alexta69/metube:latest
container_name: metube
restart: unless-stopped
ports:
- "127.0.0.1:8081:8081"
volumes:
- /opt/metube/downloads:/downloads
environment:
- TZ=Asia/Shanghai
- OUTPUT_TEMPLATE=%(id)s.%(ext)s
EOF

之后安装部署:

Terminal window
docker compose up -d

💡 设置每 4 小时删除一次下载到 VPS 里的视频,以防止磁盘占满

Terminal window
(crontab -l 2>/dev/null; echo "0 */4 * * * rm -rf /opt/metube/downloads/*") | crontab -

四、配置账号密码登录#

adminadmin123 换成你自己的,admin 为账号,admin123 为密码:

Terminal window
htpasswd -b -c /etc/nginx/.htpasswd admin admin123

💡 设置每一秒同一个 IP 地址每秒最多只能向 Nginx 发送 1 个请求,为了防止登录爆破

Terminal window
cat > /etc/nginx/conf.d/rate-limit.conf << 'EOF'
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;
EOF

禁止 IP 访问:

Terminal window
cat > /etc/nginx/sites-available/default << 'EOF'
server {
listen 80 default_server;
server_name _;
return 444;
}
EOF

设置仅允许通过域名访问 MeTube:

Terminal window
cat > /etc/nginx/sites-available/metube << 'EOF'
server {
listen 80;
server_name 填写自己的域名;
location / {
auth_basic "MeTube Access";
auth_basic_user_file /etc/nginx/.htpasswd;
limit_req zone=mylimit burst=5 nodelay;
proxy_pass http://127.0.0.1:8081;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
error_log /var/log/nginx/metube_error.log;
access_log /var/log/nginx/metube_access.log;
}
EOF

启动 Nginx 服务:

Terminal window
ln -sf /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default
ln -sf /etc/nginx/sites-available/metube /etc/nginx/sites-enabled/metube
nginx -t && systemctl reload nginx

五、Cookies 配置#

下载 YouTube 视频需要先获取 Cookies 信息。

5.1 安装浏览器插件#

在 Chrome 应用商店中下载 Get cookies.txt LOCALLY 插件。

5.2 设置插件#

设置 Get cookies.txt LOCALLY 在无痕模式下启用。

5.3 获取 cookies#

  1. 在无痕模式下打开 YouTube,并登录。
  2. 之后显示在这个插件中,点 Export As 下载 cookies.txt 文件。

5.4 上传 cookies#

点击 Advanced Options 之后有个 Upload Cookies,点击,把下载好的 cookies.txt 文件上传即可。

💡 可以通过浏览器翻译功能来翻译 MeTube 的界面

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

利用VPS上搭建属于自己的YouTube视频下载器
https://do73.com/posts/3/
作者
Do73
发布于
2026-05-16
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Do73
互联网上的一块自留地。
分类
标签
站点统计
文章
4
分类
1
标签
9
总字数
6,190
运行时长
0
最后活动
0 天前

文章目录