Tag: go

1 post(s)

DLQ: a download queue for a home server

I run a small home server for the usual homelab things: backups, media, and the occasional "download this now and sort it out later" job. For years, the tool I reached for was JDownloader2. It is powerful, battle-tested, and solves a lot of real problems.

My setup, however, was always awkward. JDownloader2 ran in Docker on the server, and I controlled it through VNC in a browser. It worked, but it made simple tasks feel clumsy. Clipboard sharing was a two-hop problem, resizing the desktop UI inside a browser was never pleasant, mobile use was almost hopeless, and adding links from the CLI meant leaning on MyJDownloader with an online account. I did not want that for a box sitting in my rack.

At some point the shape of the problem became obvious: I did not need a download manager pretending to be a desktop app. I needed a small service that exposes a persistent queue.

So I built DLQ (Download Queue): a headless download-queue daemon and CLI, inspired by the part of JDownloader I actually needed, but designed for Docker, SSH, terminal use, and a home-server workflow. I also wanted a real excuse to learn Go and SvelteKit, so Go became the daemon/CLI language and SvelteKit became the optional web UI.

Project repo: github.com/Witriol/dlq-download-queue