Track last_fail timestamp on ProxyEntry. When a connection attempt fails in server.py, report_failure() records the time. The selection weight multiplies by min(fail_age/60, 1.0), ramping back from floor over 60s. Prevents wasting retries on proxies that just failed.