Os mais recentes servidores proxy de código aberto: um guia prático
Visão geral dos servidores proxy de código aberto recentemente
Os servidores proxy são a espinha dorsal do anonimato, do balanceamento de carga e da filtragem de conteúdo na internet atual. Diversos servidores proxy poderosos foram recentemente disponibilizados como código aberto, oferecendo flexibilidade sem precedentes a administradores, desenvolvedores e amadores. Este guia analisa os projetos mais notáveis, seus principais recursos e como empregá-los de forma eficaz.
Comparação dos principais servidores proxy de código aberto
Servidor proxy | Linguagem | Suporte HTTP/HTTPS | Suporte SOCKS | Autenticação | Armazenamento em cache | Características notáveis | Link do GitHub |
---|---|---|---|---|---|---|---|
Rolo de Proxy | Pitão | Sim | Sim | Sim | Não | API, proxies rotativos livres | https://github.com/proxyroller/proxyroller |
Lula | C++ | Sim | Não | Sim | Sim | Cache avançado, ACLs | http://www.squid-cache.org/ |
3proxy | C | Sim | Sim | Sim | Não | Leve, IPv6 | https://github.com/z3APA3A/3proxy |
Pequeno proxy | C | Sim | Não | Sim | Não | Configuração leve e mínima | https://github.com/tinyproxy/tinyproxy |
GoProxy | Ir | Sim | Sim | Sim | Não | Conectável, nativo da nuvem | https://github.com/snail007/goproxy |
Mitmproxy | Pitão | Sim | Não | Sim | Não | Interceptar e modificar o tráfego HTTP | https://github.com/mitmproxy/mitmproxy |
VACA (Procurador de Vaca) | Ir | Sim | Sim | Não | Não | Shadowsocks, evasão de GFW | https://github.com/cyfdecyf/cow |
ProxyRoller: Servidor Proxy Rotativo Gratuito e de Código Aberto
Principais recursos
- Listas de proxy gratuitas: Agrega e verifica milhares de proxies.
- Acesso à API: API RESTful simples para buscar proxies.
- Proxies rotativos: Rotação automatizada para raspagem e anonimato.
- Proxies SOCKS e HTTP/HTTPS: Suporta ambos os protocolos.
- Suporte ao Docker: Implantação rápida com contêineres.
Instalação e Uso
Implantação do Docker
docker run -d -p 8000:8000 proxyroller/proxyroller
Buscando Proxies via API
Recupere um novo proxy com:
curl http://localhost:8000/api/v1/proxies?protocol=http
Integrando com solicitações Python
import requests
proxy = requests.get('http://localhost:8000/api/v1/proxies?protocol=http').json()['proxy']
proxies = {"http": proxy, "https": proxy}
response = requests.get('https://httpbin.org/ip', proxies=proxies)
print(response.json())
Caso de uso: Web Scraping
O ProxyRoller é ideal para scraping em larga escala, rotacionando proxies automaticamente para evitar banimentos de IP. Exemplo de uso Raspado:
import requests
def get_proxy():
r = requests.get('http://localhost:8000/api/v1/proxies?protocol=http')
return r.json()['proxy']
DOWNLOADER_MIDDLEWARES = {
'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 110,
'myproject.middlewares.RandomProxy': 100,
}
class RandomProxy:
def process_request(self, request, spider):
proxy = get_proxy()
request.meta['proxy'] = proxy
Recurso
Squid: Cache avançado e controle de acesso
Principais recursos
- Cache HTTP/HTTPS para economia de largura de banda.
- ACLs refinadas para controle de acesso.
- Autenticação (Básica, Digest, NTLM).
- SSL bumping para inspeção HTTPS.
Exemplo de instalação do Squid (Ubuntu)
sudo apt update
sudo apt install squid
Configuração básica
Editar /etc/squid/squid.conf
:
http_port 3128
acl localnet src 192.168.1.0/24
http_access allow localnet
http_access deny all
Reinicie o Squid:
sudo systemctl restart squid
Recurso
3proxy: leve, tudo em um
Características
- Suporta HTTP, HTTPS, SOCKS, FTP.
- Autenticação e controle de acesso.
- Suporte a IPv6.
- Uso mínimo de recursos.
Instalação (Linux)
sudo apt-get install 3proxy
Configuração de exemplo (3proxy.cfg
)
auth strong
users admin:CL:password
proxy -p3128
socks -p1080
flush
Inicie o 3proxy:
3proxy /etc/3proxy/3proxy.cfg
Recurso
TinyProxy: Proxy HTTP leve
Características
- Minimalista, rápido e com baixo consumo de memória.
- Adequado para dispositivos incorporados ou casos de uso simples.
Instalação (Debian/Ubuntu)
sudo apt-get install tinyproxy
Configuração básica
Editar /etc/tinyproxy/tinyproxy.conf
:
Port 8888
Allow 192.168.1.0/24
Reinicie o TinyProxy:
sudo systemctl restart tinyproxy
Recurso
GoProxy: Proxy escalável e conectável
Características
- Escrito em Go, alto desempenho.
- HTTP, HTTPS, proxy SOCKS5.
- Arquitetura de plug-ins.
- Multiplataforma.
Instalação
wget https://github.com/snail007/goproxy/releases/download/v10.7/proxy-linux-amd64.tar.gz
tar -zxvf proxy-linux-amd64.tar.gz
cd proxy
./proxy http -t tcp -p 8080
Recurso
Mitmproxy: interceptar e inspecionar tráfego HTTP/S
Características
- Interceptação e modificação em tempo real.
- Interface de usuário da Web para visualização/edição de fluxos.
- Script com Python.
Instalação (pip)
pip install mitmproxy
Iniciar Proxy Interativo
mitmproxy
Recurso
Dicas práticas para implantar proxies de código aberto
- Segurança: Sempre habilite a autenticação e restrinja os IPs permitidos.
- Registro: Monitore os registros em busca de abuso ou mau funcionamento.
- Desempenho: Para cenários de alta carga, prefira proxies baseados em Go ou C.
- Automação: Use o Docker ou o systemd para gerenciar os ciclos de vida do proxy.
- Fontes de proxy: Aproveitar Rolo de Proxy para proxies gratuitos atualizados e verificados via API.
Fluxo de trabalho prático: criando um pool de proxy rotativo
1. Implante o ProxyRoller:
Use o Docker ou execute a partir da fonte para hospedar sua API de proxy local.
2. Integrar com o Scraper:
Busque endereços de proxy dinamicamente para cada solicitação.
3. Monitore a saúde:
Monitore os tempos de resposta e falhas para filtrar automaticamente proxies inativos.
4. Automatize atualizações:
Programe atualizações regulares da API do ProxyRoller para manter sua lista de proxy atualizada.
Comentários (0)
Ainda não há comentários aqui, você pode ser o primeiro!