Cloudflare Workers
Interceptar tráfego na borda (edge) é a forma mais eficiente de utilizar o ProxyTracer. Ao implementar este middleware em um Cloudflare Worker, requisições maliciosas são descartadas no nível da CDN antes mesmo de consumirem recursos do seu servidor de origem.
A Implementação
Este trecho de código extrai o IP real do cliente utilizando os cabeçalhos nativos da Cloudflare, consulta a API do ProxyTracer e retorna um rigoroso 403 Forbidden caso um proxy seja detectado.
export default {
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
// 1. Extraia o IP real (a Cloudflare fornece isso nativamente)
const ip = request.headers.get("cf-connecting-ip");
// Liberar se nenhum IP for encontrado (ex.: desenvolvimento local)
if (!ip) {
return fetch(request);
}
try {
// 2. Consulte a API do 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. Encerre a conexão se um proxy/VPN for detectado
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: Se a API estiver inacessível, permita o tráfego para garantir a disponibilidade
console.error("ProxyTracer API Error:", error);
}
// 4. O tráfego legítimo prossegue para o servidor de origem
return fetch(request);
}
};Nota de Segurança: Sempre armazene sua chave PROXYTRACER_API_KEY como um Secret criptografado no painel do Cloudflare Workers, nunca em texto puro.
Última atualização