Skip to content

v0.2.0 — Progress

Latest

Choose a tag to compare

@hexlabelposition hexlabelposition released this 02 Oct 21:23
· 7 commits to main since this release
db17a7c

Progress reporting for gff — go fast fetch.

Features

  • Display a progress bar and percentage when the download size is known.
  • Show downloaded and expected file sizes.
  • Display average download speed and estimated remaining time.
  • Format sizes using binary units: KiB, MiB, and GiB.
  • Update progress on a single terminal line.
  • Report downloaded bytes when the total size is unknown.

Build from source

Requires Go 1.27.0 or newer.

git clone --branch v0.2.0 https://github.com/hexlabelposition/gff.git
cd gff
go build -o bin/gff ./cmd/gff

Usage

./bin/gff https://example.com/
./bin/gff version

Known limitations

Resume, retries, and concurrent downloads are planned.
Failed or interrupted downloads may leave incomplete files.

Progress output requires an ANSI-compatible terminal.
Redirected output contains terminal control sequences.
Ctrl+C may leave the progress line unfinished.

Validation

Automated tests cover progress calculations, formatting, callbacks,
known and unknown response sizes, empty responses, and progress line
completion after successful and failed downloads. CI checks pass.