<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="youtube-dl服务器-简单Web管理下载常见在线视频的工具">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2023-12-08 12:57<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
youtube-dl服务器-简单Web管理下载常见在线视频的工具




Github：https://github.com/nbr23/youtube-dl-server


Dockerhub：https://hub.docker.com/r/nbr23/youtube-dl-server


程序可以通过简单的Web管理，替你下载youtube，bilibili，CNTV等在线网页视频，只要粘贴到管理界面中就可以替你下载，完了可以直接web下载到本地。


程序内核是youTube-dl和yt-dlp内核，只要这两个程序支持的都可以通过本系统下载，详细见官方介绍。


youtube-dl：https://github.com/ytdl-org/youtube-dl


yt-dlp：https://github.com/yt-dlp/yt-dlp


以上两者是youTube-dl是最早的，后来开发进度变慢，就有了yt-dlp这个活跃的开发分支。相对来说yt-dlp更新，支持的网站更多，功能更全。




Docker 命令行部署：




XML/HTML代码


    docker run -d --name youtube-dl &ndash;restart=always -p 8080:8080 -v $HOME/youtube-dl:/youtube-dl nbr23/youtube-dl-server:latest

    docker run -d --name youtube-dl &ndash;restart=always -p 8080:8080 -v $HOME/youtube-dl:/youtube-dl nbr23/youtube-dl-server:yt-dlp

    注：youtube-dl-server:latest是调用youtube-dl内核，youtube-dl-server:yt-dlp是调用yt-dlp内核。





如果时有最新的yt-dlp内核，下载到 /opt/youtube-dl/目录，可以使用下面命令：




XML/HTML代码


    docker run -d --name youtube-dl &ndash;restart=always -p 8080:8080 -v /opt/youtube-dl:/youtube-dl nbr23/youtube-dl-server:yt-dlp






Docker Compose部署：




XML/HTML代码


    youtube-dl:

        image: &quot;nbr23/youtube-dl-server:latest&quot;

        volumes:

          - $HOME/youtube-dl:/youtube-dl

          - ./config.yml:/app_config/config.yml:ro # Overwrite the container's config file with your own configuration

        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代码


    ydl_server:  

      port: 8080  

      host: 0.0.0.0  

      metadata_db_path: '/youtube-dl/.ydl-metadata.db'  

      

    ydl_options:  

      output: '/youtube-dl/%(title)s [%(id)s].%(ext)s'  

      cache-dir: '/youtube-dl/.cache'  





程序运行成功后，浏览器打开地址：http://ip:8080/


在网页可以选择下载的视频参数，Logs可以看下载日志，Finished可以看到下载完成的视频，可以下载到本地或者删除。


AllTube Download 另外一个代理下载的程序




GitHub官网：https://github.com/Rudloff/alltube


Docker镜像：https://hub.docker.com/r/dnomd343/alltube


Docker一键部署：






XML/HTML代码


    docker run -d --restart always --name alltube \

      --env TITLE=&quot;My Alltube Site&quot; \

      --env CONVERT=ON \

      --env STREAM=ON \

      --env REMUX=ON \

      --restart=always \

      -p 80:80 dnomd343/alltube




Docker-compose.yaml




XML/HTML代码


    version: '3.3'

    services:

        alltube:

            restart: always

            container_name: alltube

            environment:

                # 自己网站的title

                - 'TITLE=My Alltube Site'

                - CONVERT=ON

                - STREAM=ON

                - REMUX=ON

            ports:

                # 左侧端口号换成你服务器上未使用的端口号

                - '24488:80'

            image: dnomd343/alltube





启动命令：




XML/HTML代码


    docker-compose up -d







访问地址：http://ip  或者 http://ip:24488   具体端口看命令指定的是哪个。




youtube-dl server和AllTube Download区别再用前者可以离线下载，服务器下载好了，直接从服务器上下载回来。后者是代理下载，服务器不缓存文件，属于代理服务器性质的下载。


Rapidleech 离线下载程序




Github：https://github.com/PBhadoo/Rapidleech


Github：https://github.com/Th3-822/rapidleech


Github中文：https://github.com/Hintay/rapidleech_cn


Dockerhub：https://hub.docker.com/r/solipsist01/rapidleech


Docker一键部署：






XML/HTML代码


    docker run \

    -d \

    -p 80:80

    --name=rapidleech \

    -v &lt;your download location&gt;:/var/www/html/files \

    solipsist01/rapidleech





XML/HTML代码


    docker run -d -p 80:80 --name=rapidleech -v /opt/down:/var/www/html/files  --restart unless-stopped solipsist01/rapidleech





记得修改目录属性777




XML/HTML代码


    chmod 777 /opt/down






部署后界面是英文，可以通过下载中文语言包和配置修改成中文界面：




XML/HTML代码


    docker exec -it rapidleech /bin/bash

    curl -o languages/zh-cn.php https://raw.githubusercontent.com/Hintay/rapidleech_cn/master/languages/zh-cn.php

    apt -y install vim

    vim configs/config.php

    找到'default_language' =&gt; 'en',把en修改成zh-cn然后保存退出就可以实现网页汉化。





如果想去掉页面下面的 buy me a coffee 的图片捐赠广告，让页面更清爽，需要以下命令：




XML/HTML代码


    vi rl_init.php





XML/HTML代码


    &lt;a href=&quot;https://www.buymeacoffee.com/xgorn&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;templates/neatblue/images/coffe.png&quot; alt=&quot;Donate&quot;&gt;&lt;/a&gt;&lt;br&gt;




找到上面的字符，删掉，保存就可以去掉捐赠广告。

本程序可以实现http离线下载文件到服务器，然后再从服务器下载到本地，如果需要支持bt磁力的功能，就需要自己搭建 Aria2 + AriaNg + Alist（或者其他文件列表程序）实现离线下载功能。


</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
