Mister Download Manager
  1. Beranda
  2. Bantuan
  3. Baris perintah dan otomatisasi

Baris perintah dan otomatisasi

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

  1. Saat berjalan, MDM mendengarkan pada port 127.0.0.1 (hanya komputer ini) dan menulis port serta token rahasia ke ipc.json di folder datanya: - Windows: %APPDATA%\misterdownloadmanager\ipc.json - macOS: ~/Library/Application Support/misterdownloadmanager/ipc.json - Linux: ~/.local/share/misterdownloadmanager/ipc.json - Salinan portabel: data\ipc.json di 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