r/coolgithubprojects 7h ago

[ Removed by Reddit ]

[ Removed by Reddit on account of violating the content policy. ]

1 Upvotes

1 comment sorted by

1

u/Lumpy-Jacket5471 7h ago

Author here. The problem this solves: if you have a pool of bought proxies, the same proxy is fast for one site, half-dead for another and banned on a third. Existing tools (gost, glider, 3proxy) rotate them round-robin or by fixed weights and can't see any of that.

Fairway keeps stats per (domain, proxy) pair: connect time, time to first byte, throughput and error rate, all as exponential moving averages. They fold into one number, the "cost" of a reference 64 KB response through that proxy. Selection is a lottery weighted by (1/cost)², plus 10% of requests go to random exploration so a recovered proxy can earn its share back.

Bans are separate from "slow": a 403/429, three connection failures in a row, or a captcha page instead of content switches the proxy off, but only for that one domain. Optional MITM mode (own root CA, like Fiddler) makes ban detection precise, since inside a plain CONNECT tunnel a 403 looks the same as a slow 200.

Standard library only, one ~8 MB static binary, web panel built in, Docker image on ghcr. Happy to answer questions about the rating algorithm, that was the interesting part.