Mister Download Manager
  1. Главная
  2. Справка
  3. Запуск MDM на сервере

Запуск MDM на сервере

Запускайте Mister Download Manager на домашнем сервере или NAS (Docker, Unraid, любая машина Linux) без окна и отправляйте ему загрузки со своего телефона или браузера: сервер загружает их в свои папки, например, в сетевую папку.

Это тот же MDM, что и на рабочем столе: его список, категории, очереди, Планировщик, ограничения скорости и торренты. Вы управляете им с страницы удаленного управления (с любого телефона или компьютера в вашей сети), расширения браузера, настроенного на него, или его командной строки.

Новое: серверный режим появился в этой версии. Пожалуйста, сообщите нам, как он работает.

С Docker

Создайте образ из исходного кода MDM (опубликованный образ появится позже):

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

Первая сборка занимает много времени (до часа на небольшом сервере: вся программа оптимизирована как единое целое). Образ небольшой, около 175 МБ: минимальная база 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показывает адрес для открытия и, пока ни одно устройство не сопряжено, код сопряжения с QR-кодом:

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/, и журнал и QR-код покажут именно его. Затем выполните сопряжение, как описано в разделе Управление 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 → Add Container и misterdownloadmanager. Он сопоставляет /config с appdata, /downloads с общим ресурсом, порт 8463 и запускается от имени nobody:users (99:100), как того требуют общие ресурсы Unraid. Образ должен быть сначала собран (см. выше) на сервере или отправлен в используемый вами реестр. Если в журнале контейнера указано, что папка принадлежит другому пользователю, один раз передайте её nobody:users: chown -R 99:100 /mnt/user/appdata/misterdownloadmanager.

Без Docker

На любой машине Linux с установленным MDM (.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