Como criar um pool de proxies com verificação automática
Introdução
Um pool de proxies com verificação automática é um sistema que armazena uma lista de proxies, verifica regularmente a disponibilidade deles e entrega proxies funcionais via API.
Configuração básica
Arquitetura
Componentes de um pool de proxies:
1. Banco de dados — armazenamento dos proxies (PostgreSQL, Redis)
2. Checker — verificação da disponibilidade dos proxies
3. API — entrega dos proxies funcionais
4. Scheduler — execução periódica das verificações
5. Web UI — monitoramento (opcional)
Modelo de dados
Para cada proxy, armazene:
- ip, port, type (http/socks5)
- username, password
- status (alive/dead)
- latency (ms)
- country, city
- last_checked, last_alive
- fail_count
Checker em Python
Use aiohttp para verificar centenas de proxies de forma assíncrona ao mesmo tempo. Para cada proxy:
1. Envie uma requisição pelo proxy para httpbin.org/ip
2. Meça o tempo de resposta
3. Confirme que o IP corresponde ao esperado
4. Atualize o status no banco de dados
Configuração avançada
Variáveis de ambiente
A maioria das ferramentas suporta as variáveis de ambiente padrão para proxies:
- HTTP_PROXY / http_proxy — proxy para requisições HTTP
- HTTPS_PROXY / https_proxy — proxy para requisições HTTPS
- NO_PROXY / no_proxy — lista de exceções (endereços que ignoram o proxy)
- ALL_PROXY / all_proxy — proxy para todos os protocolos
SSL e certificados autoassinados
Proxies corporativos costumam usar os próprios certificados SSL. Para trabalhar através deles, é preciso:
1. Obter o certificado CA do proxy com o administrador
2. Adicioná-lo ao repositório de certificados do sistema
3. Ou desativar a verificação SSL (apenas para testes)
Autenticação
Dois métodos principais de autenticação são suportados:
Por usuário e senha — autenticação HTTP Basic padrão. As credenciais são enviadas em cada requisição. Formato de URL: http://user:pass@proxy_ip:port
Por endereço IP (whitelist) — seu IP é adicionado a uma lista branca. Não é preciso enviar credenciais.
Verificando o funcionamento
Depois da configuração, verifique:
1. Faça uma requisição de teste pelo proxy
2. Confirme que o IP mudou
3. Verifique a velocidade da conexão
4. Confirme que não há vazamentos de DNS
Resolução de problemas
O proxy não conecta
- Verifique se o endereço e a porta estão corretos
- Confirme que o firewall não está bloqueando a conexão
- Verifique a acessibilidade do proxy a partir da sua rede
Erros de SSL
- Para proxies corporativos, adicione o certificado CA
- Para testes — desative temporariamente a verificação SSL
- Atualize as bibliotecas SSL para a última versão
Erros de autenticação
- Confira o usuário e a senha
- Confirme que o formato das credenciais está correto
- Tente codificar em URL os caracteres especiais da senha
Boas práticas
- Use variáveis de ambiente — por flexibilidade e segurança
- Não deixe credenciais fixas no código — use variáveis de ambiente ou arquivos de configuração
- Configure exceções — não passe localhost e endereços internos pelo proxy
- Documente as configurações — no README do projeto ou na wiki do time
- Teste após mudanças — qualquer alteração de configuração exige verificação
Conclusão
A configuração correta do proxy garante o funcionamento estável das ferramentas e a segurança da conexão. Siga as recomendações deste guia e sempre verifique o funcionamento após a configuração.
