namespace BlueLaminate.Scraper.Proxies; /// /// Source of proxy endpoints. The whole point of this seam is that the rest of /// the scraper depends only on this interface and , so a /// different residential provider — or the future C2 that allocates IPs to /// containers, or a composite "grab-bag" over several providers — drops in /// without changing any browser or scraping code. /// public interface IProxyProvider { /// Identifier recorded on issued leases, e.g. "iproyal". string Name { get; } /// /// Produce a usable endpoint for the given request. For gateway providers /// this is pure string composition (no network call); the C2 implementation /// can override that later with real allocation. /// ProxyLease Acquire(ProxyRequest request); }