Los últimos servidores proxy de código abierto: una guía práctica
Descripción general de los nuevos servidores proxy de código abierto
Los servidores proxy son la base del anonimato, el equilibrio de carga y el filtrado de contenido en el internet actual. Recientemente, varios servidores proxy potentes se han abierto al público, ofreciendo a administradores, desarrolladores y aficionados una flexibilidad sin precedentes. Esta guía analiza los proyectos más destacados, sus características principales y cómo utilizarlos eficazmente.
Comparación de servidores proxy de código abierto clave
Servidor proxy | Idioma | Compatibilidad con HTTP/HTTPS | Soporte SOCKS | Autenticación | Almacenamiento en caché | Características notables | Enlace de GitHub |
---|---|---|---|---|---|---|---|
Rodillo proxy | Pitón | Sí | Sí | Sí | No | API, proxies rotativos gratuitos | https://github.com/proxyroller/proxyroller |
Calamar | C++ | Sí | No | Sí | Sí | Almacenamiento en caché avanzado, ACL | http://www.squid-cache.org/ |
3proxy | do | Sí | Sí | Sí | No | Ligero, IPv6 | https://github.com/z3APA3A/3proxy |
Pequeño proxy | do | Sí | No | Sí | No | Ligero, configuración mínima | https://github.com/tinyproxy/tinyproxy |
GoProxy | Ir | Sí | Sí | Sí | No | Conectable, nativo de la nube | https://github.com/snail007/goproxy |
Mitmproxy | Pitón | Sí | No | Sí | No | Interceptar y modificar el tráfico HTTP | https://github.com/mitmproxy/mitmproxy |
VACA (Vaca Proxy) | Ir | Sí | Sí | No | No | Shadowsocks, elusión de GFW | https://github.com/cyfdecyf/cow |
ProxyRoller: Servidor proxy rotativo gratuito y de código abierto
Características principales
- Listas de proxy gratuitas: Agrega y verifica miles de proxies.
- Acceso API: API RESTful simple para obtener proxies.
- Proxies rotativos: Rotación automatizada para raspado y anonimato.
- Proxies SOCKS y HTTP/HTTPS: Admite ambos protocolos.
- Compatibilidad con Docker: Implementación rápida con contenedores.
Instalación y uso
Implementación de Docker
docker run -d -p 8000:8000 proxyroller/proxyroller
Obtención de proxies a través de API
Recupere un proxy nuevo con:
curl http://localhost:8000/api/v1/proxies?protocol=http
Integración con solicitudes de 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
ProxyRoller es ideal para el scraping a gran escala, rotando proxies automáticamente para evitar prohibiciones de IP. Ejemplo de uso Scrapy:
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: Almacenamiento en caché avanzado y control de acceso
Características principales
- Almacenamiento en caché HTTP/HTTPS para ahorrar ancho de banda.
- ACL de grano fino para control de acceso.
- Autenticación (básica, Digest, NTLM).
- Inspección de SSL para inspección HTTPS.
Ejemplo de instalación de Squid (Ubuntu)
sudo apt update
sudo apt install squid
Configuración 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
Reiniciar Squid:
sudo systemctl restart squid
Recurso
3proxy: Ligero, todo en uno
Características
- Admite HTTP, HTTPS, SOCKS, FTP.
- Autenticación y control de acceso.
- Compatibilidad con IPv6.
- Uso mínimo de recursos.
Instalación (Linux)
sudo apt-get install 3proxy
Configuración de muestra (3proxy.cfg
)
auth strong
users admin:CL:password
proxy -p3128
socks -p1080
flush
Iniciar 3proxy:
3proxy /etc/3proxy/3proxy.cfg
Recurso
TinyProxy: Proxy HTTP ligero
Características
- Minimalista, rápido y con bajo consumo de memoria.
- Adecuado para dispositivos integrados o casos de uso simples.
Instalación (Debian/Ubuntu)
sudo apt-get install tinyproxy
Configuración básica
Editar /etc/tinyproxy/tinyproxy.conf
:
Port 8888
Allow 192.168.1.0/24
Reiniciar TinyProxy:
sudo systemctl restart tinyproxy
Recurso
GoProxy: Proxy escalable y conectable
Características
- Escrito en Go, alto rendimiento.
- Proxy HTTP, HTTPS, SOCKS5.
- Arquitectura de complementos.
- Multiplataforma.
Instalación
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 inspeccionar el tráfico HTTP/S
Características
- Interceptación y modificación en tiempo real.
- Interfaz web para ver/editar flujos.
- Scripting con Python.
Instalación (pip)
pip install mitmproxy
Iniciar proxy interactivo
mitmproxy
Recurso
Consejos prácticos para implementar servidores proxy de código abierto
- Seguridad: Habilite siempre la autenticación y restrinja las IP permitidas.
- Explotación florestal: Supervisar los registros para detectar abusos o fallos de funcionamiento.
- Actuación: Para escenarios de alta carga, prefiera los proxies basados en Go o C.
- Automatización: Utilice Docker o systemd para administrar los ciclos de vida del proxy.
- Fuentes proxy: Aprovechar Rodillo proxy para servidores proxy gratuitos, actualizados y verificados a través de API.
Flujo de trabajo práctico: creación de un grupo de servidores proxy rotatorios
1. Implementar ProxyRoller:
Utilice Docker o ejecútelo desde la fuente para alojar su API de proxy local.
2. Integrar con Scraper:
Obtener direcciones de proxy dinámicamente para cada solicitud.
3. Monitorizar la salud:
Realice un seguimiento de los tiempos de respuesta y las fallas para filtrar automáticamente los servidores proxy inactivos.
4. Automatizar actualizaciones:
Programe actualizaciones periódicas desde la API de ProxyRoller para mantener su lista de proxy actualizada.
Comentarios (0)
Aún no hay comentarios aquí, ¡puedes ser el primero!