libnyanpasu/clash-nyanpasu · error

all mirrors are too slow

Error message

all mirrors are too slow

What it means

mirror_speed_test benchmarks INTERNAL_MIRRORS against the manifest URL and, after picking the fastest result, bails when the best measured speed minus 1.0 is below 0.0001 — i.e. every mirror's measured speed is at the ~1.0 floor, meaning no mirror responded usefully. The cached mirror selection is left untouched (or unset), so subsequent manifest fetches have no viable mirror.

Source

Thrown at backend/tauri/src/core/updater/mod.rs:209

        let mirrors = crate::utils::candy::INTERNAL_MIRRORS;
        let path = "https://github.com/libnyanpasu/clash-nyanpasu/raw/main/manifest/version.json";
        let client = crate::utils::candy::get_reqwest_client()?;
        let results = client.mirror_speed_test(mirrors, path).await?;
        let (fastest_mirror, speed) = results.first().ok_or(anyhow!("no mirrors found"))?;
        if speed - 1.0 < 0.0001 {
            anyhow::bail!("all mirrors are too slow");
        }
        tracing::debug!("fastest mirror: {}, speed: {}", fastest_mirror, speed);

View on GitHub (pinned to f7dbce2997)

Solutions

  1. Check overall network connectivity; all mirrors failing usually means the machine is offline or behind a blocking proxy/firewall.
  2. Retry later — mirror outages (e.g. GitHub raw blocked or CDN issues) are often temporary.
  3. Configure a working proxy/VPN so the internal mirrors become reachable.
  4. Clear the cached mirror timestamp to force a fresh speed test once connectivity is restored.
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at backend/tauri/src/core/updater/mod.rs:209 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of libnyanpasu/clash-nyanpasu@f7dbce2997 (2026-09-08). Data as JSON: /api/errors/6c0f099a07b793a2. Report an issue: GitHub.