记录我的一些生活写照、无聊的牢骚、内心世界的活动 注册 | 登陆

youtube-dl服务器-简单Web管理下载常见在线视频的工具

youtube-dl服务器-简单Web管理下载常见在线视频的工具

程序可以通过简单的Web管理,替你下载youtube,bilibili,CNTV等在线网页视频,只要粘贴到管理界面中就可以替你下载,完了可以直接web下载到本地。
程序内核是youTube-dl和yt-dlp内核,只要这两个程序支持的都可以通过本系统下载,详细见官方介绍。
以上两者是youTube-dl是最早的,后来开发进度变慢,就有了yt-dlp这个活跃的开发分支。相对来说yt-dlp更新,支持的网站更多,功能更全。
Docker 命令行部署:
XML/HTML代码
  1. docker run -d --name youtube-dl –restart=always -p 8080:8080 -v $HOME/youtube-dl:/youtube-dl nbr23/youtube-dl-server:latest
  2. docker run -d --name youtube-dl –restart=always -p 8080:8080 -v $HOME/youtube-dl:/youtube-dl nbr23/youtube-dl-server:yt-dlp
  3. 注:youtube-dl-server:latest是调用youtube-dl内核,youtube-dl-server:yt-dlp是调用yt-dlp内核。
如果时有最新的yt-dlp内核,下载到 /opt/youtube-dl/目录,可以使用下面命令:
XML/HTML代码
  1. docker run -d --name youtube-dl –restart=always -p 8080:8080 -v /opt/youtube-dl:/youtube-dl nbr23/youtube-dl-server:yt-dlp
Docker Compose部署:
XML/HTML代码
  1. youtube-dl:
  2.     image: "nbr23/youtube-dl-server:latest"
  3.     volumes:
  4.       - $HOME/youtube-dl:/youtube-dl
  5.       - ./config.yml:/app_config/config.yml:ro # Overwrite the container's config file with your own configuration
  6.     restart: always
配置是通过项目根目录下的 config.yml 文件完成的。
可以通过设置环境来强制使用备用配置路径或文件路径 变量:YDL_CONFIG_PATH
export YDL_CONFIG_PATH=/var/local/youtube-dl-server/config.yml
在上述情况下,如果不存在,则将使用默认选项创建它。/var/local/youtube-dl-server/config.yml
export YDL_CONFIG_PATH=/var/local/youtube-dl-server/
在上述情况下,如果不存在,则也将使用默认选项创建它。/var/local/youtube-dl-server/config.yml
配置文件必须至少包含以下变量:
XML/HTML代码
  1. ydl_server:  
  2.   port: 8080  
  3.   host: 0.0.0.0  
  4.   metadata_db_path: '/youtube-dl/.ydl-metadata.db'  
  5.   
  6. ydl_options:  
  7.   output: '/youtube-dl/%(title)s [%(id)s].%(ext)s'  
  8.   cache-dir: '/youtube-dl/.cache'  
程序运行成功后,浏览器打开地址:http://ip:8080/
在网页可以选择下载的视频参数,Logs可以看下载日志,Finished可以看到下载完成的视频,可以下载到本地或者删除。
AllTube Download 另外一个代理下载的程序
Docker一键部署:
XML/HTML代码
  1. docker run -d --restart always --name alltube \
  2.   --env TITLE="My Alltube Site" \
  3.   --env CONVERT=ON \
  4.   --env STREAM=ON \
  5.   --env REMUX=ON \
  6.   --restart=always \
  7.   -p 80:80 dnomd343/alltube
Docker-compose.yaml
XML/HTML代码
  1. version: '3.3'
  2. services:
  3.     alltube:
  4.         restart: always
  5.         container_name: alltube
  6.         environment:
  7.             # 自己网站的title
  8.             - 'TITLE=My Alltube Site'
  9.             - CONVERT=ON
  10.             - STREAM=ON
  11.             - REMUX=ON
  12.         ports:
  13.             # 左侧端口号换成你服务器上未使用的端口号
  14.             - '24488:80'
  15.         image: dnomd343/alltube
启动命令:
XML/HTML代码
  1. docker-compose up -d
访问地址:http://ip  或者 http://ip:24488   具体端口看命令指定的是哪个。
youtube-dl server和AllTube Download区别再用前者可以离线下载,服务器下载好了,直接从服务器上下载回来。后者是代理下载,服务器不缓存文件,属于代理服务器性质的下载。
Rapidleech 离线下载程序
XML/HTML代码
  1. docker run \
  2. -d \
  3. -p 80:80
  4. --name=rapidleech \
  5. -v <your download location>:/var/www/html/files \
  6. solipsist01/rapidleech
XML/HTML代码
  1. docker run -d -p 80:80 --name=rapidleech -v /opt/down:/var/www/html/files  --restart unless-stopped solipsist01/rapidleech
记得修改目录属性777
XML/HTML代码
  1. chmod 777 /opt/down
部署后界面是英文,可以通过下载中文语言包和配置修改成中文界面:
XML/HTML代码
  1. docker exec -it rapidleech /bin/bash
  2. curl -o languages/zh-cn.php https://raw.githubusercontent.com/Hintay/rapidleech_cn/master/languages/zh-cn.php
  3. apt -y install vim
  4. vim configs/config.php
  5. 找到'default_language' => 'en',把en修改成zh-cn然后保存退出就可以实现网页汉化。
如果想去掉页面下面的 buy me a coffee 的图片捐赠广告,让页面更清爽,需要以下命令:
XML/HTML代码
  1. vi rl_init.php
XML/HTML代码
  1. <a href="https://www.buymeacoffee.com/xgorn" target="_blank"><img src="templates/neatblue/images/coffe.png" alt="Donate"></a><br>
找到上面的字符,删掉,保存就可以去掉捐赠广告。
本程序可以实现http离线下载文件到服务器,然后再从服务器下载到本地,如果需要支持bt磁力的功能,就需要自己搭建 Aria2 + AriaNg + Alist(或者其他文件列表程序)实现离线下载功能。

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):