Cómo crear tu propio pool de proxy con Python y Bash

Cómo crear tu propio pool de proxy con Python y Bash

“Así como el Nilo fluye silenciosamente, pero lleva consigo los secretos de la tierra, también nuestros datos deben viajar por la red, protegidos por la corriente del anonimato”.”


El propósito y el poder de los pools de proxy

En las arenas del mundo antiguo, los comerciantes usaban rutas ocultas para proteger sus caravanas de miradas indiscretas. Hoy en día, los proxies cumplen una función similar: ocultan tus huellas digitales, distribuyen solicitudes y evaden la mirada siempre vigilante de los limitadores de velocidad y los cortafuegos.

Un pool de proxys es una colección de servidores proxy. Al rotar las solicitudes entre múltiples proxies, se evitan detecciones, bloqueos y cuellos de botella. Crear tu propio pool de proxys con Python y Bash te brinda soberanía, flexibilidad y la seguridad del control, a diferencia de depender de costosas soluciones de terceros.


Tabla: Enfoques de pool de proxy

Acercarse Ventajas Contras Ejemplos de casos de uso
API de terceros Fácil configuración, mantenimiento gestionado Caro, menos control, lista negra Prototipado rápido
Hazlo tú mismo con Python Control total, rentable Requiere mantenimiento y confiabilidad. Web scraping, automatización
Scripting en Bash Ligero, fácil integración Gestión manual y menos escalable Tareas rápidas, controles de salud

Recopilación de fuentes proxy

“No bebas de un pozo que no conoces”, me dijo una vez un anciano. Elige sabiamente tus fuentes de agua.

Proxies públicos gratuitos

Bash: Obtener y analizar la lista de proxy

curl -s https://www.sslproxies.org/ | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}:[0-9]+' > proxies.txt

Servicios de proxy pagados

Para tareas de misión crítica, considere proveedores como https://brightdata.com/ o https://www.oxylabs.io/. Ofrecen mayor confiabilidad y mejor anonimato.


Validación de proxies

Sabiduría antigua: “Prueba la piedra antes de construir”.”

Python: comprobar la disponibilidad del proxy

importar solicitudes def is_proxy_working(proxy): try: respuesta = solicitudes.get('https://httpbin.org/ip', proxies={'http': proxy, 'https': proxy}, timeout=5) return respuesta.status_code == 200 excepto: return False # Leer proxies del archivo con open('proxies.txt') como f: proxies = [line.strip() para línea en f] working_proxies = [p para p en proxies si is_proxy_working(p)] con open('working_proxies.txt', 'w') como f: para p en working_proxies: f.write(f"{p}\n")

Rotación de proxies con Python

El secreto de la caravana: nunca tomar dos veces la misma ruta.

Rotador de proxy simple

importar solicitudes de importación aleatorias con open('working_proxies.txt') como f: proxies = [line.strip() para la línea en f] def get_random_proxy(): return random.choice(proxies) def fetch_with_proxy(url): proxy = get_random_proxy() try: resp = requests.get(url, proxies={'http': proxy, 'https': proxy}, timeout=10) print(f"Usando {proxy}: {resp.status_code}") return resp.text excepto Excepción como e: print(f"Proxy {proxy} falló: {e}") return None # Ejemplo de uso html = fetch_with_proxy('https://httpbin.org/ip')

Bash: Comprobación rápida del estado del proxy

Para aquellos que prefieren la línea de comandos, como los artesanos de antaño favorecían sus herramientas:

mientras lee el proxy; tiempo de espera 5 curl -s --proxy $proxy https://httpbin.org/ip >/dev/null && echo "$proxy está activo" hecho < proxies.txt

Automatización de actualizaciones del grupo de servidores proxy

Al igual que la inundación anual del Nilo, los proxies van y vienen: la automatización es clave.

Bash: Búsqueda y validación programadas

#!/bin/bash # Obtener nuevos proxies diariamente curl -s https://free-proxy-list.net/ | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}:[0-9]+' > proxies.txt # Validar proxies > working_proxies.txt mientras se lee el proxy; hacer tiempo de espera 5 curl -s --proxy $proxy https://httpbin.org/ip >/dev/null && echo "$proxy" >> working_proxies.txt hecho < proxies.txt

Programar con cron:

0 2 * * * /ruta/a/su/script.sh

Avanzado: Servir servidores proxy mediante API con Flask

En la corte del faraón, el acceso a los recursos se otorgaba con una sola palabra. Proporciona una API para tu pool:

de flask importar Flask, jsonify importar aplicación aleatoria = Flask(__name__) def get_proxies(): con open('working_proxies.txt') como f: devolver [line.strip() para línea en f] @app.route('/get_proxy') def get_proxy(): proxies = get_proxies() devolver jsonify({'proxy': random.choice(proxies)}) si __name__ == '__main__': app.run(port=5000)

Seguridad, ética y mejores prácticas

  • Nunca utilices servidores proxy para fines ilegales o poco éticos.
  • Rotar agentes de usuario y servidores proxy (agente de usuario falso).
  • Supervise las prohibiciones de IP y actualice su grupo periódicamente.
  • Respeto robots.txt y términos del sitio de destino.

Recursos clave


Así como los antiguos custodiaban sus secretos comerciales, tú también deberías custodiar tu reserva de poderes: mantenerla, rotarla y utilizarla con sabiduría.

Anwar El-Mahdy

Anwar El-Mahdy

Analista sénior de proxy

Anwar El-Mahdy es un profesional experimentado con más de 30 años de experiencia en informática y seguridad de redes. Nacido y criado en El Cairo, Egipto, Anwar persiguió su pasión por la tecnología a una edad temprana, lo que lo llevó a convertirse en una figura destacada en el panorama de la seguridad digital. Como analista sénior de servidores proxy en ProxyMist, es responsable de seleccionar y actualizar una lista completa de servidores proxy, asegurándose de que satisfagan las diversas necesidades de los usuarios que buscan privacidad y anonimato en línea. Su experiencia en SOCKS, HTTP y servidores proxy de élite lo convierte en un activo invaluable para el equipo.

Comentarios (0)

Aún no hay comentarios aquí, ¡puedes ser el primero!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *