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: लिंक |
टॉरेंट जोड़ें में इसे खोलें (जब MDM टॉरेंट खोलता है तो Windows यही पास करता है)। |
स्विच / या - से शुरू हो सकते हैं, किसी भी स्थिति में। यदि 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 Schema में किया गया है: automation-api.schema.json (जो https://misterdownloadmanager.com/automation-api.schema.json पर भी है)। यह उस कोड से बना है जिसका ऐप जवाब देता है, इसलिए यह सटीक रहता है; प्रोग्राम इसके खिलाफ जो भेजते और पढ़ते हैं उसकी जाँच कर सकते हैं, या इससे अपने प्रकार उत्पन्न कर सकते हैं।
उदाहरण
PowerShell (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 डाउनलोड करें