# Rust Mirror (Crates.io registry, Cargo) in Iran

Canonical: https://mirror.rasanegaar.com/guides/en/crates.html
Language: en

Rust mirror and Crates.io registry for Cargo, cargo build and crates from Iran — mirror.rasanegaar.com/crates/

Rust mirror (Crates.io registry, Cargo) — Free Crates.io mirror for Rust developers in Iran — install and update crates faster with Cargo from inside the country.

## About

Cargo usually pulls dependencies from `crates.io` — each `cargo build` may fetch dozens of crates over international paths.
Rasanegaar Mirror hosts the same crates.io registry in Iran so dependencies resolve faster.
The unified browse UI and Cargo setup live at `/crates/`.

## Mirror in Iran

The crates.io registry at `mirror.rasanegaar.com/crates/` is available for Cargo in Iran.
Configure `~/.cargo/config.toml` to point crates.io at the Rasanegaar mirror.
Stable rustup dist is at `/rustup/`.

Browse URL: https://mirror.rasanegaar.com/crates/

## Configuration

1. Point crates.io to the Rasanegaar mirror in `~/.cargo/config.toml`:
   ```
   [source.rasanegaar]
registry = "sparse+https://mirror.rasanegaar.com/crates/index/"

[source.crates-io]
replace-with = "rasanegaar"
   ```
2. For rustup (optional) in `~/.profile` or `~/.bashrc`:
   ```
   export RUSTUP_DIST_SERVER="https://mirror.rasanegaar.com/rustup"
export RUSTUP_UPDATE_ROOT="https://mirror.rasanegaar.com/rustup/rustup"
   ```
3. Try a test build:
   ```
   cargo build
   ```
4. Browse crates:
   ```
   https://mirror.rasanegaar.com/crates/
   ```

## Updates

After switching, `cargo build` fetches dependencies from the mirror in Iran.
For new projects the same `config.toml` is enough; no `Cargo.toml` changes required.
The same registry is also available at `repository.rasanegaar.com/crates/`.

## Related

Registry landing: https://mirror.rasanegaar.com/repos/crates/en/
Guide HTML: https://mirror.rasanegaar.com/guides/en/crates.html
