Skip to content
rewget GitHub

Home / Use cases / CI & release mirroring

Continuous integration

CI & release mirroring

Stop CI from flaking when a shared runner IP gets a 403 fetching a dependency or release tarball.

The problem

CI runners share IP ranges that upstream sites increasingly rate-limit or fingerprint. A wget step that works on your laptop starts returning 403 or a CAPTCHA on the runner, and your pipeline goes red for reasons that have nothing to do with your code.

How rewget solves it

CI fetch step
$ rewget https://downloads.example/toolchain.tar.gz
[stage 1: wget] 429 Too Many Requests → escalating
[stage 2: rquest/firefox136] 200 OK

Questions

+ Will this hide real upstream failures in CI?

Only if you let it. Use --rewget-no-fallback on critical fetches so a genuine outage fails the job instead of escalating silently.

+ Does the cache persist between CI runs?

The per-domain cache has a seven-day TTL. Whether it survives between runs depends on whether your CI persists the rewget state directory; within a run it always applies.

Try it on your own blocked URL