"""프록시 풀 인터페이스. 현재는 무프록시로 시작(residential 프록시 미보유). 인터페이스만 두고 off 상태로 동작한다. 쿠팡 차단이 발생하면 residential/mobile 프록시 목록을 주입해 로테이션을 켠다. (datacenter IP 는 금방 차단되므로 residential/mobile 을 전제로 설계 — new.md) """ import itertools from typing import Optional class ProxyPool: def __init__(self, proxies: Optional[list[str]] = None): self._proxies = list(proxies or []) self._cycle = itertools.cycle(self._proxies) if self._proxies else None @property def enabled(self) -> bool: return bool(self._proxies) def get(self) -> Optional[str]: """다음 프록시 URL 반환. 비어있으면(off) None → 어댑터는 직접 연결.""" if self._cycle is None: return None return next(self._cycle)