Imagina por un momento que necesitas que tus solicitudes HTTP salgan desde direcciones distintas sin depender de terceros proxies comerciales: quieres control, automatización y la latencia/geodistribución que da una CDN moderna. FlareProx nace de esa necesidad: automatiza el despliegue de Cloudflare Workers que actúan como pass-through proxies — reciben la petición, extraen el destino (por query param o cabecera), hacen un fetch()
desde el edge de Cloudflare y reenvían la respuesta al cliente. Desde la perspectiva del servidor objetivo, la petición proviene del egress de Cloudflare, no de tu IP real.
Esta simplicidad funcional tiene dos efectos inmediatos:
- Enmascaramiento de origen: la IP/ASN visible para el objetivo es de Cloudflare; no tu IP de casa/servidor.
- Rotación a bajo coste: creando múltiples Workers (endpoints) puedes obtener salidas por pools distintos dentro de la red de Cloudflare y repartir carga o variar IPs a escala programada. El repo incluso ofrece utilidades para crear, listar, probar y limpiar endpoints desde la CLI/SDK.
Instalación y configuración rápida
Ejecuta esto en tu entorno de pruebas:
git clone https://github.com/MrTurvey/flareprox.git
cd flareprox
pip install -r requirements.txt
Configura credenciales: o bien ejecuta el comando de configuración que trae el repo o edita directamente flareprox.json
:
{
"cloudflare": {
"api_token": "TU_API_TOKEN",
"account_id": "TU_ACCOUNT_ID"
}
}
El README indica explícitamente este flujo y permisos requeridos.
Comandos esenciales (orquestación de endpoints)
-
Crear N endpoints:
Listar endpoints desplegados:
-
Probar todos los endpoints:
Eliminar (cleanup):
Estos comandos automatizan la creación de Workers y devuelven las URLs públicas tipo https://<worker>.account.workers.dev
que pasarás al objetivo.
Uso práctico: ejemplos curl
Cada endpoint acepta el URL destino en ?url=
o en la cabecera X-Target-URL
. Ejemplos:
Usa httpbin.org
o tu endpoint de testing para inspeccionar cabeceras, IP de origen y cuerpo de la petición (útil para fingerprinting y ver qué transforma la cadena de proxy).
Integración programática (Python): ejemplo directo
El repo incluye una clase FlareProx
que puedes instanciar desde tu código. Ejemplo mínimo (adaptado del README):
#!/usr/bin/env python3
from flareprox import FlareProx, FlareProxError
import json
flareprox = FlareProx(config_file="flareprox.json")
if not flareprox.is_configured:
raise SystemExit("Configura FlareProx: python3 flareprox.py config")
# Asegura que haya endpoints
endpoints = flareprox.sync_endpoints()
if not endpoints:
flareprox.create_proxies(count=2)
# Hacer un POST via FlareProx
try:
post_data = json.dumps({"msg": "hola desde FlareProx"})
headers = {"Content-Type": "application/json", "User-Agent": "FlareProx-Client/1.0"}
response = flareprox.redirect_request(
target_url="https://httpbin.org/post",
method="POST",
headers=headers,
data=post_data
)
print("Status:", response.status_code)
print("Origen reportado:", response.json().get("origin"))
except FlareProxError as e:
print("FlareProx error:", e)
Este patrón permite integrar FlareProx en scripts de scraping/testing y elegir internamente un endpoint para rotación
Usarlo con Burp (flujo práctico)
Si quieres inspeccionar peticiones mientras aprovechas FlareProx:
-
Despliega uno o varios endpoints con
flareprox.py create
. -
En Burp -> Proxy -> Options -> Upstream Proxy Servers añade como upstream el endpoint de FlareProx (o configura un
curl
/script que apunte a la URL del Worker). Otra opción práctica: usarBurp → Project Options → Connections → Use a custom listener
y redirigir tráfico HTTP a la URL del Worker con un pequeño helper que reescribaHost
/X-Target-URL
si es necesario. -
Observa en Burp cómo el request sale hacia el Worker y de ahí hacia el destino; inspecciona cabeceras añadidas por Cloudflare. (El README incluye captura demostrativa de uso con Burp).
Por último, comentar algunas notas de ingeniería reseñables:
- El Worker implementa el proxy en el edge; no hay túnel persistente (p. ej. SOCKS) ni modificación profunda de la capa TCP/TLS original: el Worker hace un fetch HTTP(S) hacia el destino. Eso determina límites de comportamiento en streaming, websockets y TLS passthrough que deberás tener en cuenta si necesitas esos canales.
- El gateway de control (la utilidad
flareprox.py
yflareprox.json
) gestiona credenciales Cloudflare (API token con permisos de Workers) y la orquestación de endpoints — la traza de auditoría está ligada a la cuenta que crea estos Workers, así que la aparente “anonimidad” es solo en el egress, no en los metadatos de gestión. - Las limitaciones prácticas — cuotas de Workers, límites de ejecución, y políticas de Cloudflare — son factores operativos: la herramienta menciona el incentivo del “free tier” y su número de peticiones, pero el operador debe confirmar límites reales en su cuenta y región.
En definitiva, FlareProx es una herramienta pragmática: no trae soluciones mágicas para anonimato, pero reduce significativamente la fricción operativa para crear endpoints HTTP en Cloudflare que actúan como proxies rotatorios. Para usos legítimos —testing, scraping autorizado o pruebas de resiliencia— ofrece una manera rápida de aprovechar la presencia global de Cloudflare. Sin embargo, exige validación cuidadosa (cabeceras, límites, latencia) y siempre operar dentro de marcos legales y de términos de servicio
Proyecto: https://github.com/MrTurvey/flareprox
Comentarios
Publicar un comentario