Skip to Content

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, а не в открытом виде.

Последнее обновление: