o2o-negosium-original/lps/services/search
민헌 4de85d43ed feat(lps): DECODO residential 프록시 — 쿠팡 sticky 세션 + 주기적 IP 회전
datacenter IP + Akamai 대응. 매 요청 IP 변경은 쿠키-IP 불일치로 재챌린지를
유발하므로, sticky 세션(일정 시간 같은 IP) + 주기적 회전 방식 사용.

- search/proxy.DecodoProxy: username 에 -session-<시간창id>-sessionduration-<분> 부착
  → 창 안에선 같은 IP, 창이 지나면 새 IP. 자격증명은 .env(DECODO_*), 4개 다 있어야 활성
- coupang/adapter: proxy 주입 + 세션창 경과 시 브라우저 재기동(IP 회전). 무프록시면 직접 연결
- worker_main: 쿠팡에만 DecodoProxy 경유(네이버는 공식 API라 미적용)
- .env.example: DECODO_HOST/PORT/USERNAME/PASSWORD/SESSION_MINUTES 슬롯
- tests: 활성조건·sticky username·server형식·세션창 회전 4건 → 전체 43/43

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 09:40:26 +09:00
..
coupang feat(lps): DECODO residential 프록시 — 쿠팡 sticky 세션 + 주기적 IP 회전 2026-07-09 09:40:26 +09:00
naver feat(lps): 네이버 어댑터 + 다중 소스 병합 검색 2026-07-09 08:38:15 +09:00
contract.py feat(lps): 쿠팡 검색 어댑터 — Akamai 우회(Patchright) + 정규화 파서 2026-07-08 15:59:48 +09:00
proxy.py feat(lps): DECODO residential 프록시 — 쿠팡 sticky 세션 + 주기적 IP 회전 2026-07-09 09:40:26 +09:00
rate_limiter.py feat(lps): 쿠팡 검색 어댑터 — Akamai 우회(Patchright) + 정규화 파서 2026-07-08 15:59:48 +09:00
util.py feat(lps): 쿠팡 검색 어댑터 — Akamai 우회(Patchright) + 정규화 파서 2026-07-08 15:59:48 +09:00