MDM dapat dijalankan tanpa jendelanya dengan tiga cara:
- Baris perintah aplikasi itu sendiri, dengan sakelar yang sama seperti IDM: menyerahkan unduhan ke aplikasi yang sedang berjalan dari skrip, file batch, atau program lain.
misterdownloadmanager-cli, alat baris perintah terpisah: mengunduh file, video, dan torrent di terminal, dengan progres, tanpa aplikasi.- API otomatisasi: program lain mencantumkan unduhan aplikasi yang sedang berjalan (sebagai JSON) dan menjeda, memulai, menghapus, atau menghapusnya, melalui saluran lokal yang dilindungi token. Asisten AI menggunakannya melalui server MCP MDM: lihat Asisten AI.
Contoh-contoh menggunakan jalur Windows; di macOS dan Linux program-program memiliki nama yang sama tanpa .exe.
Baris perintah aplikasi
misterdownloadmanager.exe /d URL [/p folder] [/f name] [/a] [/n] [/s]
| Sakelar | Apa yang dilakukannya |
|---|---|
/d URL |
Alamat yang akan diunduh. |
/p folder |
Simpan di folder ini (jika tidak, folder kategori dari Opsi → Simpan ke). |
/f name |
Simpan dengan nama ini. |
/a |
Tambahkan ke antrean unduhan utama tanpa memulainya. |
/n |
Senyap: tidak ada jendela Info File Unduhan, unduhan dimulai (atau diantrekan, dengan /a) sekaligus. |
/s |
Mulai antrean unduhan utama. |
/exit |
Simpan dan tutup aplikasi yang sedang berjalan (penginstal menggunakannya sebelum peningkatan). |
file .torrent atau tautan magnet: |
Buka di Tambahkan torrent (apa yang diteruskan Windows saat MDM membuka torrent). |
Sakelar dapat dimulai dengan / atau -, dalam kasus apa pun. Jika MDM sedang berjalan, perintah akan diteruskan kepadanya; jika tidak, MDM akan dimulai dan melaksanakannya. Contoh:
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
Ini disertakan dengan setiap unduhan MDM, di samping aplikasi (penginstal menempatkannya di folder MDM). Ini berfungsi sendiri: aplikasi tidak perlu berjalan, kecuali untuk status dan api.
| Perintah | Apa yang dilakukannya |
|---|---|
get URL [-o folder\|file] [-c connections] [-H "Header: value"]... [--checksum hash] |
Mengunduh berkas dengan hingga 8 koneksi (-c, 1 hingga 128), menampilkan progres. Ctrl+C menjeda; resume melanjutkan. --checksum memeriksa berkas yang sudah selesai: hex MD5, SHA-1, SHA-256, SHA-512, atau CRC32, opsional diberi nama (sha256:…). |
resume file.mdm.json [-c connections] [-H ...] |
Lanjutkan unduhan yang dijeda atau rusak dari file .mdm.json di sampingnya. |
video-info URL |
Video apa yang ada di halaman (YouTube, Vimeo, ...), dan kualitas yang bisa dipilih. |
video-get URL [-f selector] [-o folder] |
Unduh video; -f mengambil pemilih kualitas dari video-info (b = file tunggal terbaik). |
install-ytdlp, install-ffmpeg |
Instal atau perbarui pembantu yang dibutuhkan video: yt-dlp (diperiksa terhadap kunci penandatanganannya) dan ffmpeg (Windows; di macOS dan Linux MDM menggunakan sistem). |
torrent-info SOURCE |
Nama torrent, file (bernomor) dan ukuran; SOURCE adalah tautan magnet atau file .torrent. |
torrent-get SOURCE [-o folder] [--files 0,2] |
Unduh torrent, atau hanya beberapa filenya. |
torrent-create PATH -o file.torrent |
Buat .torrent dari file atau folder (rekan menemukan melalui DHT). |
status |
Unduhan aplikasi yang sedang berjalan, sebagai JSON, dengan ID-nya (API otomatisasi harus aktif). |
pause ID..., start ID... |
Menjeda unduhan yang sedang berjalan, atau memulai (melanjutkan) unduhan yang berhenti, mengantre, atau gagal, di aplikasi yang sedang berjalan. |
remove ID..., delete ID... |
Menghapus unduhan dari daftar aplikasi yang sedang berjalan: remove menyimpan berkasnya, delete juga menghapusnya. Unduhan yang sedang berjalan dijeda terlebih dahulu (pause). |
api on, api off |
Menghidupkan atau mematikan API otomatisasi aplikasi yang sedang berjalan. |
misterdownloadmanager-cli help <command>menampilkan setiap opsi. Perintah yang gagal (aplikasi tidak berjalan, aplikasi menjawab dengan kesalahan, unduhan rusak) keluar dengan kode 1. Contoh:
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 untuk skrip dan program
Dengan --json (sebelum atau sesudah perintah), setiap perintah mencetak JSON alih-alih teks, satu objek per baris, untuk dibaca oleh skrip dan agen AI:
| Perintah | Cetak |
|---|---|
get, resume |
Satu baris {"event": "progress", "downloaded", "size", "speed", "connections", "segments"} setiap setengah detik, lalu {"event": "done", "path", "size", "seconds"}, atau {"event": "paused", "state"} setelah Ctrl+C (state adalah berkas yang diambil resume). |
video-get |
{"event": "progress", "downloaded", "size", "speed"}baris, lalu {"event": "done", "path"}. |
torrent-get |
{"event": "progress", "phase", "downloaded", "size", "speed", "peers", "peers_seen"}baris, lalu {"event": "done", "path", "size"}, atau {"event": "stopped", "downloaded", "seconds"} dengan --seconds. |
video-info |
{"title", "choices": [{"label", "format", "size"}]}; format dari pilihan adalah apa yang diambil 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 |
Jawaban aplikasi, yang sudah berupa JSON (lihat di bawah). |
Ukuran dalam bita (null saat tidak diketahui), kecepatan dalam bita per detik. Kegagalan mencetak {"error": "…"} dan keluar dengan kode 1. Contoh:
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 otomatisasi
Program lain dapat menanyakan aplikasi yang sedang berjalan apa yang sedang diunduh, dan menjeda, memulai, menghapus, atau menghapus unduhan. API mati secara default; hidupkan dengan misterdownloadmanager-cli api on (dan matikan dengan api off).
Cara program berkomunikasi dengan MDM
- Saat berjalan, MDM mendengarkan pada port
127.0.0.1(hanya komputer ini) dan menulis port serta token rahasia keipc.jsondi folder datanya: - Windows:%APPDATA%\misterdownloadmanager\ipc.json- macOS:~/Library/Application Support/misterdownloadmanager/ipc.json- Linux:~/.local/share/misterdownloadmanager/ipc.json- Salinan portabel:data\ipc.jsondi samping program.
Token berubah setiap kali dimulai; hanya program yang dapat membaca folder data Anda (milik Anda) yang dapat menggunakannya. 2. Sambungkan ke port tersebut dan kirim satu baris JSON: token dan bidang perintah, mis. {"token": "<token>", "query": "list"}. 3. MDM menjawab dengan satu baris: ok untuk perintah, atau objek JSON untuk pertanyaan.
Apa yang dipahami
Bidang (selain token) |
Jawaban |
|---|---|
{"query": "list"} |
Setiap unduhan dan kecepatan total: {"downloads": [{"id", "file", "url", "path", "status", "size", "downloaded", "speed", "added", "error"}], "speed": bytes per second}. status adalah Queued, Downloading, Stopped, Complete atau Error; size adalah null saat tidak diketahui; error (mengapa gagal) hanya ada untuk unduhan di Error. Hanya saat API aktif. |
{"action": "pause", "ids": [3, 4]} |
Bertindak pada unduhan berdasarkan id: "pause", "start", "remove" (berkas disimpan) atau "delete" (berkas juga dihapus). Menjawab {"done": [3], "skipped": [{"id": 4, "why": "not running"}]}; unduhan yang sedang berjalan harus dijeda sebelum dihapus. Hanya saat API aktif. |
{"api": true} / {"api": false} |
Menghidupkan atau mematikan API: {"api": true}. |
{"url": "https://…", "dir": "D:\\Files", "name": "a.zip", "silent": true} |
Menambahkan unduhan, seperti yang dilakukan /d /p /f /n pada baris perintah ("later": true adalah /a); ok. Juga dengan API mati, seperti baris perintah. |
{"start_queue": true} |
Memulai antrean unduhan utama; ok. |
Pertanyaan atau tindakan yang tidak diketahui dijawab {"error": "…"}, begitu juga pertanyaan saat API mati (kemudian dengan "code": "api-off", untuk program untuk memeriksa: teks kesalahan dapat berubah). Token yang salah dijawab denied.
Setiap permintaan dan jawaban dijelaskan, bidang demi bidang, dalam Skema JSON: automation-api.schema.json (juga di https://misterdownloadmanager.com/automation-api.schema.json). Ini dibuat dari kode yang dijawab aplikasi, sehingga tetap akurat; program dapat memeriksa apa yang mereka kirim dan baca terhadapnya, atau menghasilkan jenisnya darinya.
Contoh
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()
Python:
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"])
Untuk menambahkan unduhan, kirim {"token": "…", "url": "https://example.com/a.zip", "silent": true}.
Gratis, sumber terbuka, tanpa iklan, tanpa uji coba.
Unduh Mister Download Manager