← 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.