Skip to Content
DocumentationCalcul EdgeCloudflare Workers

Cloudflare Workers

L'interception du trafic à l'Edge constitue la méthode la plus efficace pour exploiter ProxyTracer. En intégrant ce middleware au sein d'un Cloudflare Worker, les requêtes malveillantes sont rejetées directement au niveau du CDN avant d'exploiter les ressources de votre serveur d'origine.

L'Implémentation

Ce code extrait la véritable adresse IP du client en utilisant les en-têtes natifs de Cloudflare, interroge l'API ProxyTracer et renvoie un strict 403 Forbidden si un proxy est détecté.

export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { // 1. Extraire l'IP réelle (Cloudflare la fournit nativement) const ip = request.headers.get("cf-connecting-ip"); // Laisser passer si aucune IP n'est trouvée (ex. développement local) if (!ip) { return fetch(request); } try { // 2. Interroger l'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. Interrompre la connexion si un proxy/VPN est détecté 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 l'API est inaccessible, autoriser le trafic pour garantir la disponibilité console.error("ProxyTracer API Error:", error); } // 4. Le trafic sain continue vers votre serveur d'origine return fetch(request); } };

Note de Sécurité : Stockez systématiquement votre PROXYTRACER_API_KEY sous forme de Secret chiffré dans le tableau de bord Cloudflare Worker, jamais en texte clair.

Dernière mise à jour le