--- name: AA Scraper Improvements 2026-04-02 description: Todas as melhorias aplicadas no scraper American Airlines AAdvantage - stealth, humanizacao, proxy, anti-detect type: project --- ## Melhorias aplicadas em 2026-04-02 ### Scraper (173.208.187.154:/opt/skymilhas/scrapers/aadvantage/index.js) **Estabilidade:** 1. POOL_MAX_USES reduzido de 5 para 2 (browser fresco mais frequente) 2. Funcao `rotateProxy()` adicionada - chama proxy-bridge `/rotate` antes de cada browser novo 3. Retry IDA: 20s + rotacao proxy + browser novo (antes era 15s simples) 4. Retry VOLTA: 25s + rotacao proxy + browser novo 5. IDA->VOLTA no RT: destroy browser + rotacao proxy + 15s cooldown **Humanizacao avancada:** 1. Mouse com curvas Bezier (`humanMouseMove`) - nao linhas retas 2. Micro-tremor 3px (simula mao humana) 3. Scroll natural com velocidade variavel (`humanScroll`) 4. Digitacao humana (`humanType`) - velocidade variavel, pausas em separadores 5. Move mouse ate campo antes de clicar (nao click direto) 6. Hover aleatorio em elementos da pagina 7. Leitura da pagina pre-form (2-4s olhando) 8. Humanizacao Akamai aumentada para 45s (4 rounds) **Anti-deteccao (Stealth v2):** 1. `turnstile: true` no puppeteer-real-browser 2. Chrome flags: `--disable-blink-features=AutomationControlled`, `--use-gl=angle`, `--enable-webgl`, etc 3. Resolucao de tela aleatoria (1920x1080, 1536x864, 1440x900, 1366x768) 4. WebGL GPU spoofing: reporta "NVIDIA GeForce GTX 1650" em vez de SwiftShader 5. Canvas noise: ruido imperceptivel para fingerprint unico 6. `navigator.webdriver = undefined` (nao false) 7. `chrome.runtime`, `chrome.loadTimes`, `chrome.csi` completos 8. Plugins reais (Chrome PDF Plugin, Chrome PDF Viewer, Native Client) 9. MimeTypes corretos (application/pdf) 10. Timezone via CDP: America/New_York 11. Locale via CDP: en-US 12. Navigator: platform=Win32, hardwareConcurrency=8, deviceMemory=8, maxTouchPoints=0 **Resiliencia:** 1. Access Denied: retry com reload + URL alternativa (aa.com/ sem locale) 2. Form nao encontrado: 6 tentativas com humanizacao entre cada 3. Pagina curta (<5000 chars): reload automatico 4. Deteccao e tentativa de resolucao de CAPTCHA (press-and-hold, checkbox) **Proxy:** Voltou para BR (porta 40500) - foi testado em US (40502) tambem. Backup: /tmp/aadvantage-index.js.bak-20260402 **Status:** Codigo 100% pronto. Akamai da AA bloqueia temporariamente pools de IP do proxy-seller apos muitas tentativas. Funciona quando IPs nao estao em blacklist (ex: 39 voos extraidos com sucesso no inicio dos testes). **Why:** AA tem o Akamai mais agressivo da industria de aviacao. Precisa de proxy residencial + Chrome real + humanizacao avancada. **How to apply:** Qualquer mudanca futura deve manter TODAS as camadas de stealth. Se Akamai bloquear, rotacionar proxy e aguardar cooldown (4-12h).