Skip to content
rewget GitHub

← Back home · Compare

rewget vs bare wget

GNU command-line download utility

rewget is a thin shim on top of wget. On sites that do not block, you literally get wget. The difference shows up on sites that do block — and these days that is more sites than it used to be.

Feature rewget bare wget Advantage
CLI shape Same as wget; all flags forwarded GNU wget canonical CLI Comparable
Behaviour when site does not block Plain wget output, byte for byte Plain wget output Comparable
Behaviour when site returns 403 / CAPTCHA Retries with browser TLS fingerprint; escalates to headless Chromium if needed Fails with the block rewget
Recursive download (--recursive / -r) Yes, via stage 1 wget Yes (canonical) Comparable
Resumable download (--continue / -c) Yes, via stage 1 wget Yes (canonical) Comparable
HTTP/2 support Yes, in stage 2 via rquest wget itself does not natively speak HTTP/2; wget2 does rewget
HTTP/3 support No No (wget); wget2 has experimental support Comparable
Single static binary CLI is one binary; daemon is a second binary that starts on demand Single binary bare wget
License MIT or Apache-2.0 (dual) GPLv3+ Comparable
Platform matrix Linux, macOS (per README badges) Linux, macOS, BSDs, Windows ports bare wget
Install Homebrew, npm, PyPI, cargo, install script Distro package manager, Homebrew Comparable
Per-domain fallback caching 7-day TTL, learns which stage works None rewget

Pick rewget when

  • You already use wget and your scripts hit 403 / CAPTCHA / 429 on sites a browser opens fine
  • You want the wget surface unchanged but with an automatic retry path when fingerprint blocks happen
  • You want per-domain caching so the slow path runs once and subsequent downloads are fast
  • You want browser fingerprint profiles distributed through signed updates, not silently fetched

Pick bare wget when

  • Every URL you hit responds to plain wget today, so the extra dependency buys you nothing
  • You are in an environment where a Chromium dependency for stage 3 is unacceptable
  • You need to run on a platform that rewget does not list in its release artifacts

Both, honestly.

Most production boxes have both wget and curl installed for a reason. rewget slots in next to them; alias wget=rewget for downloads, keep bare wget for the cases where it is the right shape.