Mister Download Manager
  1. হোম
  2. সহায়তা
  3. কমান্ড লাইন এবং অটোমেশন

কমান্ড লাইন এবং অটোমেশন

MDM তার উইন্ডো ছাড়া তিনটি উপায়ে চালানো যেতে পারে:

  • অ্যাপের নিজস্ব কমান্ড লাইন, IDM-এর মতো একই সুইচ: একটি স্ক্রিপ্ট, একটি ব্যাচ ফাইল বা অন্য প্রোগ্রাম থেকে চলমান অ্যাপে একটি ডাউনলোড হস্তান্তর করুন।
  • misterdownloadmanager-cli, একটি পৃথক কমান্ড-লাইন টুল: অ্যাপ ছাড়া টার্মিনালে ফাইল, ভিডিও এবং টরেন্ট ডাউনলোড করুন, অগ্রগতি সহ।
  • অটোমেশন API: অন্যান্য প্রোগ্রাম চলমান অ্যাপের ডাউনলোডগুলি (JSON হিসাবে) তালিকাভুক্ত করে এবং সেগুলিকে একটি স্থানীয়, টোকেন-সুরক্ষিত চ্যানেলের মাধ্যমে বিরতি দেয়, শুরু করে, সরিয়ে দেয় বা মুছে ফেলে। AI অ্যাসিস্ট্যান্টরা MDM-এর MCP সার্ভারের মাধ্যমে এটি ব্যবহার করে: AI অ্যাসিস্ট্যান্ট দেখুন।

উদাহরণগুলিতে Windows-এর পাথ ব্যবহার করা হয়েছে; macOS এবং Linux-এ প্রোগ্রামগুলির একই নাম রয়েছে .exe ছাড়া।

অ্যাপের কমান্ড লাইন

misterdownloadmanager.exe /d URL [/p folder] [/f name] [/a] [/n] [/s]
সুইচ এটি কী করে
/d URL ডাউনলোড করার ঠিকানা।
/p folder এই ফোল্ডারে সংরক্ষণ করুন (অন্যথায় বিকল্প → এতে সংরক্ষণ করুন থেকে ক্যাটাগরির ফোল্ডার)।
/f name এই নামে সংরক্ষণ করুন।
/a এটি শুরু না করে প্রধান ডাউনলোড কিউতে যোগ করুন।
/n নীরব: কোনো ফাইল তথ্য ডাউনলোড করুন উইন্ডো নেই, ডাউনলোড অবিলম্বে শুরু হয় (বা /a সহ কিউতে রাখা হয়)।
/s প্রধান ডাউনলোড কিউ শুরু করুন।
/exit চলমান অ্যাপটি সংরক্ষণ করুন এবং বন্ধ করুন (আপগ্রেডের আগে ইনস্টলার এটি ব্যবহার করে)।
একটি .torrent ফাইল বা magnet: লিঙ্ক টরেন্ট যোগ করুন-এ এটি খুলুন (Windows যখন MDM টরেন্ট খোলে তখন এটি পাস করে)।

সুইচগুলি / বা - দিয়ে শুরু হতে পারে, যে কোনো ক্ষেত্রে। যদি MDM চলছে, কমান্ডটি সেখানে যায়; যদি না চলে, MDM শুরু হয় এবং এটি কার্যকর করে। উদাহরণস্বরূপ:

misterdownloadmanager.exe /d https://example.com/files/report.pdf /p D:\Reports /n
misterdownloadmanager.exe /d https://example.com/big.iso /a
misterdownloadmanager.exe /s

misterdownloadmanager-cli

এটি MDM-এর প্রতিটি ডাউনলোডের সাথে আসে, অ্যাপের পাশে (ইনস্টলার এটি MDM-এর ফোল্ডারে রাখে)। এটি নিজে কাজ করে: অ্যাপটি চালানোর প্রয়োজন নেই, status এবং api ছাড়া।

কমান্ড এটি কী করে
get URL [-o folder\|file] [-c connections] [-H "Header: value"]... [--checksum hash] 8টি পর্যন্ত কানেকশন (-c, 1 থেকে 128) ব্যবহার করে একটি ফাইল ডাউনলোড করুন, অগ্রগতি দেখানো হবে। Ctrl+C এটিকে থামিয়ে দেয়; resume চালিয়ে যায়। --checksum শেষ হওয়া ফাইলটি পরীক্ষা করে: হেক্স MD5, SHA-1, SHA-256, SHA-512 অথবা CRC32, ঐচ্ছিকভাবে নাম দেওয়া যায় (sha256:…)।
resume file.mdm.json [-c connections] [-H ...] এর পাশে থাকা .mdm.json ফাইল থেকে একটি বিরতিপ্রাপ্ত বা ভাঙা ডাউনলোড চালিয়ে যান।
video-info URL একটি পৃষ্ঠায় কী ভিডিও আছে (YouTube, Vimeo, ...), এবং বেছে নেওয়ার জন্য গুণমানগুলি।
video-get URL [-f selector] [-o folder] একটি ভিডিও ডাউনলোড করুন; -f video-info থেকে একটি গুণমানের নির্বাচক নেয় (b = সেরা একক ফাইল)।
install-ytdlp, install-ffmpeg ভিডিওগুলির জন্য প্রয়োজনীয় সহায়কগুলি ইনস্টল বা আপডেট করুন: yt-dlp (এর সাইনিং কী-এর বিরুদ্ধে যাচাই করা হয়) এবং ffmpeg (Windows; macOS এবং Linux-এ MDM সিস্টেমেরটি ব্যবহার করে)।
torrent-info SOURCE একটি টরেন্টের নাম, ফাইল (সংখ্যাযুক্ত) এবং আকার; SOURCE একটি ম্যাগনেট লিঙ্ক বা একটি .torrent ফাইল।
torrent-get SOURCE [-o folder] [--files 0,2] একটি টরেন্ট ডাউনলোড করুন, অথবা এর কিছু ফাইল ডাউনলোড করুন।
torrent-create PATH -o file.torrent একটি ফাইল বা ফোল্ডারের একটি .torrent তৈরি করুন (পিয়াররা DHT-এর মাধ্যমে এটি খুঁজে পায়)।
status চলমান অ্যাপের ডাউনলোডগুলি, JSON হিসাবে, তাদের আইডি সহ (অটোমেশন API চালু থাকতে হবে)।
pause ID..., start ID... চলমান অ্যাপে চালু ডাউনলোডগুলি বিরতি দিন, অথবা বন্ধ, সারিবদ্ধ বা ব্যর্থ ডাউনলোডগুলি শুরু (পুনরায় চালু) করুন।
remove ID..., delete ID... চলমান অ্যাপের তালিকা থেকে ডাউনলোডগুলি সরান: remove তাদের ফাইলগুলি রাখে, delete সেগুলিও মুছে ফেলে। একটি চলমান ডাউনলোড প্রথমে বিরতি দেওয়া হয় (pause)।
api on, api off চলমান অ্যাপের অটোমেশন API চালু বা বন্ধ করুন।

misterdownloadmanager-cli help <command>সব বিকল্প দেখায়। একটি কমান্ড ব্যর্থ হলে (অ্যাপটি চলছে না, এটি একটি ত্রুটি সহ উত্তর দেয়, একটি ডাউনলোড ভেঙে যায়) কোড 1 সহ প্রস্থান করে। উদাহরণস্বরূপ:

misterdownloadmanager-cli get https://example.com/big.iso -o D:\Downloads -c 16 --checksum sha256:9f86d0…
misterdownloadmanager-cli video-get "https://www.youtube.com/watch?v=aqz-KE-bpKQ" -f "b[height=720]"
misterdownloadmanager-cli torrent-get "magnet:?xt=urn:btih:…" --files 0

স্ক্রিপ্ট এবং প্রোগ্রামের জন্য JSON

--json (কমান্ডের আগে বা পরে) সহ, প্রতিটি কমান্ড টেক্সটের পরিবর্তে JSON প্রিন্ট করে, প্রতি লাইনে একটি করে অবজেক্ট, স্ক্রিপ্ট এবং AI এজেন্টদের পড়ার জন্য:

কমান্ড প্রিন্ট করে
get, resume প্রতি অর্ধ সেকেন্ডে একটি {"event": "progress", "downloaded", "size", "speed", "connections", "segments"} লাইন, তারপর {"event": "done", "path", "size", "seconds"}, অথবা {"event": "paused", "state"} এর পরে Ctrl+C (state হল ফাইল যা resume নেয়)।
video-get {"event": "progress", "downloaded", "size", "speed"}লাইন, তারপর {"event": "done", "path"}।
torrent-get {"event": "progress", "phase", "downloaded", "size", "speed", "peers", "peers_seen"}লাইন, তারপর {"event": "done", "path", "size"}, অথবা {"event": "stopped", "downloaded", "seconds"} সহ --seconds।
video-info {"title", "choices": [{"label", "format", "size"}]}; একটি পছন্দের format হল যা video-get -f নেয়।
torrent-info {"name", "info_hash", "size", "files": [{"index", "size", "path"}]}.
torrent-create {"info_hash", "path"}.
install-ytdlp, install-ffmpeg {"tool", "version", "path"}.
status, pause, start, remove, delete,api অ্যাপের উত্তর, যা ইতিমধ্যেই JSON (নীচে দেখুন)।

আকার বাইটে (null যখন অজানা), গতি বাইট প্রতি সেকেন্ডে। একটি ব্যর্থতা {"error": "…"} প্রিন্ট করে এবং কোড 1 সহ প্রস্থান করে। উদাহরণস্বরূপ:

misterdownloadmanager-cli --json get https://example.com/big.iso -o D:\Downloads
{"event":"progress","downloaded":4194304,"size":1073741824,"speed":52428800,"connections":8,"segments":8}
…
{"event":"done","path":"D:\\Downloads\\big.iso","size":1073741824,"seconds":20.4}

অটোমেশন API

অন্যান্য প্রোগ্রাম চলমান অ্যাপকে জিজ্ঞাসা করতে পারে যে এটি কী ডাউনলোড করছে, এবং ডাউনলোডগুলি বিরতি দিতে, শুরু করতে, সরাতে বা মুছে ফেলতে পারে। API ডিফল্টরূপে বন্ধ থাকে; এটি misterdownloadmanager-cli api on দিয়ে চালু করুন (এবং api off দিয়ে বন্ধ করুন)।

একটি প্রোগ্রাম MDM এর সাথে কীভাবে কথা বলে

  1. এটি চলার সময়, MDM 127.0.0.1 এর একটি পোর্টে (শুধুমাত্র এই কম্পিউটার) শোনে এবং তার ডেটা ফোল্ডারে ipc.json এ পোর্ট এবং একটি গোপন টোকেন লেখে: - Windows: %APPDATA%\misterdownloadmanager\ipc.json - macOS: ~/Library/Application Support/misterdownloadmanager/ipc.json - Linux: ~/.local/share/misterdownloadmanager/ipc.json - একটি পোর্টেবল কপি: প্রোগ্রামের পাশে data\ipc.json।

টোকেন প্রতিটি শুরুতে পরিবর্তিত হয়; শুধুমাত্র যে প্রোগ্রামগুলি আপনার ডেটা ফোল্ডার (আপনার) পড়তে পারে তারাই এটি ব্যবহার করতে পারে। 2. সেই পোর্টে সংযোগ করুন এবং JSON এর একটি লাইন পাঠান: টোকেন এবং কমান্ডের ক্ষেত্রগুলি, যেমন {"token": "<token>", "query": "list"}। 3. MDM একটি লাইন দিয়ে উত্তর দেয়: একটি কমান্ডের জন্য ok, অথবা একটি প্রশ্নের জন্য একটি JSON অবজেক্ট।

এটি কী বোঝে

ক্ষেত্র ( token ছাড়া) উত্তর
{"query": "list"} প্রতিটি ডাউনলোড এবং মোট গতি: {"downloads": [{"id", "file", "url", "path", "status", "size", "downloaded", "speed", "added", "error"}], "speed": bytes per second}। status হল Queued, Downloading, Stopped, Complete অথবা Error; size হল null যখন অজানা; error (কেন এটি ব্যর্থ হয়েছে) শুধুমাত্র Error এ একটি ডাউনলোডের জন্য থাকে। শুধুমাত্র যখন API চালু থাকে।
{"action": "pause", "ids": [3, 4]} আইডি দ্বারা ডাউনলোডগুলিতে কাজ করে: "pause", "start", "remove" (ফাইল রাখা হয়েছে) অথবা "delete" (ফাইলও মুছে ফেলা হয়েছে)। {"done": [3], "skipped": [{"id": 4, "why": "not running"}]} উত্তর দেয়; একটি চলমান ডাউনলোড সরানোর বা মুছে ফেলার আগে বিরতি দিতে হবে। শুধুমাত্র যখন API চালু থাকে।
{"api": true} / {"api": false} API চালু বা বন্ধ করে: {"api": true}।
{"url": "https://…", "dir": "D:\\Files", "name": "a.zip", "silent": true} একটি ডাউনলোড যোগ করে, যেমন কমান্ড লাইনের /d /p /f /n করে ("later": true হল /a); ok। API বন্ধ থাকলেও, কমান্ড লাইনের মতো।
{"start_queue": true} প্রধান ডাউনলোড সারি শুরু করে; ok।

একটি অজানা প্রশ্ন বা ক্রিয়ার উত্তর {"error": "…"} দেওয়া হয়, যেমন API বন্ধ থাকা অবস্থায় একটি প্রশ্নের উত্তর দেওয়া হয় (তখন "code": "api-off" সহ, প্রোগ্রামগুলির পরীক্ষা করার জন্য: ত্রুটির পাঠ্য পরিবর্তিত হতে পারে)। একটি ভুল টোকেনের উত্তর denied দেওয়া হয়।

প্রতিটি অনুরোধ এবং উত্তর ক্ষেত্র অনুসারে একটি JSON স্কিমাতে বর্ণিত আছে: automation-api.schema.json ( https://misterdownloadmanager.com/automation-api.schema.json এও পাওয়া যায়)। এটি অ্যাপ যে কোড দিয়ে উত্তর দেয় তা থেকে তৈরি করা হয়েছে, তাই এটি সঠিক থাকে; প্রোগ্রামগুলি এটি ব্যবহার করে যা তারা পাঠায় এবং পড়ে তা পরীক্ষা করতে পারে, অথবা এটি থেকে তাদের প্রকারগুলি তৈরি করতে পারে।

উদাহরণ

পাওয়ারশেল (Windows):

$ep = Get-Content "$env:APPDATA\misterdownloadmanager\ipc.json" | ConvertFrom-Json
$client = New-Object Net.Sockets.TcpClient("127.0.0.1", $ep.port)
$stream = $client.GetStream()
$writer = New-Object IO.StreamWriter($stream); $reader = New-Object IO.StreamReader($stream)
$writer.WriteLine((@{ token = $ep.token; query = "list" } | ConvertTo-Json -Compress))
$writer.Flush()
$reader.ReadLine() | ConvertFrom-Json | Select-Object -ExpandProperty downloads | Format-Table file, status, downloaded, size
$client.Close()

পাইথন:

import json, os, socket

ipc = os.path.join(os.environ["APPDATA"], "misterdownloadmanager", "ipc.json")  # see above elsewhere
ep = json.load(open(ipc))
with socket.create_connection(("127.0.0.1", ep["port"])) as s:
    s.sendall((json.dumps({"token": ep["token"], "query": "list"}) + "\n").encode())
    answer = json.loads(s.makefile().readline())
for d in answer["downloads"]:
    print(d["file"], d["status"], d["downloaded"], d["size"])

এর বদলে একটি ডাউনলোড যোগ করতে, {"token": "…", "url": "https://example.com/a.zip", "silent": true} পাঠান।

বিনামূল্যে, ওপেন সোর্স, কোনো বিজ্ঞাপন নেই, কোনো ট্রায়াল নেই।

Mister Download Manager ডাউনলোড করুন