DEV Community

Cover image for Open Download Manager: One Native GTK Queue for Files, Torrents, Video, and Website Mirrors on Linux
albilu
albilu

Posted on

Open Download Manager: One Native GTK Queue for Files, Torrents, Video, and Website Mirrors on Linux

Browser download queues top out fast. Real life is ISOs, torrents, playlists, full-site mirrors, flaky Wi-Fi, and rate limits — scattered across five CLI tools.

Open Download Manager (ODM) puts them in one native Linux queue: HTTP/FTP, BitTorrent/magnet/Metalink, video, and website mirrors, with pause/resume that survives restarts, proxy/Tor routing, scheduling, and batch automation.

Main window
One queue, four engines, live details.

Full user guide with screenshots: docs/wiki/Home.md.

Why another download manager?

  • One queue, proven engines. aria2 (HTTP/FTP/BitTorrent/Metalink) + yt-dlp (media) + HTTrack (mirrors) + curl fallback — instead of one narrow protocol.
  • Crash-safe. XDG settings, persistent history, aria2 session files, ordered events, auto-resume.
  • Private. Tor lifecycle + health, proxychains, proxy rotation on 403/429/5xx.
  • Automated. Clipboard polling, .torrent/.metalink folder watch, batch imports, weekly scheduler, checksum/AV/move/notify/shutdown actions.
  • Native. GTK4/Libadwaita via java-gi, tray/background mode, search/filter/detail tabs. .deb / .rpm / .pkg.tar.zst with bundled Java 25 runtime.

Everyday downloads

Hit +, paste a link or pick a .torrent, set folder and filename, Start. Pause/resume/reorder anytime; close the app mid-download and it resumes later.

New download

Queue controls, live search, status/category filters, and Files/Trackers/Peers/Sources tabs keep big lists manageable.

Video without browser gymnastics

Paste a page URL, Fetch info, pick format, subtitles (en,fr), playlists (1-3), cookies for logins, SponsorBlock — Download.

New media

Torrents + built-in search

Magnets, .torrent/.metalink, per-torrent file selection — plus Jackett-powered search that sends results straight to the queue.

Torrent search
Search ubuntu 24.04, tick two results, Download. No browser detour.

Offline websites

Mirror docs for travel or archiving: depth, scope, include/exclude (*.html *.css, skip */admin/*), cookies, then Start Scrape.

Website mirror

Privacy routing

Global or per-download: SOCKS5/HTTP proxy, proxychains, or Tor (127.0.0.1:9050) with verification, exit IP, and New Identity. Rotation kicks in on rate limits.

Network settings

Automation that pays off

Batch import

  • Clipboard monitoring (silent mode queues links without asking).
  • Folder watch for dropped descriptors.
  • Batch import lists/sequences, scheduler presets (night/weekend/business), completion pipeline.

Settings cover General/Network/Aria2/yt-dlp/HTTrack/Advanced plus tray and troubleshooting:

Settings

Under the hood

  • Java 25, Maven multi-module (core engine + odm-gtk4 UI), Jackson, Java-WebSocket, java.util.logging.
  • Core stays toolkit-independent; all UI updates marshal through one UiThread (GLib.idleAddOnce).
  • GtkBuilder .ui layouts with fail-fast widget lookup — ID mismatches break the build, not at runtime.
  • Docker-first dev: make build/compile/test/run/package (Xvfb, aria2, yt-dlp, httrack, tor, proxychains in-image). Surefire forks per class; tests hit real tools.
  • Installs: sudo apt install ./open-download-manager_*.deb / sudo rpm -i … / sudo pacman -U … — no system Java needed.

Try it

# Debian/Ubuntu
sudo apt install ./open-download-manager_*.deb
Enter fullscreen mode Exit fullscreen mode

Then open the app, set your download folder, and queue your first link. If something breaks, restart — it resumes.

Repo: odm-linux/open-download-manager · Guide: docs/wiki · Stack: aria2, yt-dlp, HTTrack, curl, Jackett, proxychains-ng, Tor, java-gi.

What would make you switch download managers — seeding controls, browser handoff, or something else? Tell me in the comments.

Top comments (0)