Eight connections, one file
Hosts cap the socket, not you. Ranges are split as the transfer runs and every byte is written to its final offset. No part files, no merge.
Eight connections per file, exact resume after anything, streaming video to MP4, and a browser extension that hands links over with your cookies. One 28.9 MB file installs it.
ODM asks the server for the size, preallocates the file and splits it into ranges. Every connection writes to its own offset in the same file, so there is nothing to merge when it finishes, and a slow connection never sets the finishing time.
Hosts cap the socket, not you. Ranges are split as the transfer runs and every byte is written to its final offset. No part files, no merge.
Finished ranges are recorded as they land. Restart the app, the PC or the network and ODM continues from the byte it stopped at.
HLS playlists are fetched segment by segment and, with ffmpeg present, written out as one MP4.
Dark Windows app with a tray icon, save-as and progress dialogs, and finish actions: open, open folder, sleep, shut down.
The same list on localhost for the browser, and odm add, odm ls, odm pause for scripts.
Installs to your user folder. The same file uninstalls and keeps your download list unless told otherwise.
An 83 MiB file from dl.google.com with no server-side rate limit, one connection against eight, same machine, byte-identical output. Drawn to scale below.
Most servers throttle each connection rather than each person. Eight connections get eight times the cap.
TCP divides a busy bottleneck between flows, not users. Eight flows claim eight shares and each ramps up on its own.
An idle connection halves the largest remaining range and takes the tail, so a slow one keeps losing ground until the fast ones are done.
Window, web page, command line and browser extension all talk to the same ODM. Add a download in one place and it shows up in the others.
Dark, with a tray icon, save-as and progress dialogs, and finish actions from open folder to shut down.
The same list in any browser on this machine. Useful on a headless box or over remote desktop.
add, ls, pause, resume and rm for scripts and scheduled tasks. Output is plain text, one line per download.
Intercepts downloads in Chrome, Edge, Brave and Vivaldi and hands them over with your cookies. Video pages get a button.
When the browser starts a download the extension intercepts it and passes URL and cookies to ODM over native messaging. No network port is opened. Files behind a login download the way they would in the browser, only faster.
12:04:01.203 ext download intercepted ubuntu-24.04.1-desktop-amd64.iso 12:04:01.204 ext cookies attached 2 12:04:01.211 odm HEAD ok 5.8 GB ranges: yes 12:04:01.212 odm preallocated, 8 connections 12:04:01.240 odm c1 200 0-3 116 000 000 12:04:01.241 odm c2 206 3 116 000 000-5 800 000 000 12:04:03.902 odm c4 idle, split c1: takes 1 558 000 000- 12:04:07.115 odm 41.4 MB/s 40%
No. ODM installs to your user folder and registers the browser hook for your user only, so Windows never shows an elevation prompt. For unattended installs run ODM-Setup.exe -silent.
Nothing is lost. Every finished range is on disk at its final offset and recorded the moment it lands. The next time ODM runs, the transfer continues from the byte it stopped at.
Chrome, Edge, Brave and Vivaldi, over the browser's native-messaging channel. From any other browser, paste the link into ODM or use the command line.
Yes. The extension hands ODM the link together with the cookies the browser would have sent, so files behind a sign-in download the way they would in the browser, only faster.
Point ODM at an HLS playlist, or press the button the extension adds on video pages. Segments come down in parallel and, with ffmpeg installed, are written out as a single MP4.
No. It helps most on hosts that cap each socket and on busy links, which is most of them. A host that caps per user, or a line that is already saturated, shows a smaller gap. The 83 MiB test on this page had no server-side limit.
Yes, under the MIT license. The engine, the window, the extension and the setup program are all in one repository on GitHub, and releases are built there by a workflow from a tagged commit, so the ODM-Setup.exe you download is the one the public build produced.
Run the same ODM-Setup.exe again. It removes the app and the browser hook and keeps your download list unless you tell it not to.
Every release is built from a tagged commit by a workflow in the open, so the file you download is the one that build produced. All releases.
SHA256SUMS.txt covers the other three. Verify with sha256sum -c SHA256SUMS.txt.
ODM-Setup.exe installs to your user folder, registers the browser hook and offers the extension. The same file uninstalls.