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 مگابایت: پایه سبک دبیان، دو برنامه 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 روی یک پیوند، سپس به جای این رایانه به سرور می‌روند. کوکی‌های مرورگر به سرور فرستاده نمی‌شوند: دانلودی که نیاز به ورود شما به یک سایت دارد، در همین رایانه باقی می‌ماند.

آنچه سرور انجام نمی‌دهد

  • صفحات ویدئو (yt-dlp) و گالری‌های تصویر به کمک‌کننده‌های خود نیاز دارند که تصویر شامل آن‌ها نمی‌شود.
  • هیچ پنجره‌ای باز نمی‌شود: دانلودی که سؤالی می‌پرسد (یک کپی، فایل‌های از قبل موجود) انتخابی را که در تنظیمات تعیین شده است، می‌گیرد یا اضافه نمی‌شود.
  • پورت را در اینترنت منتشر نکنید؛ در عوض از طریق VPN به شبکه خانگی خود دسترسی پیدا کنید.

رایگان، متن‌باز، بدون تبلیغات، بدون دوره آزمایشی.

بارگیری Mister Download Manager