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 এর সাথে কীভাবে কথা বলে
- এটি চলার সময়, 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 ডাউনলোড করুন