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: लिंक टॉरेंट जोड़ें में इसे खोलें (जब 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 से कैसे बात करता है

  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 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 डाउनलोड करें