Mister Download Manager
  1. 主页
  2. 帮助
  3. 在服务器上运行 MDM

在服务器上运行 MDM

在家庭服务器或 NAS(Docker、Unraid、任何 Linux 机器)上无窗口运行 Mister Download Manager,并从您的手机或浏览器向其发送下载任务:服务器会将文件下载到其自己的文件夹中,例如网络共享。

它与桌面版 MDM 相同:包括列表、分类、队列、计划程序、速度限制和种子。您可以通过远程控制页面(从网络上的任何手机或电脑)、指向它的浏览器扩展程序或其命令行来控制它。

新增:服务器模式是此版本的新功能。请告诉我们您的使用体验。

使用 Docker

从 MDM 源代码构建镜像(发布的镜像稍后推出):

git clone https://github.com/anefzaoui/misterdownloadmanager
cd misterdownloadmanager
docker build -t misterdownloadmanager .

首次构建时间较长(在小型服务器上可能长达一小时:整个程序作为一个整体进行优化)。镜像很小,大约 175 MB:包含 Debian 的精简基础、MDM 的两个程序以及用于检查下载的证书。它不需要桌面库:MDM 仅在打开窗口时才加载这些库,而服务器从不打开窗口。

然后运行它,并为其设置和下载分别指定一个文件夹。请先创建这两个文件夹,并确保它们属于 MDM 将运行的用户:Docker 为您创建的文件夹属于 root,MDM 无法使用它。

mkdir -p /srv/mdm-config /srv/downloads
docker run -d --name mdm --restart unless-stopped \
  -p 8463:8463 \
  -v /srv/mdm-config:/config \
  -v /srv/downloads:/downloads \
  --user "$(id -u):$(id -g)" \
  misterdownloadmanager
  • /config保留列表、设置、证书和已配对设备。
  • /downloads是文件存放的位置:每个分类都有其自己的子文件夹(Music、Video、Torrents…)。在此处挂载网络共享,即可直接下载到共享中。
  • --user:拥有这些文件夹的用户(MDM 不以特定用户身份运行)。

docker/compose.yml 使用 Docker Compose 实现相同功能。

配对您的手机

docker logs mdm显示要打开的地址,并且在没有设备配对时,显示一个带有二维码的配对码:

The remote control listens at: https://172.17.0.2:8463/
Its certificate's SHA-256 fingerprint: DE:26:7F:…
No device is paired yet. Open the address (or scan this) and enter the code 1037 1606 …

在容器内部,MDM 找到的地址是容器自身的地址:请提供您打开的地址,即带有您发布的端口的服务器地址,如-e MDM_REMOTE_URL=https://192.168.1.10:8463/所示,日志和二维码将显示该地址。然后按照从手机控制 MDM所述进行配对。如需获取另一个代码,随时可以:

docker exec mdm misterdownloadmanager-cli pair

要通过服务器名称(https://nas.local:8463/)打开页面,请为 MDM 提供该名称:-e MDM_REMOTE_HOSTS=nas.local(多个名称用逗号分隔)。其他名称将被拒绝,这样任何网页都无法通过其自己的名称访问 MDM。

在 Unraid 上

docker/unraid.xml 是一个模板:将其复制到闪存驱动器上的 /boot/config/plugins/dockerMan/templates-user/,然后选择 Docker → 添加容器 并选择 misterdownloadmanager。它将 /config 映射到 appdata,将 /downloads 映射到一个共享,端口为 8463,并以 nobody:users (99:100) 身份运行,正如 Unraid 的共享所期望的那样。镜像必须先在服务器上构建(如上所述),或者推送到您使用的注册表。如果容器日志显示某个文件夹属于其他用户,请将其一次性授予 nobody:users:chown -R 99:100 /mnt/user/appdata/misterdownloadmanager。

不使用 Docker

在任何安装了 MDM 的 Linux 机器上(.deb、.rpm、AppImage 或tar.gz):

misterdownloadmanager --headless --data ~/mdm-server --downloads /srv/downloads
标志 或变量 设置内容
--data <folder> MDM_DATA_DIR 列表、设置、证书和已配对设备
--downloads <folder> MDM_DOWNLOADS 下载文件的存放位置(每个分类的子文件夹)
--port <number> MDM_REMOTE_PORT 远程控制端口 (8463)
--listen <address> MDM_REMOTE_LISTEN 监听地址:除非指定,否则为所有本地网络地址
--hosts <names> MDM_REMOTE_HOSTS 除了其地址之外,页面可能通过其打开的名称
MDM_REMOTE_URL 您打开页面时显示的地址,与配对码一起显示

在此模式下,远程控制已开启(MDM_REMOTE=off将其关闭)。当系统停止它时(docker stop、systemd、Ctrl+C),它会干净地停止并保存其列表。它在 Windows 和 macOS 上也以相同的方式工作。

命令行与它通信,就像与桌面版 MDM 通信一样,使用相同的数据文件夹:MDM_DATA_DIR=~/mdm-server misterdownloadmanager-cli status(曾经是api on)、pair,并添加一个地址:misterdownloadmanager /d https://example.com/file.zip。

从浏览器发送下载

在浏览器扩展程序的菜单中,选择将下载发送到 → 另一个 Mister Download Manager(服务器):输入服务器地址,在该浏览器中打开一次以接受其证书,然后输入配对码(如pair所示)。扩展程序捕获的下载,以及链接上的使用 Mister Download Manager 下载,将发送到服务器而不是此电脑。浏览器的 Cookie 不会发送到服务器:需要您登录网站的下载仍将在此电脑上进行。

服务器不支持的功能

  • 视频页面 (yt-dlp) 和图片库需要其辅助程序,而镜像中不包含这些程序。
  • 不会打开任何窗口:需要提问的下载(重复文件、已存在的文件)将根据设置中的选择进行处理,或者不予添加。
  • 请勿在互联网上公开端口;请通过 VPN 访问您的家庭网络。

免费、开源、无广告、无试用版。

下载 Mister Download Manager