Skip to content

pelico/DDM3U8

Repository files navigation

DDM3U8

DDM3U8 是一个轻量的 Web M3U8 下载工具,基于 Flask 和 N_m3u8DL-RE。它提供网页任务管理、下载目录浏览、本地合并、任务状态轮询和基础鉴权,适合部署在 NAS 或家庭服务器上长期运行。

当前镜像路线:

  • 基础镜像:python:3.11-alpine
  • 合并工具:ffmpeg
  • 支持架构:linux/amd64linux/arm64linux/armv7l
架构 镜像标签 下载核心
amd64 / arm64 latest N_m3u8DL-RE
armv7l armv7l yt-dlp
image

功能

  • Web 页面提交 M3U8 下载任务
  • 支持 Basic Auth 访问保护
  • 支持并发下载数量限制
  • 下载任务状态自动刷新
  • 支持 /downloads 保存视频
  • 本地缓存合并工具
  • 容器重启后自动恢复任务

快速运行

amd64 / arm64 架构

docker pull ghcr.io/pelico/ddm3u8:latest

# 国内镜像加速
docker pull ghcr.nju.edu.cn/pelico/ddm3u8:latest
docker run -d \
  --name ddm3u8 \
  -p 8080:8080 \
  -v ./downloads:/downloads \
  -e TZ=Asia/Shanghai \
  -e WEB_USER=admin \
  -e WEB_PASS=admin \
  --restart unless-stopped \
  ghcr.io/pelico/ddm3u8:latest

armv7l 架构

docker pull ghcr.io/pelico/ddm3u8:armv7l

# 国内镜像加速
docker pull ghcr.nju.edu.cn/pelico/ddm3u8:armv7l
docker run -d \
  --name ddm3u8 \
  -p 8080:8080 \
  -v ./downloads:/downloads \
  -e TZ=Asia/Shanghai \
  -e MAX_DOWNLOADS=2 \
  -e WEB_USER=admin \
  -e WEB_PASS=admin \
  --restart unless-stopped \
  ghcr.io/pelico/ddm3u8:armv7l

armv7l 版本说明:使用 yt-dlp 替代 N_m3u8DL-RE 作为下载核心,功能与主版本一致。建议将 MAX_DOWNLOADS 设为 2 以适应 arm 设备性能。

浏览器访问:

http://你的服务器IP:8080/

如果设置了 WEB_USERWEB_PASS,浏览器会弹出登录框。

查看日志:

docker logs -f ddm3u8

环境变量

变量 默认值 说明
PORT 8080 Web 服务监听端口
MAX_DOWNLOADS 2 最大并发下载数
TZ Asia/Shanghai 容器时区
WEB_USER Web 登录用户名,留空则不启用鉴权
WEB_PASS Web 登录密码,留空则不启用鉴权
PUID 0 容器内运行用户 UID
PGID 0 容器内运行用户 GID

群晖上如果遇到下载目录权限问题,可以设置 PUIDPGID 为宿主机对应用户的 ID。

健康检查

基础健康检查:

curl -u admin:admin http://localhost:8080/health

服务就绪检查:

curl -u admin:admin http://localhost:8080/ready

/ready 会返回 ffmpeg、下载核心(N_m3u8DL-RE 或 yt-dlp)、下载目录、任务记录加载状态。

注意事项

  • vendor/ 里的两个压缩包必须上传到 GitHub,否则 GitHub Actions 构建会失败。
  • entrypoint.sh 必须保持 Linux LF 换行;Dockerfile 已在构建时自动去除 CRLF。
  • Flask 当前使用内置开发服务器,适合个人 NAS 和内网环境使用。
  • 不建议暴露到公网;如果必须公网访问,请放在反向代理后面并启用 HTTPS。

About

利用N_m3u8DL-RE、FFmpeg实现m3u8视频下载转换。带web界面。docker部署

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages