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

Baris perintah dan otomatisasi

GDM can be driven without its window in three ways:

  • Baris perintah bawaan aplikasi, dengan opsi yang sama seperti IDM: teruskan 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.
  • The automation API: other programs list the running app's downloads (as JSON) and pause, start, remove or delete them, over a local, token-protected channel. AI assistants use it through GDM's MCP server: see AI assistants.

To run the whole app without a window, on a home server or a NAS, see Run GDM on a server (misterdownloadmanager --headless); to control it from a phone, Control GDM from your phone.

Contoh menggunakan jalur Windows. Di macOS dan Linux, nama programnya sama tanpa .exe.

Baris perintah aplikasi

misterdownloadmanager.exe /d URL [/p folder] [/f name] [/a] [/n] [/s]
Opsi Apa yang dilakukannya
/d URL Alamat yang akan diunduh.
/p folder Simpan di folder ini (jika tidak, gunakan folder kategori dari Opsi → Simpan ke).
/f name Simpan dengan nama ini.
/a Tambahkan ke antrean unduhan utama tanpa memulainya.
/n Tanpa jendela Info file unduhan, unduhan langsung dimulai (atau masuk antrean jika menggunakan /a).
/s Mulai antrean unduhan utama.
/exit Simpan dan tutup aplikasi yang sedang berjalan (penginstal menggunakannya sebelum pembaruan).
/startup Start in the notification area, the window hidden: what Launch GolinksPRO Download Manager on startup starts GDM with when you sign in. Where no notification area shows GDM's icon (some Linux desktops), GDM starts minimized. A running GDM stays as it is.
file .torrent atau tautan magnet: Open it in Add torrent (what Windows passes when GDM opens torrents).

Switches can start with / or -, in any case. If GDM is running, the command goes to it; if not, GDM starts and carries it out. For example:

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

It comes with every download of GDM, next to the app (the installer puts it in GDM's folder). It works on its own: the app needn't run, except for status and api.

Perintah Apa yang dilakukannya
get URL [-o folder\|file] [-c connections] [-H "Header: value"]... [--checksum hash] [--dns choice] [--adapter name] Unduh file dengan hingga 8 koneksi (-c, 1 hingga 128) dan tampilkan progres. Ctrl+C menjeda unduhan; resume melanjutkannya. --checksum memeriksa file yang selesai diunduh: MD5, SHA-1, SHA-256, SHA-512, atau CRC32 dalam format heksadesimal, dengan nama opsional (sha256:…). --dns memilih DNS: system (default); layanan dan cara meminta layanan tersebut, cloudflare-https, quad9-tls, google-plain, adguard-https, nextdns-tls; alamat server DNS, 9.9.9.9,149.112.112.112; atau alamat DNS-over-HTTPS. DNS sistem tidak akan digunakan sebagai alternatif. --adapter mengirim setiap koneksi melalui satu adaptor jaringan, berdasarkan nama (Ethernet, wg0) atau salah satu alamatnya. Jika adaptor tidak terhubung, tidak ada data yang dikirim dan unduhan gagal. Tautan dari host file yang didukung salah satu akun debrid Anda (Opsi → Akun) akan menggunakan akun tersebut, seperti di aplikasi. get menampilkan through Real-Debrid; --direct mengunduh alamat itu sendiri (Akun layanan debrid).
resume file.mdm.json [-c connections] [-H ...] [--direct] Lanjutkan unduhan yang dijeda atau gagal dari file .mdm.json di sebelahnya. Melalui akun debrid, seperti get: layanan memberikan tautan baru jika tautan lama kedaluwarsa; --direct melanjutkan unduhan dari alamat itu sendiri.
install-gallery-dl Instal atau perbarui gallery-dl untuk galeri gambar. Daftar checksum-nya diverifikasi dengan kunci penandatanganan pembuatnya, lalu programnya diverifikasi dengan daftar tersebut (Windows dan Linux x86-64; instal sendiri di sistem lain).
gallery-get URL [-o folder] [--limit N] [--adapter name] Unduh gambar dari galeri (kategori Wikimedia Commons, album Flickr, ...) ke folder bernama sesuai galeri tersebut di dalam -o. --limit membatasi jumlah gambar yang diunduh; gambar yang diambil adalah gambar pertama yang tercantum di situs. Jika dijalankan lagi, alat ini hanya mengambil gambar baru. --adapter mengirim koneksi gallery-dl melalui satu adaptor jaringan, seperti get.
video-info URL Video apa saja yang ada di halaman (YouTube, Vimeo, ...) dan pilihan kualitasnya.
playlist-info URL [--from N] [--count N] Video dari daftar putar atau saluran, satu video per baris sesuai urutan yang tercantum: nomor urut, durasi, judul, dan alamat.
playlist-get URL [-f selector] [-o folder] [--from N] [--count N] Unduh video dari daftar putar atau saluran satu per satu ke folder bernama sesuai daftar tersebut di dalam -o. -f menetapkan satu kualitas untuk semua video, seperti pada video-get (default: kualitas terbaik untuk setiap video; bv*[height<=720]+ba/b[height<=720] = hingga 720p; ba = audio asli; mp3:320, opus:, flac: seperti pada video-get).
video-get URL [-f selector] [-o folder] [--subs langs] [--auto-subs] [--embed-subs] [--adapter name] Unduh video; -f mengambil opsi kualitas dari video-info (b = satu file terbaik; ba = audio saja dalam format yang tersedia di situs, tanpa konversi; mp3:320, mp3:256, mp3:192, atau mp3:128 = audio dalam format MP3 dengan bitrate tersebut; mp3:0 = bitrate variabel terbaik; opus: = format Opus; flac: = format FLAC, tanpa kehilangan kualitas tetapi tidak lebih baik daripada audio dari situs; konversi memerlukan ffmpeg). --subs menyimpan subtitle di samping video: kode bahasa dari video-info (en,fr), atau all untuk semua subtitle yang disediakan pengunggah; --auto-subs menggunakan takarir otomatis dari situs; --embed-subs menyertakannya ke dalam video (memerlukan ffmpeg, MP4, atau MKV). --adapter mengirim koneksi yt-dlp (dan ffmpeg) melalui satu adaptor jaringan, seperti get. Jika adaptor tidak terhubung, unduhan tidak akan dimulai.
install-ytdlp, install-ffmpeg Install or update the helpers videos need: yt-dlp (checked against its signing key) and ffmpeg (Windows; on macOS and Linux GDM uses the system's).
torrent-info SOURCE Nama torrent, file (bernomor) dan ukuran; SOURCE adalah tautan magnet atau file .torrent.
torrent-get SOURCE [-o folder] [--files 0,2] [--use-existing] Mengunduh torrent, atau hanya beberapa file di dalamnya. Jika beberapa file sudah ada di folder, proses akan berhenti dan menampilkan namanya; --use-existing akan menggunakan file tersebut (file yang cocok dipertahankan, sisanya diunduh).
torrent-create PATH -o file.torrent Membuat .torrent dari file atau folder (peer dapat menemukannya melalui DHT).
status Unduhan aplikasi yang sedang berjalan, dalam format JSON, beserta 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 mempertahankan file unduhan, delete juga menghapusnya. Unduhan yang sedang berjalan dijeda terlebih dahulu (pause).
api on, api off Mengaktifkan atau menonaktifkan API otomatisasi aplikasi yang sedang berjalan.

misterdownloadmanager-cli help <command>menampilkan semua opsi. Perintah yang gagal (aplikasi tidak berjalan, aplikasi memberikan jawaban berupa kesalahan, unduhan gagal) 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, agar dapat dibaca oleh skrip dan agen AI:

Perintah Cetak
get, resume {"event": "through", "service"}pertama saat unduhan melalui akun debrid, lalu baris {"event": "progress", "downloaded", "size", "speed", "connections", "segments"} setiap setengah detik, kemudian {"event": "done", "path", "size", "seconds"}, atau {"event": "paused", "state"} setelah Ctrl+C (state adalah file yang diambil resume).
video-get {"event": "progress", "downloaded", "size", "speed"}baris, lalu {"event": "done", "path", "subtitles", "subtitle_problems"}: file subtitle yang disimpan di samping video dan bahasa yang ditolak situs ({"code", "name", "reason", "beside"}; beside: file tersebut berhasil diunduh pada percobaan kedua, di samping video, bukan di dalamnya).
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"}], "subtitles": [{"code", "name", "automatic"}]}; format pilihan adalah file yang diambil video-get -f, sedangkan code subtitle adalah file yang diambil --subs.
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 jika tidak diketahui), kecepatan dalam bita per detik. Jika terjadi kegagalan, akan dicetak {"error": "…"} dan proses 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 apa yang sedang diunduh oleh aplikasi yang berjalan, serta menjeda, memulai, menghapus dari daftar, atau menghapus unduhan. API nonaktif secara default; aktifkan dengan misterdownloadmanager-cli api on (dan nonaktifkan dengan api off).

How a program talks to GDM

  1. While it runs, GDM listens on a port of 127.0.0.1 (this computer only) and writes the port and a secret token to ipc.json in its data folder: - Windows: %APPDATA%\misterdownloadmanager\ipc.json - macOS: ~/Library/Application Support/misterdownloadmanager/ipc.json - Linux: ~/.local/share/misterdownloadmanager/ipc.json - A portable copy: data\ipc.json next to the program.

The token changes at every start; only programs that can read your data folder (yours) can use it. 2. Connect to that port and send one line of JSON: the token and the command's fields, e.g. {"token": "<token>", "query": "list"}. 3. GDM answers with one line: ok for a command, or a JSON object for a question.

Perintah yang didukung

Kolom (selain token) Jawaban
{"query": "list"} Setiap unduhan dan kecepatan total: {"downloads": [{"id", "file", "url", "path", "status", "size", "downloaded", "speed", "added", "category", "error"}], "speed": bytes per second, "queues": [{"name", "running", "ids"}], "categories": [{"key", "name"}], "free": bytes}. status adalah Queued, Downloading, Stopped, Complete, atau Error; size adalah null saat tidak diketahui; error (mengapa gagal) hanya ada untuk unduhan di Error; category adalah key dari kategori; free adalah ruang kosong tempat unduhan disimpan (null saat tidak diketahui). Hanya saat API aktif.
{"action": "pause", "ids": [3, 4]} Menjalankan tindakan pada unduhan berdasarkan ID: "pause", "start", "remove" (file dipertahankan) atau "delete" (file juga dihapus). Jawabannya {"done": [3], "skipped": [{"id": 4, "why": "not running"}]}; unduhan yang sedang berjalan harus dijeda sebelum dihapus dari daftar atau dihapus. Hanya saat API aktif.
{"action": "start_queue", "queue": "Main download queue"} Memulai (atau dengan "stop_queue", menghentikan) antrean dengan nama tersebut (nama dari queues daftar). Menjawab {"done": [], "skipped": []}, atau {"error": …, "code": "unknown-queue"}. Hanya saat API aktif.
{"api": true} / {"api": false} Mengaktifkan atau menonaktifkan 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. "category" (kunci dari categories daftar) menempatkannya di folder kategori tersebut alih-alih folder yang dipilih jenisnya; "queue" (nama antrean) adalah antrean tempat ia menunggu dengan "later". 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 masa uji coba.

Download GolinksPRO Download Manager