Verification

Verificando um proxy gratuito antes de confiar tráfego real a ele

3 min read Published Updated 470 words

Proxies gratuitos falham mais do que funcionam. Uma lista pública passa por dezenas de milhares de candidatos, e seu trabalho é encontrar o pequeno subconjunto que está atualmente ativo, rápido o suficiente e não malicioso. Cinco testes, cada um barato, executados em ordem.

Teste 1: Acessibilidade TCP

curl --connect-timeout 5 --proxy http://1.2.3.4:8080 \
     -s -o /dev/null -w "%{http_code}\n" \
     https://api.ipify.org

Um código de saída diferente de zero ou uma resposta vazia significa que o proxy está morto. Cerca de 60–80% de qualquer lista gratuita falhará neste teste a qualquer momento. Pule imediatamente e não tente novamente.

Teste 2: Verificação de IP de Saída

A mesma chamada retorna o IP público de onde a requisição saiu. Se for igual a 1.2.3.4 — o endereço do proxy — o proxy está encaminhando o tráfego corretamente. Se for igual ao seu IP local, o proxy está quebrado ou transparente: ele aceitou a conexão, mas não retransmitiu através de si mesmo. Trate isso como uma falha, mesmo que o TCP tenha sido bem-sucedido.

Teste 3: Transparência de Cabeçalhos

curl --proxy http://1.2.3.4:8080 https://httpbin.org/headers

A resposta ecoa de volta os cabeçalhos que o destino recebeu. Procure por X-Forwarded-For, Via ou Forwarded com seu IP real. Se encontrá-los, o proxy está em modo transparente ou anônimo, em vez de elite. Para HTTPS via CONNECT isso é irrelevante — o destino vê apenas o handshake TLS, nenhum cabeçalho de aplicação — mas para HTTP simples isso determina se o proxy é adequado ao propósito.

Teste 4: Latência Sob Carga

A medição de uma única requisição é ruidosa. Execute dez requisições seriais através do proxy e pegue a mediana. Qualquer valor acima de dois segundos é inutilizável para trabalho interativo. Abaixo de 500 milissegundos é competitivo com nenhum proxy. Entre esses números, o proxy é adequado para raspagem em lote, mas não para navegação.

Teste 5: Integridade da Impressão Digital TLS

Conecte-se através do proxy a um endpoint TLS conhecido e verifique se a cadeia de certificados corresponde ao que você obtém sem o proxy. Uma incompatibilidade significa que o proxy está interceptando TLS — executando um ataque MITM e seu tráfego "criptografado" não está realmente criptografado a partir do proxy em diante. Isso é raro em proxies SOCKS corretamente configurados (eles não conseguem ver TLS), mas aparece em proxies HTTPS corporativos mal configurados e em nós públicos maliciosos ocasionais. openssl s_client -proxy 1.2.3.4:8080 -connect example.com:443 exibe a cadeia.

Um Fluxo de Trabalho Prático

Obtenha a lista, filtre por país e protocolo, distribua os cinco testes em um pool paralelo de cerca de 50 workers e mantenha os sobreviventes. De 100 candidatos brutos, uma execução típica produz de 5 a 15 entradas utilizáveis. A taxa de decaimento é de aproximadamente 30 a 60 minutos para HTTP e HTTPS, um pouco maior para SOCKS — agende uma atualização nesse ritmo e alimente o conjunto sobrevivente em seu scraper ou configuração de navegador. Armazene em cache os resultados dos testes pelo tempo de vida de um lote e re-teste no próximo.