Cloudflare Workers
Перехват трафика на Edge — наиболее эффективный способ использования ProxyTracer. Внедряя этот middleware в Cloudflare Worker, вы отбрасываете вредоносные запросы на уровне CDN до того, как они начнут потреблять ресурсы вашего origin-сервера.
Реализация
Этот фрагмент кода извлекает реальный IP-адрес клиента с помощью нативных заголовков Cloudflare, делает запрос к API ProxyTracer и возвращает строгий ответ 403 Forbidden при обнаружении прокси.
export default {
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
// 1. Извлечь реальный IP (Cloudflare предоставляет его нативно)
const ip = request.headers.get("cf-connecting-ip");
// Пропустить, если IP-адрес не найден (например, при локальной разработке)
if (!ip) {
return fetch(request);
}
try {
// 2. Выполнить запрос к API 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. Сбросить соединение, если обнаружен прокси/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: если API недоступен, разрешить трафик для обеспечения непрерывной работы
console.error("ProxyTracer API Error:", error);
}
// 4. Чистый трафик направляется на ваш origin-сервер
return fetch(request);
}
};Заметка по безопасности: Всегда сохраняйте ваш PROXYTRACER_API_KEY как зашифрованный секрет (Secret) в панели управления Cloudflare Worker, а не в открытом виде.
Последнее обновление: