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