Smart Download Manager

GrabFlow

One big file, several connections, and a resume that won't corrupt it.

Free right now — no account, no card

Get GrabFlow free Windows & Mac · one file, nothing to install

Preview

1 interface design, then a screenshot of it running. Drag, scroll or use the arrows.

Interface design GrabFlow, 1 of 1
Screenshot GrabFlow running on Windows today

Free while we’re in preview

Get GrabFlow

One big file, several connections, and a resume that won't corrupt it.

The Mac button is for Apple Silicon. On an older Intel Mac, get this one instead.

One file, both ways. Double-click it for the window. Run the same file from a command prompt with arguments and it behaves as the command-line tool, because the engine is inside it. Nothing else to download and nothing to keep beside it.

Early preview. The window has been built and run, but not yet on a real Windows PC or Mac, so expect rough edges. The engine underneath it is fully tested.

  • One file — no installer
  • Reaches only what you point it at
  • Source code published below

Free while in preview. It isn’t signed yet, so Windows or macOS will ask you to confirm the first time you open it. At launch, GrabFlow is included in every plan along with the rest of the range.

For the single large download

Not a queue and not a batch. One URL, one file, done properly. --segments 8 splits the transfer across parallel range requests when the server genuinely supports them.

It tests instead of trusting the header

Plenty of servers omit Accept-Ranges and honour Range anyway, and a few advertise it and ignore it. GrabFlow sends a real Range: bytes=0-0 request and looks for a 206 response. Only then does it enable segments or resume. If the server answers 200 and hands over the whole file, it says so and downloads as a single stream.

Resume, carefully

--resume continues from the current size of the existing .part file, but only where ranges genuinely work. Where they don’t, it tells you and restarts rather than stitching together a corrupt file. Resume and segments aren’t combined in this build: a resume always falls back to a single stream, and that’s a stated simplification, not an accident.

The .part convention

Everything is written to <outfile>.part and renamed only once the size matches and the --sha256 you supplied checks out. A file appearing at the final name means it finished. A hash mismatch leaves the .part behind, prints both hashes and exits non-zero.

Reading on the job itself

Advanced & technical details Command-line builds, source code, checksums and a recorded session — for developers and IT teams

A working CLI prototype of the download engine: segmented parallel downloads over HTTP Range, single-stream resume, and mandatory post-download SHA-256 verification — a corrupted or interrupted download never lands at the final filename. Browser-capture integration and auto-unpack need a browser extension and are on the roadmap.

Naming status

Working name only — brand verdict **AVOID** (Very High). Collision: GrabFlow — active Shopify/Edge software, including a video downloader. Rename completely; do not market this name.

What it draws on

Existing paid software whose best ideas shaped this program: Internet Download Manager, WinRAR, Bandizip Professional, NetLimiter.

Command line

There is nothing extra to install. The program you download is the command-line tool as well: give it arguments instead of double-clicking it and it runs as one, with its output on your terminal. The standalone builds below are the same engine on its own, for machines where you would rather not ship a window at all.

grabflow - segmented, resumable HTTP downloader (GrabFlow CLI prototype)

Usage:
  grabflow get <url> -o <outfile> [--segments N] [--sha256 EXPECTED_HASH] [--resume] [--timeout 30s]
  grabflow help
  grabflow version

Commands:
  get      Download a file, optionally in parallel segments, with resume
           support and post-download SHA-256 verification.

Flags for "get":
  -o FILE            Output file path (required)
  --segments N        Number of parallel range-based segments (default 1)
  --sha256 HASH       Expected SHA-256 hex digest to verify after download
  --resume            Resume from an existing <outfile>.part if possible
  --timeout DURATION  Per-HTTP-request timeout (default 30s)

Examples:
  grabflow get https://example.com/file.iso -o file.iso --segments 8
  grabflow get https://example.com/file.iso -o file.iso --resume
  grabflow get https://example.com/file.iso -o file.iso --sha256 abcd1234...

Recorded from the shipped binary, not written by hand.

Source

Every file the program is built from:

console.go · console_test.go · guided.go · main.go

SHA-256 checksums · build instructions & scope notes · full build plan