Files
omarandClaude Opus 4.8 40e6938254
CI / validate (push) Successful in 14s
CI / images (deploy/Dockerfile.api, api) (push) Successful in 52s
CI / images (deploy/Dockerfile.checker, checker) (push) Successful in 38s
CI / images (deploy/Dockerfile.web, web) (push) Successful in 22s
Fix speedtest: Cloudflare 429s through proxies → 0 Mbps + false rejects
Root cause (found by probing 15 live proxies): speed.cloudflare.com/__down
returns HTTP 429 (rate-limited) through shared proxy exit IPs, and its 1-byte
429 body was measured as "0 Mbps" with no error — so the speed gate then
rejected otherwise-fast proxies. Plain-HTTP CDN mirrors (cachefly etc.) download
reliably through the same proxies at 40-80 Mbps.

Fix:
- Default speed-test URL is now http://cachefly.cachefly.net/10mb.test.
- The checker tries the configured URL then hardcoded fallbacks (cachefly, tele2,
  thinkbroadband, cloudflare). A host-side failure (dial error, HTTP 429/non-200,
  empty body) moves to the next URL; a completed download — even a slow one — is
  taken as the proxy's real speed (the proxy is the bottleneck).
- Only a 200 response counts; a 429/non-200 is a host failure, not a 0-Mbps proxy.

Verified end-to-end: a speedtest-ON cycle now yields valid proxies that all carry
a real speed (session had 7 valid, 41-73 Mbps) instead of everything reading 0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014TtR4PP2JM9KadaBkhPGAE
2026-07-02 16:22:04 +03:00
..