Cloudflare Workers
Das Abfangen von Datenverkehr am Edge ist der effizienteste Weg, ProxyTracer zu nutzen. Durch die Implementierung dieser Middleware in einem Cloudflare Worker werden schädliche Anfragen direkt auf CDN-Ebene abgewiesen, bevor sie Serverressourcen verbrauchen.
Die Implementierung
Dieses Snippet extrahiert die tatsächliche Client-IP über native Cloudflare-Header, fragt die ProxyTracer-API ab und gibt bei Erkennung eines Proxys sofort 403 Forbidden zurück.
export default {
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
// 1. Echte IP extrahieren (Cloudflare stellt dies nativ bereit)
const ip = request.headers.get("cf-connecting-ip");
// Durchleiten, wenn keine IP gefunden wird (z. B. lokale Entwicklung)
if (!ip) {
return fetch(request);
}
try {
// 2. Die ProxyTracer-API abfragen
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. Verbindung trennen, falls ein Proxy/VPN erkannt wird
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: Wenn die API nicht erreichbar ist, Traffic erlauben, um die Verfügbarkeit sicherzustellen
console.error("ProxyTracer API Error:", error);
}
// 4. Bereinigter Traffic wird an Ihren Origin-Server weitergeleitet
return fetch(request);
}
};Sicherheitshinweis: Speichern Sie Ihren PROXYTRACER_API_KEY immer als verschlüsseltes Secret im Cloudflare Worker-Dashboard und niemals als Klartext.
Zuletzt aktualisiert am