Skip to Content
DocumentationEdgeCloudflare Workers

Cloudflare Workers

Interceptar el tráfico en el Edge es la forma más eficiente de utilizar ProxyTracer. Al implementar este middleware en un Cloudflare Worker, las solicitudes maliciosas se bloquean a nivel de CDN antes de que consuman recursos de tu servidor de origen.

La Implementación

Este fragmento extrae la dirección IP real del cliente utilizando los encabezados nativos de Cloudflare, consulta la API de ProxyTracer y devuelve un estricto 403 Forbidden si se detecta un proxy.

export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { // 1. Extraer la IP real (Cloudflare proporciona esto de forma nativa) const ip = request.headers.get("cf-connecting-ip"); // Permitir el paso si no se encuentra ninguna IP (p. ej., desarrollo local) if (!ip) { return fetch(request); } try { // 2. Consultar la API de ProxyTracer const ptResponse = await fetch(`https://api.proxytracer.com/v1/check/${ip}`, { method: "GET", headers: { "Authorization": `Bearer ${env.PROXYTRACER_API_KEY}` } }); if (ptResponse.ok) { const data = await ptResponse.json(); // 3. Descartar la conexión si se detecta un proxy/VPN if (data.proxy === true) { return new Response( JSON.stringify({ error: "Access Denied: VPN or Proxy detected." }), { status: 403, headers: { "Content-Type": "application/json" } } ); } } } catch (error) { // Fail open: Si la API no es accesible, permitir el tráfico para garantizar la disponibilidad console.error("ProxyTracer API Error:", error); } // 4. El tráfico limpio continúa hacia tu servidor de origen return fetch(request); } };

Nota de Seguridad: Siempre almacena tu PROXYTRACER_API_KEY como un Secreto cifrado en el panel de Cloudflare Workers, nunca en texto plano.

Última actualización el