--- name: Nova VM adv22 (segunda) descoberta 2026-05-04 description: Segunda VM `adv22` (sem hífen) entrou na tailnet zieltelles@ pra paralelismo. Tailscale SSH habilitado. Próximo passo replicar stack do adv-22 nela. type: project originSessionId: 2f746173-1571-4f7d-b95f-7008f177e1c9 --- # Nova VM adv22 — 2026-05-04 ## Estado atual da tailnet zieltelles@ ``` 100.91.20.22 adv-22 zieltelles@ linux idle; offers exit node ← VM 100 atual (toda stack) 100.100.48.66 adv.tailccff48.ts.net samueltelles2022@ linux ← Proxmox host (não mexer) 100.123.139.93 adv22 zieltelles@ linux idle; offers exit node ← VM NOVA (vazia) 100.121.140.97 gotech-br zieltelles@ windows ← PC Jesiel 100.126.1.5 skymilhas-server zieltelles@ linux active ← servidor scraper (173.208.187.156) ``` Atenção: hostname `adv22` (sem hífen) ≠ `adv-22` (com hífen, atual). São nós distintos. ## Conectividade - Tailscale SSH **habilitado** na adv22 (badge "SSH" + `SSH-2.0-Tailscale` na porta 22) - Wrapper `tailscale ssh root@100.123.139.93` da adv-22 estava enroscando — trabalhou via `< /dev/null` mas sem retorno consistente - Workaround: usar `ssh -o StrictHostKeyChecking=no -o BatchMode=yes root@100.123.139.93` direto via Tailscale routing - VM ficou offline 5min entre a primeira detecção e o segundo teste (Jesiel reiniciou) ## Hardware (PENDENTE confirmar) Comandos a rodar quando SSH funcionar: ```bash ssh root@100.123.139.93 'hostname; uname -a; free -h | head -2; df -h /; nproc; curl -s https://api.ipify.org' ``` Suspeita: mesmo IP público que a adv-22 (`186.247.226.26` V.tal BH) porque ambas estão dentro do mesmo Proxmox host `adv` (`100.100.48.66`). Confirmar com api.ipify. ## Plano de replicação (próximos passos) Se IP público igual → ganho é só **paralelismo**: 1. Instalar mesma stack: google-chrome-stable, Xvfb, playwright-core (clonar de /opt/smiles-solver/node_modules) 2. Copiar solvers: `/opt/aa-solver/`, `/opt/gol-solver/`, `/opt/smiles-solver/`, `/opt/tap-solver/` 3. Copiar bridges: `/opt/aa-bridge/`, `/opt/smart-bridge/`, tinyproxy 4. Replicar systemd units: `*-solver.service`, `*-watchdog.{service,timer}`, `aa-bridge.service` 5. Profile dirs: `/home/customer/aa-chrome-profile-v3`, `gol-solver-profile`, etc — começar limpo (cookies novos) 6. Configurar smart-bridge no servidor scraper pra round-robin entre `100.91.20.22` e `100.123.139.93` Se IP público diferente (segunda rede física) → ganho é **rotação real contra Akamai**. ## Status do AA Solver v3 (sessão atual) - ✅ aa-solver v3 ativo na adv-22 (`/opt/aa-solver/aa-solver.mjs` — spawn google-chrome puro + playwright connectOverCDP) - ✅ Validado: GRU↔MIA Award round-trip em 23s, 4 cabines, prices BRL - ✅ aa-watchdog.timer 1min enabled - ⏳ Integração scraper `/opt/skymilhas/scrapers/aadvantage/index.js` → solver (parser searchData→flights[]) PENDENTE — ver `project_aa_solver_v3_2026_05_04.md` ## Tasks abertas (sessão atual) | # | Status | Tarefa | |---|---|---| | 2 | pending | Apontar scraper AA pro aa-solver da VM (parser ~200 linhas) | | 8 | pending | Verificar recursos do host adv (RAM/CPU/disco) — Jesiel rodar `free -h; df -h /var/lib/vz; qm config 100` | | 9 | pending | Clonar VM 100→101 (adv-23) — esperando recursos validados — agora pode ser substituído por usar `adv22` que já existe | | 10 | pending | Habilitar serviços na 2ª VM | | 11 | pending | Configurar load balance no smart-bridge | **Why:** Jesiel pediu rotação entre 2 VMs. Já existe uma VM nova (`adv22`) provisionada — só falta SSH estabilizar e replicar stack. **How to apply:** próximo turno, conectar `ssh root@100.123.139.93` direto, validar recursos (RAM/disco/IP público), e clonar stack do adv-22.