I run a small home server for the usual homelab stuff: backups, media, and the occasional “I’ll download this and sort it out later”. For years, the tool I reached for was JDownloader2. It’s powerful, battle-tested, and it solves a lot of real problems.
My setup, however, was always a bit silly: JDownloader2 ran in Docker on the server, and I controlled it through VNC in a browser. It worked, but it kept getting in the way in small, annoying ways. Clipboard sharing was a two-hop problem (into the browser’s VNC client, then into the remote desktop, then into JD2). Resizing the desktop UI inside a browser never felt stable. On mobile it was close to unusable. And there wasn’t a clean way to add links from the CLI without leaning on MyJDownloader (online service + account), which I didn’t want for a box sitting in my rack.
At some point it became obvious I didn’t need a “download manager as a desktop app”. I needed a small service that exposes a queue.
So I built DLQ (Download Queue): a minimal headless download-queue daemon + CLI, inspired by JDownloader’s core idea, but designed for Docker and terminal use. And, honestly, I also wanted an excuse to learn Go and SvelteKit, so I picked them for the backend/CLI and the optional UI.
Project repo: github.com/Witriol/dlq-download-queue