CloakHQ/CloakBrowser · error · RuntimeError

Could not fetch the signed SHA256SUMS for Pro {version} ({ex

Error message

Could not fetch the signed SHA256SUMS for Pro {version} ({exc})

What it means

Fetching the signed SHA256SUMS manifest and its signature for a Pro version failed (network/HTTP error). This is treated as transient (plain RuntimeError) — distinct from tampering — so the caller can retry rather than abort.

Source

Thrown at cloakbrowser/download.py:580

    CLOAKBROWSER_SKIP_CHECKSUM cannot bypass it. A failed manifest FETCH is
    transient — nothing was validated — and raises a plain RuntimeError. A
    valid-license user is never silently downgraded to the free binary.
    """
    base = f"{DOWNLOAD_BASE_URL}/releases/pro/chromium-v{version}"
    try:
        manifest_resp = httpx.get(
            f"{base}/SHA256SUMS", follow_redirects=True, timeout=10.0
        )
        manifest_resp.raise_for_status()
        sig_resp = httpx.get(
            f"{base}/SHA256SUMS.sig", follow_redirects=True, timeout=10.0
        )
        sig_resp.raise_for_status()
    except Exception as exc:
        # Fetch failure is transient, not tampering — raise a plain RuntimeError
        # (the router reports it as "unavailable, retry") rather than a
        # BinaryVerificationError (which it surfaces as a tampering signal).
        raise RuntimeError(
            f"Could not fetch the signed SHA256SUMS for Pro {version} ({exc})"
        ) from exc

    manifest_bytes = manifest_resp.content
    # _verify_signature / _verify_checksum raise plain RuntimeError; convert to
    # BinaryVerificationError so the Pro router treats them as tampering signals
    # (re-raise) rather than transient failures (fall back to free).
    try:
        _verify_signature(manifest_bytes, sig_resp.content)
    except RuntimeError as exc:
        raise BinaryVerificationError(str(exc)) from exc
    manifest_text = manifest_bytes.decode("utf-8")

    # Version binding: same forced-downgrade defense as the official path.
    declared = _parse_manifest_version(manifest_text)
    if declared != version:
        raise BinaryVerificationError(
            f"Version mismatch in signed Pro SHA256SUMS: requested {version}, "

View on GitHub (pinned to d6bad5de26)

Solutions

  1. Retry the download/install
  2. Verify the manifest URL is reachable from your network
  3. If persistent, report upstream
Defensive patterns

Strategy: retry

Try / catch

for attempt in range(3):
    try:
        return install()
    except RuntimeError as e:
        if "Could not fetch the signed SHA256SUMS" in str(e) and attempt < 2:
            time.sleep(2 ** attempt); continue
        raise

Prevention

When it happens

Trigger: _verify_pro_download during a Pro download where the manifest or .sig HTTP fetch raises (timeout, 5xx, DNS).

Common situations: Flaky network mid-download; Pro CDN hiccup; firewall blocking the manifest URL specifically.

Related errors


AI-assisted analysis of CloakHQ/CloakBrowser@d6bad5de26 (2026-08-28). Data as JSON: /api/errors/10ad83683e1c3763. Report an issue: GitHub.