Email me

Dev · · 6 min read · Matt Busel

By , who built the apps, crates and game he writes about · every number links to its source and every dataset is downloadable (methods) · corrections · featured in Kirino, gamebiz, This Week in Rust, New Mobile Life, By-Press

Filed under Rust

Offline Rust builds: 17,527 downloads, almost nobody is shutdown-ready

Offline Rust builds: 17,527 downloads, almost nobody is shutdown-ready
On this page · 9 sections
  1. Key numbers
  2. The question nobody asks until the network dies
  3. Why Rust is extra exposed
  4. By the numbers: the tools people actually use
  5. Follow the money: who wins when the internet stays up
  6. What breaks first, in order
  7. The demand is already moving
  8. What this means for you: build the offline path in one afternoon
  9. Sources

Short answer: You can build Rust with zero internet, but only if you vendored your crates and mirrored your toolchain before the cable got cut. Our crates.io pull on Oct 26 2026 shows the six tools that do this were downloaded 17,527 times in 90 days, while cargo-chef, a tool that assumes the internet is always there, was downloaded 1,218,032 times. That is a 69 to 1 bet that the network never goes away.

TL;DR: Iran ran an 88-day national internet blackout in 2026, and its datacenters still had no international access as of July, so "what if crates.io disappears" is not a thought experiment for millions of developers. cargo-local-registry is the clear winner of the offline tools with 10,235 downloads in 90 days, its weekly downloads rose 64% from August to October, and cargo-vendor-filterer tripled in the first week of October. The full-mirror option, panamax, has not shipped a release in 28 months and pulled 116 downloads, so the moment to set up your offline path is now, while you still have a connection to copy from.

Key numbers

WhatNumberSource, checked Oct 26 2026
Iran blackout length before partial restore (end of May 2026)88 daysWikipedia, Internet censorship in Iran
Downloads of 6 offline Rust tools, last 90 days17,527crates.io API
cargo-chef downloads, last 90 days1,218,032crates.io API
cargo-local-registry, weekly downloads, Aug avg vs Oct avg654 to 1,076 (+64%)crates.io daily downloads
Months since panamax (crates.io mirror) last release28 (June 6 2024)crates.io API
Crates on crates.io362,129crates.io summary API
Animated bars of 90-day downloads: cargo-local-registry 10,235, cargo-vendor-filterer 7,073, panamax 116, cargo-offline 59, ktra 37
Offline Rust tool downloads, last 90 days. crates.io API, Oct 26 2026

The question nobody asks until the network dies

A thread on r/rust this weekend asked a blunt question: what repos and tools let you do fully offline Rust builds and deployments, "like Iran internet shutdown". It hit 85 upvotes in hours, which tells you it is not a hobby question.

Iran is the live case. On January 8 2026 the government imposed a total blackout that took international traffic to about 1% of normal, per Cloudflare and NetBlocks monitoring summarised on Wikipedia. It lasted 88 days before a partial restore at the end of May.

Datacenters, the place your CI runner and build box live, still had no international access as of July 2026. In October the regime started dropping UDP and cutting access to Cloudflare. If your build pulls from crates.io, static.rust-lang.org or GitHub, your build was dead the whole time.

Why Rust is extra exposed

Cargo is wonderful right up until it cannot reach the index. A fresh cargo build needs three things from the internet: the toolchain from rustup, the crates.io index, and every crate tarball in your lockfile.

Direct dependencies understate the bill. On Oct 26 axum 0.8.9 listed 17 required direct dependencies and reqwest 0.13.5 listed 21, before you count what those pull in. One shutdown and every one of them is a 404 you cannot fix.

There are 362,129 crates on crates.io and 512.8 billion downloads served. That convenience is the trap: the ecosystem is built on the assumption that the registry is one HTTPS call away, forever.

Horizontal bars of 90-day downloads for six offline Rust tools, led by cargo-local-registry at 10,235 and cargo-vendor-filterer at 7,073; freighter-server has 7
Six offline Rust tools by downloads. crates.io API, Oct 26 2026

By the numbers: the tools people actually use

We pulled every offline-build crate we could find from the crates.io API on Oct 26 2026. The full table is in the download below.

  • cargo-local-registry (10,235 downloads in 90 days): turns your lockfile into a local registry directory you can point Cargo at. Last release March 2026. This is the default answer.
  • cargo-vendor-filterer (7,073): a smarter cargo vendor from the CoreOS folks that drops crates for platforms you never build. Pushed Oct 8 2026.
  • panamax (116): mirrors all of crates.io plus rustup toolchains. 566 GitHub stars, last release June 6 2024.
  • ktra (37), cargo-offline (59), freighter-server (7): private registries and wrappers, effectively abandoned by downloads.

The built-in cargo vendor command does not show up in any download count because it ships with Cargo. It is still the first move for most teams.

cargo-chef at 1,218,032 downloads in 90 days versus 17,527 for all six offline tools combined
Caching for always-online CI vs going offline. crates.io API, Oct 26 2026

Follow the money: who wins when the internet stays up

cargo-chef pulled 1,218,032 downloads in the same 90 days. It caches dependency layers in Docker so CI is fast, and it assumes the network is fine. That is 69 times the downloads of all six offline tools combined.

That gap is the whole industry's bet. Cloud CI vendors, registries and hosted runners get paid for every fetch, so "always online" is the default they sell. Nobody bills you for the build that works with the cable unplugged.

The losers are the developers in Tehran, in the next country that flips the switch, and in every air-gapped defense or hospital shop that found out its supply chain was a URL. Our bet: the next big shutdown makes offline-first a checklist item, the same way Log4Shell made SBOMs one.

Weekly downloads Aug to Oct 2026: cargo-local-registry rises from about 300-1,100 to 1,191; cargo-vendor-filterer jumps from about 400 to 1,382 the week of Oct 5
Weekly downloads, full weeks only. crates.io daily downloads, Oct 26 2026

What breaks first, in order

When the link drops, the failures arrive in a predictable order. Knowing it tells you what to protect first.

  • New dependencies die instantly. Any crate not already in ~/.cargo/registry cannot be added. Feature work that needs a new crate stops on day one.
  • Fresh CI runners die next. Ephemeral runners start with an empty cache, so every job tries to fetch the whole lockfile and fails.
  • Toolchain updates stop. rustup cannot reach static.rust-lang.org, so you are frozen on whatever compiler each machine already has, and new machines get nothing.
  • Git dependencies fail quietly. Anything in Cargo.toml pointing at a GitHub URL breaks even when the crates.io copies are cached.
  • Laptops survive longest. A developer machine with a warm cache can keep building the code it already built, which is why teams feel fine for a day and then realise production deploys are impossible.

The fix for all five is the same: a vendored directory or local registry you control, checked into the repo or the base image.

The demand is already moving

Full weeks only, cargo-local-registry averaged 654 downloads a week in August and 1,076 a week across the three October weeks, up 64%. cargo-vendor-filterer sat near 407 a week from August through September, then jumped to 1,382 in the week of Oct 5.

Downloads include CI bots, so read the trend, not the absolute count. Still, both lines bend up in the same month Iran started throttling again, and nobody has proven that is a coincidence.

Stat card: 28 months since panamax last shipped a release, June 6 2024
panamax release gap. crates.io API, Oct 26 2026

What this means for you: build the offline path in one afternoon

Do it while you still have a connection to copy from. The steps:

  1. Vendor: run cargo vendor vendor/ (or cargo-vendor-filterer to skip other platforms) and paste the printed [source] block into .cargo/config.toml.
  2. Prove it: build with cargo build --offline --locked on a machine with networking off. If it fails, you are not offline yet.
  3. Toolchain: keep the rustup standalone installer for your pinned version, or a panamax mirror if you serve a whole team.
  4. Containers: bake the vendor directory into a base image so CI never needs crates.io.
  5. Repeat: re-vendor on every lockfile change, or your offline copy quietly rots.

More Rust data in our Rust hub, the crate tracker and the Rust article archive, including our crates.io vs PyPI PDF download study.

If you would rather not spend the afternoon, our paid fix gets your Rust project building with the network unplugged: fixed within 24 hours or a full refund.

Sources

First published here on tensorust.com on Oct 26, 2026. Related: .

Up next

Goes deeper on one question from this articleHow to vendor Rust dependencies with cargo vendor for offline buildsRun cargo vendor in your project while you are online. It copies every dependency into a vendor/ folder and prints four lines of config; paste them into...Read it next →

Cite this

Free to cite and reuse under CC BY 4.0 with a link back. How it was collected: methods. Spotted an error? Corrections.

Did this answer your question?

Get the next one by email.

What my AI agents tried this week, with the real numbers: what worked, what flopped, what made money. One email when there is something worth reading.

No spam, never sold. Every email has a one-click unsubscribe.

What are people saying about this? Read and post on The Floor →

More: the author, related reading, share this, a free game

Try it yourself · Rust dev?

Check a crate before you depend on it

Release health, reverse deps, real downloads and the alternatives for 1000 crates.

In The Manual: on this topic

Explainers answer one question, short answer first. Guides walk you through it step by step.

Open The Manual →

Read next

All articles →

1M+ X impressions in 4 days, run by AI agents · 8,000+ crates.io downloads across our 70 Rust crates, all time · 529 GitHub stars · 8 iPhone apps live on the App Store · O'BLOCK out now, free on Steam

Built by Matthew Busel · code on github.com/Mattbusel · numbers as of Oct 25, 2026, click any to check

Popular in the shop

All 124 tools →

Browse: Bundles and kitsHome, family and schoolMoney and businessAI toolsSports and fitnessMaking and hobbiesFood and drinkIndie dev and launchTrading and quant

Free: Landing page teardown iPhone app cost calculator LLM API cost calculator Paid online: $49 Launch Check App builds Articles FAQ